Вы уже слышали про Flame? Присаживайтесь поудобнее, сейчас мы предоставим вам все подробности.
Вирусы Duqu и Stuxnet повысили градус кибервойны на Ближнем Востоке, однако недавно мы обнаружили, пожалуй, самое изощренное кибероружие на сегодняшний день. Червь Flame, созданный для кибершпионажа, попал в поле зрения экспертов «Лаборатории Касперского» при проведении исследования по запросу Международного союза электросвязи (МСЭ), обратившегося к нам за содействием в поиске неизвестной вредоносной программы, которая удаляла конфиденциальные данные с компьютеров, расположенных в странах Ближнего Востока. В процессе поиска этой программы, получившей название Wiper, мы обнаружили новый образец вредоносного ПО, который был назван Worm.Win32.Flame.
Семь стран, подвергшихся наибольшему количеству атак
Хотя Flame имеет иной функционал, чем печально известные образцы кибероружия Duqu и Stuxnet, все эти вредоносные программы имеют много общего: географию атак, узкую целевую направленность в сочетании с использованием специфических уязвимостей в ПО. Это ставит Flame в один ряд с «кибернетическим супероружием», развертываемым на Ближнем Востоке неизвестными злоумышленниками. Без сомнения, Flame является одной из самых сложных киберугроз за всю историю их существования. Программа имеет большой размер и невероятно сложную структуру. Она заставляет переосмыслить такие понятия, как «кибервойна» и «кибершпионаж».
Подробную информацию об этой изощренной угрозе читайте в посте на www.securelist.ru, а здесь мы приведем ключевое описание зловреда.
ОПИСАНИЕ
Что именно представляет собой Flame? Червь? Бэкдор? Каков его функционал?
Flame представляет собой весьма хитрый набор инструментов для проведения атак, значительно превосходящий по сложности Duqu. Это троянская программа — бэкдор, имеющая также черты, свойственные червям и позволяющие ей распространяться по локальной сети и через съемные носители при получении соответствующего приказа от ее хозяина.
Исходная точка входа Flame неизвестна — мы подозреваем, что первоначальное заражение происходит путем целевых атак, однако найти исходный вектор атаки нам пока не удалось. Подозреваем, что используется уязвимость MS10-033, однако в данный момент подтвердить это мы не можем.
После заражения системы Flame приступает к выполнению сложного набора операций, в том числе к анализу сетевого трафика, созданию снимков экрана, аудиозаписи разговоров, перехвату клавиатурных нажатий и т.д. Все эти данные доступны операторам через командные серверы Flame.
В дальнейшем операторы могут принять решение о загрузке на зараженные компьютеры дополнительных модулей, расширяющих функционал Flame. Всего имеется около 20 модулей, назначение большинства которых мы в данный момент изучаем.
Насколько сложен Flame?
Прежде всего, Flame — это огромный пакет, состоящий из программных модулей, общий размер которых при полном развертывании составляет почти 20 МБ. Вследствие этого анализ данной вредоносной программы представляет огромную сложность. Причина столь большого размера Flame в том, что в него входит множество разных библиотек, в том числе для сжатия кода (zlib, libbz2, ppmd) и манипуляции базами данных (sqlite3), а также виртуальная машина Lua.
Lua — это скриптовый язык, т.е. язык программирования, легко поддающийся расширению и интеграции с кодом, написанным на языке C. Для многих компонентов Flame логика верхнего уровня написана на Lua — при этом подпрограммы и библиотеки, непосредственно реализующие заражение, компилируются с C++.
По сравнению с общим объемом кода часть, написанная на Lua, относительно невелика. По нашей оценке, объем разработки на Lua составляет более 3000 строк кода. Для среднего разработчика на создание и отладку такого объема кода требуется около месяца.
Рис. 1 — декомпилированный код Flame на языке LUA
Кроме того, вредоносная программа использует для внутренних нужд локальные базы данных с вложенными SQL-запросами, применяет несколько методов шифрования, различные алгоритмы сжатия, создает скрипты с помощью Windows Management Instrumentation, использует пакетные скрипты и т.д.
Запуск и отладка вредоносного ПО — нетривиальная задача, поскольку вредоносная программа представляет собой не обычный исполняемый файл, а несколько DLL-библиотек, загружаемых при запуске операционной системы.
В целом можно констатировать, что Flame — одна из наиболее сложных угроз, обнаруженных на сегодняшний день.
АНАЛИЗ
Ключевые эксперты ЛК немедленно посвятили себя анализу программы, и хоть на полный разбор уйдут месяцы, кое-какие данные уже доступны в статье по ссылке.
Здесь же мы можем предложить вам метод быстрой «ручной» проверки вашей системы на наличие заражения Flame:
- Выполните поиск файла ~DEB93D.tmp. Его присутствие в системе означает, что компьютер заражен или был заражен Flame.
- Проверьте ключ реестра HKLM_SYSTEMCurrentControlSetControlLsa Authentication Packages. Если вы найдете в нем mssecmgr.ocx или authpack.ocx, значит, ваш компьютер заражен Flame.
- Проверьте наличие следующих папок. Если они есть — вы заражены.
- Запустите поиск по остальным именам файлов, данным выше. Они все уникальны, и их наличие будет означать весьма высокую вероятность зараженности вашего компьютера Flame.
Берегите себя! И следите за новостями…
Автор: Kaspersky_Lab