06.11.2013

Безопасная работа с системами ДБО из недоверенной среды

"Аналитический банковский журнал", № 11, ноябрь, 2013
Статья Николая Афанасьева, менеджера по развитию продукта компании "Аладдин Р.Д."

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

Недоверенная среда

Под недоверенной средой подразумевается компьютер пользователя, на котором может находиться вредоносное ПО и который может находиться под управлением удалённого злоумышленника.

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

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

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

Основные векторы атак на электронную подпись (ЭП) в недоверенной среде

Основными векторами атак на ЭП со стороны вредоносного ПО и удалённого злоумышленника в системах ДБО являются:

  • хищение ключевой информации;
  • перехват управления;
  • подмена подписываемых на ключах легального пользователя платёжных поручений.

Хищение ключевой информации

Программные реализации ЭП (например, с помощью программных криптопровайдеров) уязвимы в недоверенной среде, так как вредоносное ПО может перехватить ключ ЭП в оперативной памяти ПК. А зная ключ ЭП, киберпреступник сможет создавать любые платёжные поручения и подписывать их от лица легального клиента банка, совершая кражу денежных средств со счёта клиента.

Угроза подмены платёжных поручений

Вредоносное ПО может попытаться подменить документ, подписываемый на токене. Пользователь на экране ПК будет видеть один документ (думая, что подписывает его), а вредоносное ПО в момент отправки документа для подписания на токен может подменить его на клиентском ПК. Пользователь об этом даже не узнает, отправив поддельное платёжное поручение, подписанное его электронной подписью, серверу на исполнение.

Угроза перехвата управления криптографической подсистемой токена

Вредоносное ПО может перехватить PIN-код токена при его вводе пользователем на клавиатуре ПК. В свою очередь, киберпреступник может получить удалённое управление над ПК пользователя (в том числе, частичное управление путём проброса USB-порта, к которому подключён токен). Зная PIN-код, вредоносное ПО или такой удалённый злоумышленник могут перехватить управление криптографической подсистемой токена и подписывать с помощью него поддельные платёжные поручения на ключах легального пользователя.

Как обеспечить безопасную работ у пользователя с ЭП в недоверенной среде

Для надёжной защиты ключевой информации ЭП лучше всего использовать USB-токены или смарт-карты (далее токены), на которых ЭП реализована аппаратно с неизвлекаемым ключом. В отличие от программных средств формирования ЭП такая реализация не требует использования ключа ЭП в оперативной памяти ПК, где он может быть перехвачен вредоносным ПО. Ключ ЭП безопасно формируется внутри токена и никогда его не покидает, что позволяет обеспечить надёжную защиту от кражи ключевой информации при работе пользователя в недоверенной среде.

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

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

При использовании обычных устройств визуализации сохраняется также угроза подделки самих устройств. Так, злоумышленник в момент отсутствия пользователя возле ПК может подменить устройство визуализации, снабдив его начинку специальной закладкой. Далее такое поддельное устройство (внешне неотличимое от настоящего) будет работать по заложенному киберпреступником алгоритму – отображать правильные данные, а подписывать поддельные. Если целью киберпреступника будет кража большой суммы средств со счёта жертвы, то затраты на создание поддельного устройства вполне оправданы.

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

Немаловажным является и тот факт, что устройства визуализации подписываемых данных могут быть подвергнуты атакам типа "отказ в обслуживании" для того, чтобы вынудить пользователя вставить USB-токен напрямую в USB-порт ПК или смарт-карту в обычный смарт-карт ридер. После того, как пользователь это сделает, вредоносное ПО или удалённый злоумышленник потенциально могут подменить подписываемый документ или самостоятельно сформировать и подписать на ключе легального пользователя поддельный, перехватив управление криптографической подсистемой USBтокена или смарт-карты. Сервер же не сможет определить, был ли документ подписан с использованием безопасного устройства визуализации или нет, и поддельное платёжное поручение будет отправлено на исполнение.

"Антифрод-терминал"

Проанализировав рассмотренные недостатки обычных устройств визуализации, компания "Аладдин Р.Д." совместно с Vasco разработали инновационное решение для безопасной работы с ЭП в недоверенной среде – "Антифрод-терминал".

Решение основывается на понимании того, что невозможно обеспечить на 100% защиту от перехвата управления и подмены платёжных поручений в недоверенной среде на ПК пользователя при условии применения только устройств визуализации.

Поэтому предлагаемое решение представляет собой не просто устройство визуализации, а состоит из совокупности взаимодополняющих технологий, позволяющих при их одновременном использовании обеспечить реальную безопасность работы с электронной подписью в недоверенной среде. Решение включает в себя следующие технологии: аппаратно реализованная ЭП с неизвлекаемым ключом; визуализация и подтверждение подписываемых данных на доверенном "Антифрод-терминале"; технология SWYX (Sign What You eXecuted), реализуемая "Антифродтерминалом" на клиентском ПК; аутентификация "Антифрод-терминала" на сервере ДБО; проверка сервером ДБО действительности намерений пользователя подписать присланный на исполнение документ; безопасный ввод PIN-кода и защита от перехвата управления.

Аппаратно реализованная ЭП с неизвлекаемым закрытым ключом

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

Визуализация и подтверждение подписываемых данных

Терминал позволяет отображать на своём экране содержимое подписываемых документов перед их подписанием. Пользователю предлагается подтвердить на клавиатуре терминала своё намерение подписать документ с отображённым на экране терминала содержимым. Если при этом отображаемые данные не вмещаются на экран терминала, предоставляется возможность прокрутки этих данных. В этом случае терминал не позволит пользователю подтвердить своё намерение подписать документ, пока пользователь не прокрутит его до конца.

Технология SWYX (Sign What You eXecuted)

Для решения задачи защиты от подмены платёжных поручений в системах ДБО компания "Аладдин Р.Д." совместно с Vasco реализовала в "Антифрод-терминале" инновационную технологию SWYX, которая в дословном переводе означает "подписываю то, что выполняю".

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

При этом в терминал был интегрирован криптографический чип, с помощью которого формируемый журнал операций подписывается электронной подписью по ГОСТ Р 34.10-2001.

Аутентификация "Антифрод-терминала" на сервере ДБО

Перед выдачей конечным пользователям каждый терминал персонализируется – на встроенном в терминал криптографическом чипе генерируется ключевая пара. Банк регистрирует в системе ДБО каждый терминал и привязывает его к конкретному пользователю по открытому ключу сгенерированной ключевой пары.

При получении на обработку платёжного поручения (или любого другого подписанного документа) и журнала операций сервер ДБО проверяет подпись журнала, аутентифицируя тем самым сам терминал и убеждаясь, что операция подписания и подтверждения подписываемых данных осуществлялась именно на зарегистрированном терминале.

Проверка сервером ДБО действительности намерений пользователя подписать присланный документ

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

При такой реализации сервер ДБО гарантированно обнаружит подмену подписываемого документа (если она была) и при обнаружении такой подмены откажет в принятии такого документа на исполнение.

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

Безопасный ввод PIN-кода и защита от перехвата управления

Терминал позволяет вводить PIN-код на своей клавиатуре (в доверенной среде). Такая реализация избавляет пользователей системы ДБО от необходимости ввода PIN-кода на клавиатуре ПК, где он может быть легко перехвачен вредоносным ПО.

Терминал блокирует попытки ввода PIN-кода из приложения, разрешая его ввод только с клавиатуры терминала и защищая тем самым смарткарту от попыток со стороны вредоносного ПО или злоумышленника, получившего удалённое управление над ПК пользователя, перехватить управление смарт-картой.

Дополнительные преимущества "Антифрод-терминала"

Возможность разбора конфликтных ситуаций

Формируемый терминалом журнал операций является удобным инструментом для разбора конфликтных ситуаций и расследования возможных инцидентов.

Журнал не хранится в самом терминале, а возвращается приложению после каждого защищённого режима работы пользователя со смарткартой.

Сохранённый на сервере журнал позволит в случае разбора конфликтной ситуации впоследствии гарантированно проверить, что пользователь системы ДБО действительно подтвердил свое намерение подписать документ, содержимое которого было отображено на экране "Антифродтерминала".

Возможность безопасного подписания документов с произвольной структурой (а не только платёжных поручений)

Терминал способен отображать на своём экране любые текстовые данные, не ограничивая разработчиков систем ДБО привязкой к строго определённым тегам платёжных поручений. Это позволяет использовать возможности терминала при подписании любых других документов – договоров, соглашений.

Безопасное формирование "белых списков" получателей платежей

Системы ДБО часто используют "белые списки" получателей платежей на серверной стороне. В белые списки, как правило, заносятся те получатели, которым клиент априори доверяет (либо это могут быть получатели бюджетных платежей).

Уязвимым звеном работы с "белыми списками" является момент создания самого "белого списка". Ведь прежде чем пользователь системы ДБО предоставит "белый список" банку, пользователь должен его либо распечатать, либо сохранить на съемном носителе для передачи в банк, либо отправить в банк по электронной почте и т.д. Во всех указанных способах "белый список" может быть модифицирован вредоносным ПО. При печати – непосредственно перед отправкой на печать (пользователь после распечатывания может невнимательно все проверить на бумажном варианте, будучи уверенным, что там всё так же, как и было в электронном виде). При сохранении на съемном носителе или отправке по электронной почте "белый список" также может быть модифицирован вредоносным ПО на ПК пользователя перед операцией сохранения или отправки.

Таким образом, возникает необходимость в безопасном формировании и передаче "белого списка" в банк.

"Антифрод-терминал" позволяет реализовать безопасное формирование "белого списка" и его безопасную передачу в банк. Это реализуется путём отображения "белого списка" на экране "Антифрод-терминала" и подтверждения пользователем своего согласия с отображённым списком. Далее "белый список" подписывается ЭП пользователя и отправляется в банк вместе с подписанным журналом операций терминала. По журналу операций банк проверяет, что подписанный пользователем "белый список" действительно был отображен на экране терминала и подтвержден пользователем на клавиатуре терминала.

Пакетная обработка платёжных поручений

Использование "Антифрод-терминала", а также заранее сформированного "белого списка" и/или серверной антифрод-системы банка позволяет системе ДБО реализовывать гибкие схемы подтверждения групповых операций подписания платёжных поручений. Так, система ДБО может требовать от пользователя подтверждать на экране терминала каждое платёжное поручение из сформированной группы, а может запрашивать дополнительное подтверждение только тех платёжных поручений, которые не вошли в "белый список" или которые показались подозрительными серверной антифродсистеме банка. То есть пользователь сначала может подписать группу платёжных поручений и отправить в банк. Система ДБО, в свою очередь, определит платежи, требующие дополнительного подтверждения и запросит у пользователя подтвердить свое согласие на подписание таких платёжных поручений на "Антифрод-терминале".

Такая реализация является удобной для пользователей, так как избавляет от необходимости подтверждения всех платёжных поручений. Более того, такая реализация позволяет банку снизить затраты на содержание сотрудников, контролирующих подозрительные платежи. Система ДБО сможет автоматически запросить у клиента подтверждение подозрительного платежа на безопасном "Антифрод-терминале" без необходимости звонить клиенту и уточнять его намерения.

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