Известная оборонная компания Великобритании BAE Systems, которая занимается перспективным военными разработками, аэрокосмической индустрией, а также информационной безопасностью, обнародовало результаты анализа крупной кибератаки на банк в Бангладеш, в результате которой злоумышленникам удалось скомпрометировать известную международную банковскую платформу SWIFT и похитить $81 млн.


(картинка Reuters)

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

Специалисты BAE Systems опубликовали минимальный отчет о кибератаке и информацию о публично доступных образцах вредоносных инструментов (см. таблицу ниже). Другой уникальный образец вредоносной программы находится в распоряжении у компании. Он содержит сложные механизмы работы с локальным ПО SWIFT Alliance Access, используемом в системе жертвы. Эти отдельные компоненты являются частью того спектра вредоносных инструментов, которые использовались для проведения кибератаки и отправке фальшивых инструкций банку для выполнения транзакции. Инструменты являются достаточно гибкими, что делает возможным их использование для аналогичных кибератак в будущем.


Рис. Часть вредоносных инструментов, которые использовались в кибератаке, а также доступны на публичных сервисах обмена образцами вредоносного ПО. (данные BAE Systems)

По данным BAE Systems вредоносные файлы были созданы одним киберпреступником или группой лиц, однако, наиболе ценным является файл с хэшем 525a8e3ae4e3df8c9c61f2a49e38541d196e9228, который содержит в себе логику работы с ПО SWIFT.


Рис. Общая схема компрометации SWIFT. (данные BAE Systems)

Видно, что одним из основных шагов кибератаки является компрометация сервера с установленным SWIFT Alliance Software. Далее эта вредоносная программа обращается к конфигурационному файлу gpca.dat, в котором указаны шаблоны поиска нужных злоумышленникам сообщений SWIFT. После этого злоумышленники могут контролировать обрабатываемые серверной частью SWIFT сообщения.

Основная цель заключается в получении контроля за сообщениями SWIFT, в которых будет проверяться присутствие определенных текстовых строк, указанных в конфигурационном файле. Из интересующих злоумышленников сообщений вредоносная программа может извлекать значения определенных полей, таких как transfer references, а также адреса SWIFT для взаимодействия с системной базой данных. Полученные значения полей данных затем используются для удаления из системы информации об определенных транзакциях или обновлении данных баланса. Эта функция вредоносной программы работала в цикле до 6 утра 6 февраля 2016 г. Такого срока было достаточно для кражи денежных средств, которая произошла за два дня до его окончания. Вредоносный инструмент был разработан специально для этой цели и показывает значительный уровень знаний ПО SWIFT Alliance Access, кроме этого, его авторы обладали хорошими навыками разработки вредоносных программ.

Вредоносная программа использует следующий ключ RC4 для расшифровки содержимого своего конфигурационного файла.

4e 38 1f a7 7f 08 cc aa 0d 56 ed ef f9 ed 08 ef


Рис. Общая схема кибератаки. (данные BAE Systems)

На первом этапе вредоносная программа перечисляет все запущенные на сервере процессы. Если она обнаруживает процесс, в который загружена библиотека liboradb.dll, она модифицирует два ее байта в памяти по определенному смещению. Модификации подвергаются два байта с оригинальными значениями 0x75 и 0x04 на инструкцию nop — 0x90 и 0x90. Указанные два байта представляют инструкцию условного перехода JNZ (если не ноль).


Рис. Оригинальная инструкция условного перехода в коде системной библиотеки. (данные BAE Systems)


Рис. Исправленная двумя nop инструкция условного перехода в коде системной библиотеки. (данные BAE Systems)

В результате такого исправления вредоносная программа блокирует важную проверку в коде одной из функций библиотеки liboradb.dll, что позволяет злоумышленникам успешно проходить нужную им проверку (валидацию). Сама библиотека liboradb.dll является компонентом уже упоминавшегося ПО SWIFT's Alliance от Oracle. Библиотека отвечает за исполнение следующих функций:
  • считывание пути к базе данных Alliance из системного реестра;
  • активация этой базы данных;
  • резервное копирование базы данных.

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

Вредоносная программа отслеживает сообщения SWIFT Financial Application (FIN) путем разбора содержимого файлов *.prc и *.fal из следующих директорий.

[ROOT_DRIVE]:\Users\Administrator\AppData\Local\Allians\mcm\in\
[ROOT_DRIVE]:\Users\Administrator\AppData\Local\Allians\mcm\out\

Более подробную информацию см. baesystemsai.blogspot.ru/2016/04/two-bytes-to-951m.html

Также отслеживаются все SWIFT сообщения из нижеуказанных директорий.

[ROOT_DRIVE]:\Users\Administrator\AppData\Local\Allians\mcp\in\*.*
[ROOT_DRIVE]:\Users\Administrator\AppData\Local\Allians\mcp\out\*.*
[ROOT_DRIVE]:\Users\Administrator\AppData\Local\Allians\mcp\unk\*.*
[ROOT_DRIVE]:\Users\Administrator\AppData\Local\Allians\mcs\nfzp
[ROOT_DRIVE]:\Users\Administrator\AppData\Local\Allians\mcs\nfzf
[ROOT_DRIVE]:\Users\Administrator\AppData\Local\Allians\mcs\fofp
[ROOT_DRIVE]:\Users\Administrator\AppData\Local\Allians\mcs\foff

Внутри сообщений осуществляется поиск следующих интересующих злоумышленников банковских значений.

«19A: Amount»
": Debit"
«Debit/Credit :»
«Sender :»
«Amount :»
«FEDERAL RESERVE BANK»
" D"
" C"
«62F: „
“60F: “
»60M: "
«62M: „
“Credit»
«Debit»
" 64: "
" 20: Transaction"
«90B: Price»

Заключение

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

Основной вредоносный инструмент из вышеприведенного набора вредоносного ПО был разработан специально для этой кибератаки на конкретную инфраструктуру жертвы. Стоит также отметить, что этот набор также позволит злоумышленникам в дальнейшем производить аналогичные атаки на банки. Все финансовые организации, которые так или иначе используют SWIFT Alliance Access должны серьезно отнестись к этому кейсу и оценить используемую ими систему безопасности.

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

Комментарии (10)


  1. alexkuzko
    25.04.2016 23:51
    +1

    Красивая атака. Хоть и не робингуды, но аплодирую и даже немного грустно что прошли не все транзакции ;)


  1. taulatin_one
    26.04.2016 11:20

    Жадность, известно кого сгубила. Неужели они думали, что смогли бы вывести такую сумму?


    1. vorphalack
      27.04.2016 00:56

      там сгубила не жадность, а биз граматнасць с одной стороны и немного внимательности с другой.


    1. sens_boston
      27.04.2016 11:10
      +2

      Почему «сгубила»-то? Преступники не найдены, следы затерты, и $81M для вас, похоже, «мелочевка», не в счёт?


  1. MnogoBukv
    26.04.2016 11:21

    Слишком уж красивые размеры exe'шников. Это бз-з-з неспроста.


    1. hdfan2
      27.04.2016 07:20

      Как минимум Visual Studio при компиляции выравнивает размер бинарей на сколько-то там килобайт (4 или 16 — сейчас не помню).


  1. maxwolf
    26.04.2016 11:46

    Не завалялось у кого-нибудь этих «публично доступных образцов вредоносных инструментов» (кроме первого)? Что-то не могу найти…


  1. Goodkat
    26.04.2016 23:07

    Интересно, как в наше время такие суммы могут пропасть бесследно.


    1. lesha25
      27.04.2016 11:10
      +3

      В наше время и не такие суммы пропадают бесследно.


  1. heleo
    27.04.2016 18:10

    Интересно ещё посмотреть расследование как с филиппинского счёта деньги должны были пройти «очистку».