Flame: Bunny, Frog, Munch и BeetleJuice…

Вирусы Duqu и Stuxnet повысили градус кибервойны на Ближнем Востоке, однако не так давно мы обнаружили, пожалуй, самое изощренное кибероружие на сегодняшний день. Червь Flame, созданный для кибершпионажа, попал в поле зрения экспертов «Лаборатории Касперского» при проведении исследования по запросу Международного союза электросвязи (МСЭ), обратившегося к нам за содействием в поиске неизвестной вредоносной программы, которая устраняла конфиденциальные данные с компьютеров, расположенных в странах Ближнего Востока. В процессе поиска этой программы, получившей название Wiper, мы обнаружили новый образец вредоносного ПО, который был назван Worm.Win32.Flame.

Хотя Flame имеет иной перечень возможностей, чем печально известные образцы кибероружия Duqu и Stuxnet, все эти вредоносные программы имеют большое количество общего: географию атак, узкую целевую направленность в сочетании с использованием специфических уязвимостей в ПО. Это ставит Flame в один ряд с «кибернетическим супероружием», развертываемым на Ближнем Востоке безызвестными,неведомыми злоумышленниками. Без сомнения, Flame является одной из самых трудных киберугроз за всю историю их существования. Программа имеет великий,великой размер и невероятно сложную структуру. Она принуждает переосмыслить такие понятия, как «кибервойна» и «кибершпионаж».

Подробную информацию об этой изощренной угрозе читайте ниже.

Общие вопросы

Что именно представляет собой 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 отличается от других троянцев-бэкдоров и в чем состоит его сложность по сравнению с ними? Делает ли он что-то совершенно новое?

Прежде всего, для вредоносного ПО нехарактерно использование Lua. Достаточно великий,великой размер набора инструментов для проведения атак помимо прочего нетипичен для вредоносного ПО. Как правило, современные вредоносные программы имеют небольшой размер и пишутся на языках программирования, обеспечивающих максимальную компактность, что подсобляет скрыть присутствие этих программ в системе. Сокрытие с помощью большого объема кода — это новая черта, реализованная в Flame.

Запись аудиоданных со встроенного микрофона — тоже достаточно новый прием. Конечно, существуют и другие вредоносные программы, способные записывать аудио, однако ключ в универсальности Flame — способности этой вредоносной программы красть данные столь разнообразными способами.

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

Каковы наиболее главные функции Flame, связанные с кражей информации?

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



Записанные аудиоданные регулярно, по расписанию, скрытым образом пересылаются на командный сервер через SSL-канал. Мы еще не завершили анализ этой функции; более подробная информация скоро появится на нашем сайте.

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

Мы еще не завершили анализ этого компонента и будем сообщать новую информацию по мере ее поступления.

Когда был создан Flame?

Авторы Flame умышленно изменили даты создания файлов таким образом, чтобы исследователи не смогли узнать, когда зловред был создан на самом деле. Файлы датированы годами 1992, 1994, 1995 и т. д. — очевидно, что эти даты не имеют отношения к действительности.

Мы полагаем, что проект Flame в основной части был создан не раньше 2010 года и до настоящего времени находится в активной разработке. Его авторы непрерывно вносят изменения в разные модули, продолжая при этом использовать ту же архитектуру и имена файлов. Многие модули изменялись или создавались в 2011-2012 годах.

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

Почему Flame был назван именно так?

Что стоит за этим названием?

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

Рис. 2. Модуль установки Flame

Кто же стоит за разработкой такого зловреда: какое-либо государство, группа киберпреступников или хактивисты?

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

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

Кто же стоит за Flame?

В коде зловреда нет информации, которая указывала бы на конкретное государство. Анализ прочей доступной информации помимо прочего не позволяет связать Flame с какой-либо конкретной страной. Таким образом, авторство остаётся неустановленным, как это было и в случае Stuxnet и Duqu.

Зачем они это делают?

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

Вот семь стран, подвергшихся величайшему,наивеличайшему количеству атак:

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

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

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

На какие организации или отрасли экономики направлен Flame? На системы производственного контроля, программируемые логические контроллеры, системы производственного контроля? Каковы цели, какое колличество их?

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

Что можно сказать на основании вашего анализа: есть только один вариант Flame или существуют помимо прочего и другие?

Исходя из данных, полученных из Kaspersky Security Network, существует несколько версий вредоносной программы «в бешеной среде» — разного размера и разного наполнения. Учитывая, что зловред разрабатывался в течение нескольких лет, мы предполагаем, что «в дикой среде» появятся много разных версий.

Кроме этого, Flame состоит из многочисленных и разнообразных программных модулей, число которых достигает 20 — которые исполняют специальные функции. При одном заражении Flame может иметь набор из 7 программных модулей, при другом — 15. Все зависит от того, какую информацию нужно получить от жертвы и как долго система уже была заражена Flame.

Активен ли до сих пор главной,главный C&C-сервер? Есть ли другиеC&C-серверы первого порядка? Что происходит, когда зараженная машина устанавливает связь с C&C-сервером?

Существует несколько C&C-серверов, разбросанных по всему миру. Мы насчитали около дюжины различных C&C-доменов, управляемых на разных серверах. Возможно, есть другие домены, связанные с уже известными, и, предположительно, число доменов, используемых вредоносным ПО для связис C&C достигает 80. По этой причине действительно очень сложно отследить использование и развертывание C&C-серверов.

Ее создала группа Duqu/Stuxnet? У них схожий исходный код, или есть еще что-то общее?

По размеру Flame почти в 20 раз больше Stuxnet и включает в себя много различных функций для проведения атак и кибершпионажа. У Flame нет великого сходства с Stuxnet/Duqu.

Например, когда был обнаружен Duqu, любому компетентному исследователю было ясно, что он был создан теми же людьми, которые придумали Stuxnet, и на той же платформе Tilded.

Похоже, Flame — это проект, который был запущен параллельно с Stuxnet/Duqu, но не использовал Tilded-платформу.

Однако есть некоторые указатели на то, что создатели Flame могли иметь доступ к технологии, использованной в проекте Stuxnet. Например, применение метода заражения “autorun.inf” вместе с использованием той же, что и в Stuxnet, уязвимости в службе диспетчера очереди печати говорит о вероятном доступе авторов Flame к тем же эксплойтам, что и создатели Stuxnet.

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

Короче говоря, вероятнее всего, Flame и Stuxnet/Duqu разрабатывались двумя отдельными группами авторов. Мы бы оценили Flame как проект параллельный Stuxnet и Duqu.

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

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

Исходя из этого, мы полагаем, что Flame является параллельным проектом, созданным как запасной вариант на случай раскрытия какого-либо из других проектов.

При анализе Duqu вы упомянули его «кузенов», или другие формы вредоносных программ, которые, вероятно, могут существовать. Это одна из них?

Определенно нет. «Кузены» Duqu были основаны на платформе Tilded, которая использовалась и для Stuxnet. Flame платформу Tilded не использует.

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

Операция по сбору разведывательной информации, стоящая за Duqu, была не слишком крупномасштабной, сосредоточенной на определенных целях. Мы полагаем, что Duqu имел целью менее 50 объектов во всем мире — и все они были очень высокого уровня.

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

По нашим наблюдениям, хозяева Flame искусственно поддерживают количество зараженных систем на некоем постоянном уровне. Это можно сравнить с последовательной обработкой полей: — они заражают несколько десятков, затем проводят анализ данных, взятых на компьютерах жертв, деинсталируют Flame из систем, которые им неинтересны, и оставляют в наиболее важных, после чего начинают новую серию заражений.

Что такое Wiper и имеет ли он отношение к Flame? Какова его разрушительная сила и использовался ли он в тех же странах?

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

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

Информация об инцидентах с Wiper имеется только в Иране. Flame обнаружен нами в разных странах региона, не только в Иране

Вопросы по функционалy зловрпища Flame

Какими способами он заражает компьютеры? Через USB-флешки? Эксплуатировал ли он, помимо уязвимости службы диспетчера очереди печати, другие уязвимости , чтобы обойти детектирование? Уязвимости нулевого дня?

Очевидно, что Flame имеет два модуля для заражения USB флеш-карт с названиями «Autorun Infector» и «Euphoria». До истинного момента мы не видели, как они работают, вероятно, по той причине, что Flame был отключен в настройках. Тем не менее, способность заражать флеш-карты USB в коде существует и примет на вооружение два метода:

Autorun Infector: метод «Autorun.inf» из раннего Stuxnet, примет на вооружение “shell32.dll” “trick”. Важно отметить, что этот конкретный способ был принят на вооружение только Stuxnet и до сих пор не встречался ни в одной вредоносной программе.

Euphoria: распространяется на носителях, используя директорию “junction point”, включающую вредоносные модули и LNK-файл, который инициирует заражение при открытии директории. Наши образцы содержат названия файлов, но не сам LNK.

Помимо этого, Flame способен тиражироваться через локальную сеть, используя:

Уязвимость принтера, эксплуатируемую Stuxnet — при поддержки,подмоги специального MOF-файла, исполняемого в атакуемой системе посредством WMI.

Remote jobs .

Когда Flame осуществляется пользователем, у которого есть права администратора на контроллер домена, Flame как оказалось способен атаковать другие компьютеры сети: он создает backdoor пользовательский аккаунт (backdoor) с предустановленным паролем, который после чего использует при собственном копировании на эти компьютеры.

На истинный момент мы не наблюдали использования уязвимостей нулевого дня; однако знамениты случаи заражения червем системы Windows 7 со всеми патчами через сеть, что может указывать на существование риска атак нулевого дня.

Способен ли Flame распространяться, как Stuxnet, или его распространение происходит более упорядоченно, как Duqu?

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

Почему эта программа занимает столько мегабайт? Какой в ней имеется перечень возможностей, делающий ее настолько больше Stuxnet? Как получилось, что такую великую программу не обнаружили раньше?

Именно из-за ее великого размера вредоносную программу так длинно не могли обнаружить. Современные вредоносные программы в главном небольшие и имеют определенные цели. Легче спрятать небольшой файл, чем большой модуль. Кроме того, загрузка 100K через ненадежную сеть имеет гораздо больше шансов на успех, чем загрузка 6MB.

Модули Flame вместе составляют более 20 МБ. Многие из них являются библиотеками, предназначенными для обработки SSL-трафика, SSH-соединений, контроля сообщений, передаваемых по сети связи, с целью выявления конфиденциальной информации, проведения атак, перехвата известий,извещений и т.п. Возьмем такой пример: нам потребовалось несколько месяцев, чтобы проанализировать 500-килобайтовый код Stuxnet. А на то, чтобы полностью взять в толк 20MБ код Flame, вероятно, потребуются годы.

Имеет ли Flame встроенную функцию самоуничтожения, как Duqu или Stuxnet (36 дней)?

В Flame имеется много различных встроенных таймеров. Они отслеживают удачные соединения с C&C, частоту отдельных операций по краже данных, количество удачных атак и т.д. И хотя в этой вредоносной программе нет таймера самоуничтожения, контролирующие устройства могут послать специальный модуль удаления вредоносной программы (он называется “browse32”), который полностью удаляет программу из системы, стирая все следы ее присутствия там.

А что по поводу JPEG-файлов или скриншотов? Их программа тоже крадет?

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

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

На следующей неделе в серии блогов на Securelist мы сможем предложить вниманию технических специалистов полный список файлов и следов кода.

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

Мы будем очень признательны, если вы сможете связаться с нами по электронной почте по адресу, ранее созданному для исследования Stuxnet/Duqu stopduqu@kaspersky.com.

PS Согласно результатам нашего анализа, Flame — это та же вредоносная программа, которую CrySyS Lab в своем описании назвал “SkyWiper”, а Iran Maher CERT group — “Flamer”.



Пинг не поддерживается.

Оставить комментарий