Kaspersky Lab. |
75 |
Educational Programs Department |
рехвату клавиатурных нажатий и т.д. Все эти данные доступны операторам через
командные серверы Flame.
В дальнейшем операторы могут принять решение о загрузке на зараженные компьютеры дополнительных модулей, расширяющих функционал Flame. Всего имеется около 20 модулей с различным назначением.
Насколько сложен Flame?
Прежде всего, Flame − это огромный пакет, состоящий из программных моду-
лей, общий размер которых при полном развертывании составляет почти 20 МБ. Вследствие этого анализ данной вредоносной программы представляет огромную
сложность. Причина столь большого размера Flame в том, что в него входит множество разных библиотек, в том числе для сжатия кода (zlib, libbz2, ppmd) и манипуляции базами данных (sqlite3), а также виртуальная машина Lua.
Lua − это скриптовый язык, т.е. язык программирования, легко поддающийся расширению и интеграции с кодом, написанным на языке C. Для многих компонентов Flame логика верхнего уровня написана на Lua − при этом подпрограммы и библиотеки, непосредственно реализующие заражение, компилируются с C++.
Рис. 4.6. Декомпилированный код Flame на языке Lua
По сравнению с общим объемом кода часть, написанная на Lua, относительно
невелика. По нашей оценке, объем разработки на Lua составляет порядка
3000 строк кода. Для среднего разработчика на создание и отладку такого объема
кода требуется около месяца.
http://www.kaspersky.ru/
http://academy.kaspersky.com/
http://www.securelist.com/
76 |
Kaspersky Lab. |
Educational Programs Department |
|
|
|
Кроме того, вредоносная программа использует для внутренних нужд локальные базы данных с вложенными SQL-запросами, применяет несколько методов
шифрования, различные алгоритмы сжатия, создает скрипты с помощью Windows Management Instrumentation, использует пакетные скрипты и т.д.
Запуск и отладка вредоносного ПО – нетривиальная задача, поскольку вредоносная программа представляет собой не обычный исполняемый файл, а несколько DLL-библиотек, загружаемых при запуске операционной системы.
В целом можно констатировать, что Flame – одна из наиболее сложных угроз, обнаруженных на сегодняшний день.
В чем основные отличия Flame от других троянцев-бэкдоров?
Прежде всего, для вредоносного ПО нехарактерно использование Lua. Достаточно большой размер набора инструментов для проведения атак также нетипичен
для вредоносного ПО. Как правило, современные вредоносные программы имеют
небольшой размер и пишутся на языках программирования, обеспечивающих мак-
симальную компактность, что помогает скрыть присутствие этих программ в системе. Сокрытие с помощью большого объема кода − это новая черта, реализованная в
Flame.
Запись аудиоданных со встроенного микрофона − тоже достаточно новый прием. Конечно, существуют и другие вредоносные программы, способные записы-
вать аудио, однако ключ в универсальности Flame − способность этой вредоносной
программы красть данные столь разнообразными способами.
Еще одна любопытная функция Flame − использование Bluetooth в устройствах, поддерживающих такой способ передачи данных. Если Bluetooth поддержива-
ется зараженным компьютером и включен в настройках, программа собирает ин-
формацию об обнаруживаемых устройствах, находящихся вблизи зараженной машины. Если в конфигурации включены соответствующие настройки, Flame может превратить зараженную машину в радиомаяк, настроив разрешение на его обнару-
жение другими Bluetooth-устройствами и сообщая общие данные о состоянии зара-
жения, зашифрованные в передаваемой по Bluetooth информации об устройстве.
Программа способна записывать аудиосигнал через микрофон, если таковой имеется. Записанный звук хранится в сжатом формате, причем сжатие обеспечива-
ется с помощью общедоступной библиотеки. Записанные аудиоданные регулярно,
по расписанию, скрытым образом пересылаются на командный сервер через SSL-
канал.
http://www.kaspersky.ru/
http://academy.kaspersky.com/
http://www.securelist.com/
Kaspersky Lab. |
77 |
Educational Programs Department |
Вредоносная программа способна также регулярно делать снимки экрана; более того, она делает скриншоты в процессе работы определенных «интересных»
приложений, таких как системы мгновенного обмена сообщениями. Снимки экрана
хранятся в сжатом формате и регулярно пересылаются на командный сервер − так
же, как и аудиозаписи.
По наблюдениям специалистов «Лаборатории Касперского», хозяева Flame искусственно поддерживают количество зараженных систем на некоем постоянном уровне. Это можно сравнить с последовательной обработкой полей: они заражают несколько десятков машин, затем проводят анализ данных, взятых на компьютерах жертв, деинсталируют Flame из систем, которые им неинтересны, и оставляют в
наиболее важных, после чего начинают новую серию заражений.
География распространения Flame
На рис. 4.7 представлены семь стран, подвергшихся наибольшему количеству
атак.
Рис. 4.7. География распространения Flame
Нацелен ли Flame на конкретные организации?
Первоначальный анализ указывает на то, что создатели Flame стремятся по-
лучить любые данные: электронные письма, документы, сообщения, разговоры на территории секретных объектов − практически всё. Нет каких-либо указаний на кон-
http://www.kaspersky.ru/
http://academy.kaspersky.com/
http://www.securelist.com/
78 |
Kaspersky Lab. |
Educational Programs Department |
|
|
|
кретную цель Flame, скажем, на энергетическую отрасль. Это позволяет считать, что Flame является универсальным набором инструментов для проведения атак, разра-
ботанным для кибершпионажа в широком смысле.
Если анализировать организации, на которые нацелен Flame, то очевидной
системы также не наблюдается. Спектр жертв широк – от отдельных личностей до некоторых окологосударственных организаций и образовательных учреждений.
При написании раздела использованы материалы статьи [KL_SecL_10].
Gauss
На основе материалов статьи [KL_SecL_11].
Gauss − новейшая система кибер-слежки, открывшая еще одну страницу в саге о Stuxnet, Duqu и Flame. Вредоносная программа, по-видимому, была создана в
середине 2011 года и впервые применена в августе-сентябре того же года.
Gauss представляет собой «банковский» троянец, созданный государством, и инфицирующий компьютеры на базе Windows. В сравнении с другими «банковскими» троянцами, Gauss, вероятно, подвергся «тонкой настройке» в том смысле, что он не нацелен на сотни финансовых учреждений, а рассчитан на несколько избранных систем (в частности, на Citibank и PayPal). Gauss содержит отдельный зашиф-
рованный код, который записывается на USB-накопители при подключении устрой-
ства к зараженной системе. Если накопитель подключается к незараженному компьютеру, вредоносное ПО осуществляет сканирование системных настроек для определения ОС, сетевых папок, данных прокси-серверов и истории посещения страниц.
Далее вирус сопоставляет проверенные данные с информацией, заложенной во
вредоносном коде. Если сопоставление не было найдено, троянец удаляет себя, чтобы избежать обнаружения.
Вредоносная программа устанавливает до восьми отдельных модулей на целевую машину. Модули нацелены на хищение CMOS- и BIOS-данных, информации о сетевых интерфейсах, доменах и дисках. Помимо этого, они также устанавливают плагины, которые отслеживают историю просмотра web-страниц пользователя и собирают пароли. Остальные модули контролируют деятельность вируса, а также отвечают за установку других вредоносных программ, цель которых в настоящее время неизвестна.
Программа Gauss была обнаружена в ходе расследования, которое проводи-
лось по инициативе Международного союза электросвязи (МСЭ). Цель проводимой работы − снижение рисков, которые несет кибероружие. Это ключевой элемент усилий по достижению главной цели − мира в глобальном киберпространстве.
http://www.kaspersky.ru/
http://academy.kaspersky.com/
http://www.securelist.com/
Kaspersky Lab. |
79 |
Educational Programs Department |
Обнаружение Gauss ознаменовало собой новый уровень в осознании угрозы, связанной с кибероружием. Важно отметить, что Gauss базируется на платформе Flame, таким образом, оба проекта по разработке вредоносного ПО − Gauss и Flame − связаны между собой. Программа имеет общие функциональные элементы
сFlame, такие, как, например, подпрограммы заражения USB-носителей.
Сконца мая 2012 года облачным защитным сервисом «Лаборатории Касперского» зарегистрировано более 2500 заражений Gauss; при этом, по оценкам Лаборатории, общее реальное число жертв вредоносной программы измеряется десят-
ками тысяч.
Как и в случае с Flame, по-прежнему неизвестно, каким образом компьютеры
жертв заражаются Gauss. Антивирусные аналитики не обнаружили механизма самораспространения (как у червей) в Gauss, однако большее число жертв, чем у Flame, может указывать на наличие функции самораспространения.
Рис. 4.8. Архитектура вредоносного комплекса Gauss
Строго говоря, Gauss − это даже не вредоносная программа, а вредоносный комплекс программ, который имеет модульную структуру и поддерживает удален-
ное развертывание операторами нового функционала, который реализуется в виде дополнительных модулей. Эти модули выполняют:
http://www.kaspersky.ru/
http://academy.kaspersky.com/
http://www.securelist.com/