среда, 10 октября 2012 г.

Исследование устройств класса TrustScreen


Введение


Рост краж средств с расчетных счетов клиентов банков при использовании систем дистанционного банковского обслуживания (ДБО) увеличивает нагрузку на клиентскую службу, службу информационной безопасности и негативно сказывается на имидже банков.
Основной проблемой безопасности клиента систем ДБО является организационная и техническая сложность создания доверенной среды для осуществления операций со счетом. Следствием этого является возможность совершения мошеннических действий на компьютере клиента с помощью шпионского ПО. Злоумышленник, при помощи специализированного ПО, получает удаленный контроль над средой, в которой выполняется приложение клиент-банка. Специализированное ПО обеспечивает злоумышленнику полный доступ к файловой системе и оперативной памяти компьютера «жертвы»,  позволяет осуществлять контроль портов ввода-вывода и отслеживать сетевой обмен. При этом злоумышленник не имеет физического доступа к пользователю и его рабочему месту. Используя перечисленные возможности, злоумышленник может совершать следующие атаки на систему безопасности клиента ДБО:

1.Хищение ключей электронной подписи с использованием шпионского ПО:
Кража ключей хранящихся в виде файлов на флешках, дисках, дискетах, на жестком диске и т. д.
Кража ключей из оперативной памяти, в случае использования клиентом средства защищенного хранения ключей – токенов с извлекаемыми ключами.
2.Несанкционированный доступ к криптографическим возможностям токена/смарт-карты с неизвлекаемыми ключами с использованием шпионского ПО:
Атака при помощи средств удаленного управления компьютером клиента.
Атака с использованием удаленного подключения к USB-порту (USB-over-IP).
3.Подмена документа при передаче его на подпись в токен  с неизвлекаемыми ключами. Атака возможна с использованием шпионского ПО и/или за счет ошибок реализации ПО клиент-банка.  Пользователь видит на экране монитора одну информацию, а на подпись отправляется другая.

Использование в системе ДБО токена с неизвлекаемыми ключами (доверенная среда для формирования подписи) позволяет эффективно бороться с хищением ключей электронной подписи обозначенным в п.1.
Доверенная среда, формируемая с помощью модулей доверенной загрузки или с помощью загрузки «чистой» операционной системы с доверенного носителя,  может использоваться для защиты от угроз, обозначенных в п. 1 и п.2. Гарантировать защиту от угрозы по п.3 таким способом невозможно, поскольку часть атак на подмену платежной информации  реализуется  за счет ошибок в системах клиент-банка. Например, используя ошибки, приводящие к возможности выполнения крос-сайт-скриптинга (XSS) на web-серверах банков. При таком способе атаки, даже доверенная операционная система, запущенная на рабочем месте оператора, не может гарантировать безопасности при совершении платежа. Кроме того, загрузка с доверенного носителя накладывает ряд неудобств, на использование клиент-банка  в связке с системами автоматизированного управления предприятиями. 
 Для обеспечения защиты от всех перечисленных угроз необходимо обеспечить доверенную среду для выполнения всех ниже перечисленных операций:
· Аутентификация пользователя;
· Визуальный контроль подписываемого документа;
· Подтверждение пользователем запроса на подпись;
· Аппаратное формирование кода подтверждения (подписи) с помощью не извлекаемых ключей.  

В силу того, что обеспечить безопасность платежей чисто программными способами не представляется возможным, ряд разработчиков средств защиты предлагают вывести эти критически важные операции на внешнее доверенное устройство. При использовании таких устройств в системе ДБО, безопасность платежей основывается не на защите ПО клиент-банка, среды выполнения или коммуникаций, а на невозможности модификации данных, отображаемых на экране внешнего устройства, и невозможности выполнения операции подписи без участия законного пользователя системы. Этот класс устройств имеет неофициальное название TrustScreen.
Устройства TrustScreen оснащаются экраном для отображения платежной информации, имеют интерфейс для взаимодействия с пользователем, обладают собственными криптографическими возможностями или используют внешний криптографический модуль (смарт-карта или usb-токен). Для взаимодействия с компьютером могут использоваться различные интерфейсы. Стандартный сценарий использования TrustScreen выглядит следующим образом:
· Клиент ДБО формирует платежное поручение стандартными средствами.
· Платежка в специальном формате отправляется на подпись в доверенное устройство.
· Пользователь производит визуальную проверку платежной информации на дисплее доверенного устройства.
· В случае, если информация корректна, пользователь подтверждает операцию подписи.
· Доверенное устройство собственными средствами или с помощью внешнего криптографического модуля вычисляется хэш данных и вычисляет подпись.
· Подпись возвращается в клиентское ПО и вместе с «платежкой» отправляется в банк.

Исследование


Мною было произведено исследование трех устройств,  присутствующих на российском рынке:
· Биометрическая идентификационная AGSES-карта;
· Считыватель смарт-карт SafeTouch;
· Устройство Рутокен PINPad.

Биометрическая идентификационная AGSES-карта


Производство компании AGSES International General Agency GmbH. http://www.agses.net

Согласно информации, предоставляемой производителем, биометрическая идентификационная AGSES-карта предназначена для обеспечения строгой аутентификации и подтверждения операций в различных информационных системах. Ключевыми особенностями устройства являются возможность биометрической идентификации владельца карты и оптический интерфейс, который представляет собой канал односторонней связи между вычислительной системой и AGSES-картой. Устройство питается от встроенного аккумулятора, зарядка аккумулятора производится через microUSB разъем.

PIC1

Устройство имеет набор внешних элементов:
кнопка включения;
сканер отпечатка пальца для ввода биометрических данных пользователя и ПИН-кода;
дисплей для отображения информации;
разъем microUSB для зарядки;
набор оптических датчиков для считывания информации с экрана.


В системы аутентификации на AGSES-картах возможно использование публичных серверов аутентификации компании AGSES или использование собственных серверов аутентификации, приобретаемых у производителя. 
В процессе работы устройство использует следующие криптографические алгоритмы – AES256, SHA-1, HMAC. Подробного описание протоколов аутентификации и протоколов взаимодействия с сервером не представлено.

В результате анализа устройства и его механизмов работы отмечен ряд достоинств и недостатков решения:

Канал между сервером и картой.

Оригинальный механизм обмена информацией сервера с картой полностью  нивелирует угрозу, связанную с несанкционированным доступом к криптографическим возможностям устройства, так как для работы с устройством пользователь должен лично поднести его к экрану компьютера.

PIC2

Однако шифрование канала между сервером и картой не гарантирует, что в устройство невозможно передать подложные данные, так как сервер получает данные в открытом виде из интерфейса пользователя, который может находиться под контролем злоумышленника. То есть шифрование канала не является значимым в рамках данной модели нарушителя.
Несомненным достоинством решения является полная независимость от платформы пользователя, AGSES-карта работает с устройствами любых производителей, имеющими размер дисплея не менее 7,5 см.
Однако стоит отметить, что односторонний канал сильно ухудшает юзабилити устройства, для подтверждения каждой операции вручную приходится набирать код подтверждения на клавиатуре компьютера.

Протокол аутентификации

Производитель не представил подробного описания протокола аутентификации и подтверждения транзакции. Исходя из того, что устройство использует симметричные алгоритмы, сервер должен хранить секретный код устройства. Такое подход имеет более низкий уровень безопасности по сравнению с использованием ассиметричных алгоритмов, так как существует теоретическая возможность утечки базы данных кодов устройств на стороне сервера.   
Так же стоит отметить, что подтверждение транзакции с помощью AGSES-карты не является юридически значимым.

Выпускается две версии устройств:
1. Стандарт.  Возможность использования сервисов MyAgses и других публичных серверов аутентификации. Ориентировочная стоимость устройства  5500 руб.
2. Limited Edition. Использование только собственных серверов аутентификации. Банк должен приобрести у компании Agses сервер аутентификации. Ориентировочная стоимость устройства  2500 руб. То есть при небольшом количестве устройств стоимость устройств может значительно возрасти за счет включенной в них стоимости сервера аутентификации.

Считыватель смарт-карт SafeTouch

        
Производство компании SafeTech. http://safe-tech.ru

На сайте производителя отмечается, что считыватель смарт-карт  SafeTouch применяется в качестве замены обычному считывателю смарт-карт, или, в сочетании со смарт-картой, реализующей криптографические алгоритмы, в качестве замены токену. Криптографические алгоритмы реализуются средствами смарт-карты. Считыватель SafeTouch не производит никаких преобразований с данными, что позволяет использовать его в качестве интерфейсного устройства с функциями отображения данных.
        
PIC3

Устройство SafeTouch оснащено разъемом для стандартной смарт-карты, четырехстрочным монохромным дисплеем и двумя кнопками управления. Устройство подключается к компьютеру посредством miniUSB разъема. Для функционирования устройство необходимо наличие CCID драйвера, штатно присутствующего в системах Windows XP sp3 и старше.
         Устройство не обладает собственными криптографическими возможностями, выполняя только задачи по отображению данных и запроса подтверждения подписи этих данных.  Подпись осуществляется аппаратно на устанавливаемой в SafeTouch смарт-карте.         Устройство SafeTouch поддерживает возможность формирования подписи на смарт-карте  по алгоритму ГОСТ Р 34.10-2001.
Канал взаимодействия между SafeTouch и рабочей станцией не имеет дополнительных механизмов защиты. Данные, включая PIN-код,  передаются в открытом виде, однако это не является угрозой безопасности в данной модели нарушителя, так как защита от подмены в устройствах TrustScreen основывается на визуальном контроле информации.
Особенностью работы устройства является режим «подписи непроверенных данных». В данном режиме устройство может подписать хэш от неизвестных данных, после подтверждения этой операции пользователем. То есть, если в системе пользователь время от времени подписывает документы в режиме «непроверенных данных», то нет никакой гарантии, что вместо легитимного документа не будет подписано платежное поручение. Так же режим «подписи непроверенных данных» оставляет больший маневр злоумышленнику при использовании методов социальной инженерии.
Спорным также является использование отторгаемого носителя. Пользователь, устав постоянно подтверждать платежи кнопкой на устройстве SafeTouch, может подключить смарт-карту к компьютеру через обычный картридер и подписывать все платежи не глядя.
Нарекание вызывает низкое разрешение экрана устройства. Устройство отображает только четыре строки платежного поручения, как показывать большее количество полей неясно. Кроме того, каждое строка может иметь ограниченное количество символов, превышение которого  приводит к эффекту «бегущей строки», что, в свою очередь, вызывает неудобство при проверке информации пользователем.

Ориентировочная стоимость устройства 1600 руб. без носителя.

Устройство Рутокен PINPad


Производство компании Актив. http://pinpad.rutoken.ru

Устройство Рутокен PINPad является характерным представителем устройств класса TrustScreen. Устройство оснащено сенсорным дисплеем для контроля информации и управления операцией подписи. PINPad имеет разъем miniUSB для подключения устройства к компьютеру. Для работы устройства требуется CCID драйвер, штатно присутствующей в ОС Windows XP sp3 и выше.

PIC4

         Компания Актив выпускает два типа устройств – PINPad IN и PINPad ЕХ. По заявлению производителя, устройства обладают следующей функциональностью:

· Просмотр документа перед подписью на сенсорном экране устройства (в доверенной среде) с возможностью пролистывания больших документов.
· Ввод PIN-кода  на сенсорном экране устройства (ввода PIN-кода в доверенной среде)
· В устройстве Рутокен PINPad IN аппаратно реализованы российские криптографические алгоритмы (электронная подпись по ГОСТ Р 34-10.2001, вычисление хэш-функции по ГОСТ Р 34-11.94, шифрование по ГОСТ 28147-89,) что позволяет подписывать документы “на борту” Рутокен PINPad.
· Рутокен PINPad EX содержит USB-разъем, через который можно подключить USB-токен Рутокен ЭЦП и использовать его для электронной подписи (Рутокен ЭЦП сертифицирован в ФСБ по классу КС2).
· Кеширование PIN-кода внутри Рутокен PINPad для удобства пользователей. Код вводится один раз при аутентификации, далее при подписи серии платежных документов не нужно вводить его повторно. Пользователь просматривает каждый из документов и нажимает кнопку «Подписать».

Как и устройство SafeTouch, PINPad не имеет защиты канала взаимодействия с компьютером. Отличительной особенностью Рутокен PINPad Ext возможность доверенного набора PIN кода к Рутокен ЭЦП на экране устройства, что является дополнительной степенью безопасности. Также, в отличие от устройства SafeTouch, PINPad не позволяет формировать подпись «непроверенных данных».
Рутокен PINPad IN позиционируется компанией Актив как средство подтверждения платежа. То есть, формируемая на «борту» устройства подпись является «технологической» в дополнение к подписи формируемой «штатной» криптографией, используемой в системе клиент-банк. Такой подход позволит создавать разработчикам систем ДБО гибкие схемы работы с подписью при массовых платежах, когда все платежки подписываются юридически значимой подписью, а подтверждение с доверенным просмотром требуется только для «рискованных» платежей.
Оба устройства компании Актив обладают четким цветным дисплеем, что облегчает возможность контроля подписываемой информации.

Ориентировочная стоимость устройства 3000 руб.

Заключение

   Атаки на программные библиотеки, поставляемые вместе с устройствами, показали возможность контроля и модификации предаваемых в устройство данных. Контроль и модификация передаваемых в устройство данных также возможна на уровне приложений или USB интерфейса. В настоящий момент, именно такими атаками, известные банковские трояны подменяют данные, отправляемые на подпись. Также трояны, без ведома пользователя, могут использовать установленный в USB порт криптографический токен. Результаты тестов были показаны на конференциях. Борьба с такими атаками путем визуального контроля и подтверждения платежа является основным функциональным назначением данных устройств. То есть при подмене данный на программном уровне, тестируемые устройства отображали подмененные данные, обнаружив подмену, пользователь мог отказаться от проведения платежа. Проведение мошеннической операции возможно только при невнимательности пользователя. Осуществить подпись платежного поручения без непосредственного участия пользователя не удается, также не удается отобразить одни данные, а получить на выходе подпись других. Моделирование различных атак на аппаратную составляющую решений, также не принесли результата.
 

1 комментарий:

  1. Денис Калемберг1 ноября 2012 г. в 12:57

    Евгений, приветствую!
    Пара комментариев от производителя (SafeTech):
    1. Устройство SafeTouch выпускается в двух версиях, обычной и STRONG (которая рекомендуется для использования в системах ДБО). Усиленная версия не дает возможности подписи непроверенных данных.
    2. Стандартные проверяемые реквизиты платежки легко укладываются в экран SafeTouch, прокрутка обычно не нужна и сделана "на всякий случай".
    3. При встраивании SafeTouch в систему ДБО мы даем возможность производителю контролировать, какой ридер используется для подписи документа. Если проверка реализована, то клиент не сможет использовать другое устройство. Именно так сделано, например, в системе ДБО BSS.

    По устройству PINPad: имело бы смысл провести анализ трудозатрат банка по внедрению и сопровождении второй ключевой схемы, которая потребуется для подтверждения рискованных платежек "технологической" подписью.

    ОтветитьУдалить