Exploit.SWF.Agent.br Pdfka.asd Pidief.cvl TDSS TDSS removal binary planting bios infection blind sqli bootkit bootkit remover browser exploitation com hijacking disassembling dll hijacking drive-by downloads hack online banks heap-spray hijack botnet ibank kernel protection kernel-mode rootkit keylogger malware analysis rootkit detection trojan virus removal


Атаки на банковские системы

О схемах атаки на системы электронной коммерции и универсальном российском трояне-банкере Ibank.

Алиса Шевченко
руководитель, Esage Lab
alisa@esagelab.com / @alisaesage

Троян-банкер — троянская программа, предназначенная для осуществления финансовых махинаций с системами электронной коммерции.

Вредоносные программы, нацеленные на махинации с системами онлайн-банкинга — так называемые «банкеры» — известны с давних времён. В 2004 году основную массу троянов-банкеров составляли примитивные вредоносные программы, разработанные в средах Visual Basic и Delphi. Они достигали своих целей путём перехвата нажатий клавиш при вводе данных авторизации в контексте веб-браузера, открытого на странице интернет-банка, или (чаще) в контексте всей операционной системы. Существенная часть троянов-банкеров тех времен была нацелена на пользователей бразильских банков — по видимости, вследствие массового внедрения электронной коммерции в контексте развивающейся экономики.

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

Эта мировая тенденция имеет своё отражение и в контексте современной России. Пример с бразильскими троянами-банкерами, приведённый в первом абзаце, вполне соответствует нашей ситуации — с той лишь разницей, что русские разработчики вредоносных программ в целом более изобретательны и профессиональны относительно мирового уровня, и «поделками» на Visual Basic дело в данном случае не ограничивается.

Система ДБО, онлайн-банкинг, банк-клиент — средства дистанционного банковского обслуживания.

За последние 1–2 года распространённость различных систем электронной коммерции в России достигла критической массы, начав привлекать внимание организованной преступности. Если пару лет назад большинство троянов-банкеров, в том числе и разработанных в России, были «заточены» под интернет-системы зарубежных банков, то теперь всё чаще производятся атаки и на российские системы электронных платежей (Webmoney, Yandex.Money), системы собственной разработки отдельных банков, а также универсальные платформы для систем ДБО (Inter-PRO Client, BS-Client, iBank и других). Тенденция появления эффективных схем атаки на универсальные платформы ДБО заслуживает особого внимания, так как она ставит под угрозу практически все российские банки и коммерческие организации.

Цель данной статьи — осветить современные тенденции в области атак на системы электронной коммерции. В первой части статьи приводится обзор технологий и схем атаки. Во второй части описаны результаты анализа шпионской программы Ibank, обеспечивающей атаку на целый ряд популярных систем ДБО российского производства.

Обзор методов атаки

Технологии

СКЗИ — средство криптографической защиты информации.

Большинство современных систем электронных платежей реализованы на основе технологии «тонкого клиента». Пользователь работает с онлайн-банкингом, как с обычным веб-сайтом, а аутентификация пользователя и шифрование трафика обеспечивается с помощью отдельного приложения. В роли этого приложения может выступать одна из доступных на рынке платформ ДБО, таких как BS-Client (BSS) или Inter-PRO (Сигнал-КОМ), либо система собственной разработки банка. Платформа ДБО, в свою очередь, опирается на систему криптопровайдера с государственной аккредитацией (СКЗИ), такую как «Агава» или «Бикрипт», для обеспечения шифрования по алгоритмам ГОСТ.

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

Рассмотрим различные методы защиты, используемые в системах электронной коммерции, их уязвимости и соответствующие методы атаки.

Логин, пароль, ключевые файлы

Вход в интернет-систему банка с использованием логина, пароля и секретного ключа является классической реализацией двухфакторной аутентификации. Это наиболее уязвимая схема защиты. Несмотря на то, что универсальные платформы для систем ДБО позволяют подключать дополнительные средства защиты, такие как аппаратные ключи — защита с использованием логина, пароля и сертификата остаётся «вариантом по умолчанию», и именно он используется в большинстве реализаций онлайн-банкинга.

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

Захват файлов ключей может быть реализован с помощью следующих техник:

Файлы ключей в большинстве систем не защищены от копирования, если только речь не идет об аппаратных средствах защиты, таких как eToken PRO. При экспорте сертификатов из хранилища браузера троян может при необходимости подбирать пароль на экспорт, установленный пользователем.

Захват логина и пароля может быть реализован следующими способами:

Для отсева лишней информации шпионская программа может осуществлять поиск таких объектов, как заголовки окон интернет-банка, названия полей ввода, элементы URL и т.п. Идентификация ключевых файлов может осуществляться по имени, части пути или по сигнатуре — например, ключевые файлы универсальной системы ДБО iBank идентифицируются троянами по сигнатуре iBKS в момент обращения к ним пользователя.

Аппаратные ключи

Аппаратный ключ или «токен» — персональное электронное устройство, участвующее в процессах защиты информации пользователя (таких как аутентификация и шифрование данных).

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

Рассмотрим более подробно техники атаки на два наиболее популярных класса аппаратных ключей: «токены», реализующие генерацию одноразовых паролей (на примере eToken PASS) и аппаратные ключи, реализующие хранение секретных ключей и аппаратные криптовычисления (на примере eToken PRO).

Аппаратный ключ eToken PASS представляет собой брелок, реализующий выдачу одноразового пароля по запросу пользователя. Полученный пароль может использоваться для дополнительной защиты авторизации и/или отдельных действий пользователя. Верификация пароля осуществляется на стороне сервера.

Для обхода этой схемы защиты, помимо вышеописанного метода «подмены данных транзакции», возможен также вариант перехвата одноразового пароля. В частности, после ввода пользователем сеансового пароля троянская программа отображает сообщение об ошибке или блокирует действия пользователя, тем временем инициируя злонамеренную транзакцию с использованием захваченного пароля.

Аппаратный ключ eToken PRO обеспечивает защищённое хранение секретного ключа пользователя, а при необходимости и выполнение криптографических вычислений на микросхеме устройства. В данном случае получение секретного ключа затруднено — таким образом, атакующий не может получить все необходимые данные для удалённого доступа к системе банка.

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

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

Одноразовые пароли

Усиление защиты с помощью одноразовых паролей — иногда называемых сеансовыми ключами или переменными кодами — несколько усложняет атаку.

В предыдущем разделе описан один из вариантов реализации этой защиты — с использованием генератора одноразовых паролей eToken PASS. Второй вариант, более популярный в силу его дешевизны, заключается в предоставлении пользователю массива одноразовых паролей — например, в виде пластиковой карты с заштрихованными кодами. Такой метод дополнительной защиты используется в системе «Телебанк» ВТБ24.

Стандартная техника атаки в данном случае идентична атаке на eToken PRO: троян перехватывает очередной переменный код, введённый пользователем, отображает сообщение об ошибке и использует полученный код для проведения нелегальной транзакции.

SSL и шифрование

Шифрование данных, независимо от методов его реализации, нисколько не защищает от класса атак, которому посвящена данная статья. Как бы ни было реализовано шифрование, всегда есть момент, когда данные открыты — в этот момент их можно перехватить и модифицировать.

Чтение и модификация открытых данных SSL-трафика могут производиться при помощи перехвата стандартных функций библиотеки Wininet для браузера Internet Explorer, функций PR_Read/PR_Write библиотеки nspr4.dll для браузера Mozilla, и неэкспортируемой функции из библиотеки opera.dll для браузера Opera.

Проверка IP-адреса клиента

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

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

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

Мишени

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

Наиболее популярными мишенями для финансового мошенничества являются следующие социально-экономические классы:

ЭПС — электронная платёжная система, например, Webmoney, Yandex.Money, Paypal.

Клиенты банков и пользователи ЭПС представляют собой наиболее лёгкую добычу, но и наименее популярную в силу их низкой платёжеспособности. Кроме того, отъём денег у основной массы населения интернета проще осуществить путём прямого вымогательства — что и делают при помощи троянов-вымогателей, таких как SMS-блокировщики рабочего стола и шифровальщики файлов. Тем не менее, в среде мелких киберворишек по-прежнему пользуются популярностью зарубежные пользователи интернет-банков, привлекательность которых обусловлена экономическим разрывом между странами жертвы и атакующего.

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

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

СДП — система денежных платежей, например, Western Union, Contact.

«Дроп» («money mule») — лицо, сознательно или вследствие обмана играющее роль посредника при обналичивании украденных денежных средств.

Отдельного упоминания заслуживают системы денежных платежей. В силу таких факторов, как масштабность партнёрской сети СДП, невозможность контроля за безопасностью пунктов сети со стороны центрального банка, простота финансовых операций, а также ряда других — этот класс «жертв» представляет повышенный интерес для атакующих. В ходе атаки на компьютере одного из партнёров системы формируется ложная транзакция, в результате проведения которой деньги выводятся наличными на руки «дропа», а финансовые потери несёт пункт выдачи перевода.

Схемы

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

1. Кража данных для входа в систему

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

Это самая простая схема атаки, однако она возможна только при низком (а в современных российских реалиях — «стандартном») уровне защиты целевой системы.

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

2. Атака изнутри компьютера «жертвы»

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

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

3. «Автозалив»

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

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

Пример атаки на систему дбо.

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

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

Анализ вредоносной программы Ibank

Троян Ibank представляет собой шпионскую программу массового распространения, предназначенную для реализации атак на российские системы электронной коммерции. Целевые системы включают в себя популярные универсальные платформы для построения систем ДБО, системы собственной разработки отдельных банков, электронную платёжную систему WebMoney и ряд СКЗИ.

Ibank примечателен по следующим причинам:

Но главная особенность данного трояна заключается в том, что он широко используется в качестве инструмента для целевых финансовых атак, часто в связке с трояном Zeus. При этом Ibank используется для первоначального получения информации о платёжных системах, а Zeus — в качестве универсального инструмента для управления заражённым компьютером, в том числе для обеспечения удалённого доступа к нему.

Общие сведения

Троян Ibank появился в 2006 году. Первоначально он использовался для нецелевых атак на пользователей интернет-банков, но позднее нашёл применение в качестве инструмента при проведении организованных атак. Весной 2010 года пресс-службой компании Dr. Web было отмечено широкое распространение данной вредоносной программы.

Ibank определяется разными антивирусами под следующими именами: Trojan.PWS.Ibank, Backdoor.Win32.Shiz, Trojan-Spy.Win32.Shiz, Backdoor.Rohimafo и другими.

Существует две разновидности данного трояна: основной модуль и его загрузчик. Распространение загрузчика происходит по классической «партнёрской» схеме, о чём свидетельствует поле seller первого HTTP-запроса, отправляемого успешно установленным загрузчиком на сервер для запроса файла конфигурации:

http://servername/knock.php?n=botID&s=seller-N

Загрузчик получает инсталлятор трояна по ссылке, указанной в файле конфигурации, и запускает его.

Инсталлятор трояна представляет собой зашифрованный файл размером около 100 кБ (MD5: 53aec556c00f34182a72ba8edfb8fca9). Код вредоносной программы реализован на языке C и выполняется в режиме пользователя. С технической точки зрения троян достаточно прост, однако особенности его реализации отражают высокий уровень осведомленности разработчика о внутренних механизмах различных систем ДБО.

Инсталляция и особенности функционирования

Ibank устанавливается в системную директорию (c:\windows\system32) в виде отдельного исполняемого модуля со случайным именем.

На этапе установки троян блокирует доступ к целому ряду IP-адресов путём задания для них заведомо неверных настроек маршрутизации. Для этого вызывается команда route, устанавливающая ложный шлюз для каждого заданного IP-адреса.

Команда настройки маршрутизации и часть списка IP-адресов в теле программы

Команда настройки маршрутизации и часть списка IP-адресов в теле программы

Автозагрузка трояна при старте Windows обеспечивается записью в ключ реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit.

Работающий троян не имеет собственного процесса. Его код внедряется в системный процесс (svchost.exe, services.exe и другие, в зависимости от версии трояна). Выполнение вредоносного кода в контексте доверенного системного процесса позволяет обходить фаерволы.

Троян не скрывает признаки своего присутствия в системе (файлы, отрытый порт, сетевые соединения) и не содержит функций самостоятельного распространения.

Помимо шпионской функциональности, Ibank оснащен следующими функциями:

Шпионская деятельность

После установки троян перехватывает ряд функций API (см. раздел «Механизм сбора данных») и ищет в проходящей через перехватчики информации появления определённых маркеров, сопутствующих обращению пользователя к той или иной системе электронной коммерции. Когда маркер найден, соответствующие данные (файлы ключей, логины и пароли) перехватываются и немедленно отсылаются на сервер, указанный в коде программы.

Обобщённо, с целью сбора конфиденциальных данных троянская программа осуществляет следующие действия:

  1. перехват нажатий клавиш в контексте браузера, отдельных процессов, отдельных окон и полей ввода;
  2. перехват трафика HTTPS в контексте браузеров;
  3. копирование ключевых файлов и сертификатов;
  4. экспорт сертификатов из браузеров, в том числе с подбором паролей;
  5. сбор данных непосредственно из HTTP-запроса к серверу системы;
  6. сохранение истории веб-запросов;
  7. сохранение удалённых и восстановленных файлов (.chk).

Механизм сбора данных

Локализация и сбор персональных данных пользователя обеспечивается установкой перехватов на следующие функции:

Название функции Назначение перехвата Целевые системы банкинга
CryptEncrypt Перехват секретных данных до шифрования BS-Client
send, WSASend Извлечение данных из HTTP-запроса к bsi.dll BS-Client
CreateFile Перехват файлов секретных ключей: self.cer, secrets.key, всех файлов из директории ctunnel.exe и других BS-Client, BS-Defender, Raiffeisen, Инист
GetFileAttributes Перехват файлов с сигнатурой iBKS (USB-ключ «iBank 2 Key») iBank
vb_pfx_import (sks2xyz.dll) Перехват файлов prv_key.pfx, sign.cer Faktura
RCN_R50Buffer (FilialRCon.dll) Перехват данных до шифрования Raiffeisen
GetWindowText Получение содержимого поля в окне «Регистрация пользователя» Инист
TranslateMessage Перехват нажатий клавиш в контексте модулей cbsmain.dll, intpro.exe, isclient.exe, java.exe и других Клиент-Банк Плюс, Inter-PRO, Бикрипт
PR_Write (nspr4.dll) Перехват HTTPS-трафика в Mozilla HandyBank и другие
<неэкспортируемая функция> (opera.dll) Перехват HTTPS-трафика в Opera HandyBank и другие
Send, WSASend Сохранение параметров POST-запроса: name, pass, login, password РФК, Inter-PRO
HttpSendRequest* Извлечение данных из HTTP-запросов по шаблонам: action=auth&np=&PHPSESSID=, IW_FormName=fmLogin&IW_FormClass=TfmLog, CryptoPluginId=AGAVA&Sign= СКЗИ «Агава», HandyBank и другие

Код перехватчиков обеспечивает отсев данных, сбор информации и вызов процедуры отправки её на сервер.

Ряд перехваченных функций не являются стандартными API Windows. Среди них функция vb_pfx_import из модуля sks2xyz.dll, входящего в состав универсальной платформы ДБО «Фактура», на основе которой функционирует, к примеру, интернет-банк «Сбербанка», и функция RCN_R50Buffer из модуля FilialRCon.dll, входящего в состав интернет-системы «РайффайзенБанк». Кроме того, с целью получения доступа к открытому трафику SSL осуществляется перехват функций PR_Write из динамической библиотеки браузера Mozilla и неизвестной функции из библиотеки Opera.

Также стоит отметить перехват стандартной функции TranslateMessage, реализующий захват данных из контекста Java-приложений.

Целевые системы

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

Директория Целевые приложения Веб-сайт разработчика целевой системы
C:\Program Files\Common Files\bssrepp ДБО «BS-Client» www.bssys.com
C:\Program Files\Common Files\ibank ДБО «iBank» www.bifit.com
C:\Program Files\Common Files\faktura СКЗИ «Бикрипт-КСБ-С» / ДБО «Faktura» www.faktura.ru
C:\Program Files\Common Files\inist ДБО «Инист» www.inist.ru
C:\Program Files\Common Files\wm Браузер (ЭПС WebMoney) www.webmoney.ru
C:\Program Files\Common Files\handy Браузер (ДБО HandyBank) www.handybank.ru
C:\Program Files\Common Files\rfk ДБО «РФК» www.rfc.ru
C:\Program Files\Common Files\sbl Браузер (неизвестный интернет-банк) Неизвестно
C:\Program Files\Common Files\agv СКЗИ «Агава» / ДБО «InterBank» www.alpha.ru, www.r-style.ru
C:\Program Files\Common Files\inter ДБО «Inter-PRO» www.signal-com.ru
C:\Program Files\Common Files\kbp Неизвестно Неизвестно
C:\Program Files\Common Files\raif ДБО РайффайзенБанк www.raiffeisen.ru

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

В ряде случаев данные извлекаются не из платформы ДБО, а из стандартного СКЗИ, обеспечивающего криптооперации с ней.

Собранные данные хранятся перед отправкой в виде текстовых файлов и zip-архивов со следующими именами: pass.log, keylog.txt, ctunnel.zip, keys.zip, links.log.

Блокирование антивирусов

Отключение антивируса Kasperky производится путём отправки легитимного управляющего сообщения его окну:

FindWindow ("____AVP.Root");
PostMessage (^, 466h);

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

RegQueryValue ("SOFTWARE\\Avira\\AntiVir PersonalEdition Classic", "Path");
LoadLibrary ("avipc.dll");
GetProcAddress ("AvIpcCall");
GetProcAddress ("AvIpcConnect");
AvIpcConnect ("avguard01", 1388h); 
AvIpcCall (...); // отключение компонента

Отключение AVG производится путём закрытия процесса программы и записи мусора в файл драйвера:

CreateFile ("%systemroot%\\system32\\drivers\\avgtdix.sys");
WriteFile (^, VirtualAlloc (GetFileSize (^)));
OpenProcess ("avgtray.exe");
TerminateProcess (^);

И наконец, отключение CA HIPS производится путём отправки легитимного кода управления устройству драйвера антивируса:

CreateFile ("\\.\KmxAgent");
DeviceIOControl (86000054h);

Сетевая активность

Троян выполняет следующие действия по обмену данными:

Удалённое управление

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

Команда Назначение
!load Загрузка и инсталляция модуля с заданного URL
!route Настройка маршрутизации
!inject Настройки для модификации трафика
!kill_os Разрушение инфицированной операционной системы путем перезаписи первых секторов диска и удаления критичных системных компонент

Технология автозалива

Автозалив и подмена данных веб-страниц обеспечиваются путём модификации HTML-кода в соответствии с правилами, полученными из файла конфигурации.

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

Команда Назначение
set_url Целевой URL для подмены данных
data_before HTML-код, являющийся маркером для начала модификации
data_after Маркер конца заменяемых данных
data_inject Код подмены

Кроме того, после переменной set_url может быть указана опция G или P, уточняющая целевой запрос (GET или POST). Также существует опция L, указывающая, что необходимо сохранить заданный отрезок HTML-кода в лог вместо его модификации, и опция D, задающая периодичность запуска модификации.

После получения настроек автозалива троян сохраняет их в ключе реестра HKEY_LOCAL_MACHINE\Software\Microsoft\option_9.

Заключение

Подытожим ключевые постулаты данной статьи.

  1. На сегодняшний день большинство инцидентов финансового мошенничества представляют собой атаки на системы онлайн-банкинга с использованием вредоносных программ в качестве инструментов.
  2. Существуют налаженные технологии обхода всех видов защиты, используемых в системах электронных транзакций.
  3. Существуют доступные инструменты для совершения финансовых атак всех видов и масштабов.
  4. Фиксируется рост заинтересованности атакующих субъектами российской электронной коммерции, в первую очередь клиентами банков (как физическими лицами, так и организациями) и системами денежных переводов.
  5. По состоянию на сегодняшний день, 99% потенциальных «жертв» не защищены.

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

MitM — man-in-the-middle. Схема атаки, при которой злоумышленник выступает в роли несанкционированного посредника между клиентом и сервером.

MitB — man-in-the-browser, man-in-the-box. Схема атаки, при которой действия злоумышленника совершаются с помощью вредоносной программой на стороне клиента.

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

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

В ряде случаев, сопряженных с невысоким риском атаки, могут применяться половинчатые меры «повышения безопасности». В первую очередь это грамотная настройка политик безопасности и систем мониторинга уязвимого компьютера и прокси-сервера организации, разработанные и внедренные с учётом MitB-парадигмы безопасности.

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

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

Единственным фундаментальным решением для защиты онлайн-банкинга является его полная изоляция, обеспечивающая невозможность проникновения на компьютер вредоносного кода и установки троянских перехватов. Это решение реализуется путём размещения системы банк-клиента на отдельном физическом компьютере или загрузочном диске, защищённом от записи, в совокупности с тонкой настройкой политик безопасности и общей архитектуры решения. Отметим, что решение по программной виртуализации интернет-банка не имеет смысла, так как оно не защищает от схемы атаки №2 (атака изнутри компьютера «жертвы»), а решение с загрузочным диском окажется бесполезным, если размещённая на нём система может быть успешно атакована в промежутке между загрузками.

Last updated: 17.03.2012