Отчеты о целевых атаках (APT)

miniFlame, он же SPE: «Элвис и его друзья»

В мае 2012 года в ходе проведенного «Лабораторией Касперского» расследования было обнаружено новое вредоносное ПО, представляющее собой систему государственного кибершпионажа. Оно получило название «Flame». В процессе расследования нам удалось выявить некоторые отличительные черты модулей Flame. Основываясь на этих чертах, мы обнаружили, что в 2009 году в состав первого варианта червя Stuxnet входил модуль, созданный на платформе Flame. Это подтвердило, что группы, которые создавали платформы Flame и Tilded (Stuxnet/Duqu), каким-то образом взаимодействовали между собой.

Результатом углубленного исследования, проведенного в июне 2012 года, стало обнаружение еще одной неизвестной на тот момент вредоносной программы, созданной при государственной поддержке. Мы назвали ее «Gauss». Программа имела модульную структуру, аналогичную структуре Flame, похожую кодовую базу и систему взаимодействия с серверами управления (C&C). Имеется сходство с Flame и по множеству других параметров.

В партнерстве с Symantec, ITU-IMPACT и CERT-Bund/BSI мы также выполнили анализ командных серверов Flame и опубликовали его результаты. Анализ показал, что код понимает несколько протоколов, применяемых при обмене данными с различными «клиентами», или вредоносными программами:

  • OldProtocol
  • OldProtocolE
  • SignupProtocol
  • RedProtocol (упоминается, но не реализован)

При ближайшем рассмотрении блоков управления протоколами оказалось, что существовали четыре разных типа клиентов («вредоносных программ») под кодовыми названиями SP, SPE, FL and IP:

Основываясь на изучении логики кода, можем подтвердить, что вредоносная программа Flame идентифицировалась как клиент типа FL. Это, очевидно, означает, что существовало ещё минимум три неизвестных системы кибершпионажа или кибердиверсии, созданных теми же авторами: SP, SPE и IP.

Встречайте SPE, он же miniFlame

Вредоносная программа SPE была найдена в ходе расследования, инициированного Международным союзом электросвязи и проводимого «Лабораторией Касперского».

Все началось в начале июля 2012 года, когда мы обнаружили небольшой, но интересный модуль Flame. Он имел много общего с Flame, и мы предположили, что имеем дело с ранней версией этой вредоносной программы (все известные варианты Flame имеют номер версии 2.x). В последующие месяцы мы не только изучили связь вновь обнаруженной вредоносной программы с Flame, но и нашли примеры одновременного использования того же модуля с Gauss, под управлением главного модуля этой вредоносной программы.

Осуществив анализ командных серверов Flame, мы, к своему удивлению, обнаружили, что этот новый модуль, по всей видимости, использует протокол OldProtocolE – тот же, что и таинственная вредоносная программа SPE. Из этого мы сделали вывод, что плагин к Flame был в действительности уникальной, автономной вредоносной программой – той самой, которая была известна командным серверам Flame как «SPE».

miniFlame / SPE: подробности

Вредоносная программа SPE, которую мы называем miniFlame, представляет собой небольшой по размеру полнофункциональный шпионский модуль, предназначенный для кражи информации и непосредственного доступа к зараженной системе. В отличие от Flame и Gauss, которые использовались для крупномасштабных шпионских операций с заражением тысяч пользователей, miniFlame/SPE – инструмент для хирургически-точных атак.

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

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

Судя по всему, разработка miniFlame началась несколько лет назад и продолжалась до 2012 года. Согласно коду серверов управления, протоколы для обслуживания SP и SPE были созданы ранее или одновременно с протоколом работы для FL (Flame), а это означает, как минимум, 2007 год.

Мы считаем, что всего разработчики miniFlame создали десятки различных модификаций программы. На данный момент нам удалось найти «всего лишь» шесть из них, датированные 2010-2011 годами.

В ряде случаев для работы SPE задействовались независимые серверы управления, использованные только для данной программы. Одновременно с этим некоторые варианты SPE работали с теми же серверами, с которыми взаимодействовал Flame.

miniFlame отличается от Flame и Gauss значительно меньшим количеством заражений. Если для Flame/Gauss общее количество жертв оценивается нами минимум в 10 000 систем, то SPE обнаружен всего лишь в нескольких десятках систем в Западной Азии. Это говорит о том, что SPE является инструментом точечных атак и, вероятно, использовался исключительно против конкретных объектов, представляющих для атакующих наибольший интерес и значение.

Название Число инцидентов
(статистика ЛК)
Число инцидентов
(приблизительное)
Stuxnet Более 100 000 Более 300 000
Gauss ~ 2500 ~10 000
Flame (FL) ~ 700 ~5000-6000
Duqu ~20 ~50-60
miniFlame (SPE) miniFlame (SPE) ~50-60

В отличие от Flame, который в подавляющем числе инцидентов был обнаружен в Иране и Судане, а также в отличие от Gauss, который присутствовал в основном в Ливане, SPE не имеет явно выраженной географической привязки к какой-то одной стране. Скорее, мы склонны констатировать, что страны варьируются в зависимости от варианта SPE. Так, например, модификация “4.50” больше распространена в Ливане и Палестине, в то время как другие варианты присутствуют в Иране, Кувейте и Катаре.

Способ первоначального распространения SPE неизвестен. Однако с учетом фактов его работы как в составе Flame, так и в составе Gauss, а также единых с Flame серверов управления, мы считаем, что в большинстве случаев SPE устанавливался именно с серверов управления в системы, уже зараженные Flame или Gauss.

Связь с Gauss

Вредоносная программа SPE/miniFlame уникальна тем, что она может работать как автономно, так и в качестве плагина к Flame или Gauss. По сути, она является связующим звеном между проектами Flame и Gauss, оставаясь при этом независимой от обоих. Она использует либо собственные серверы управления, либо общие серверы с Flame.

Всего нам удалось обнаружить 6 различных вариантов SPE. Все они были созданы в период с 1 октября 2010 года по 1 сентября 2011 года.

На момент написания этого документа наиболее распространенной in-the-wild версией является 4.50.

Статистика sinkhole-сервера

В ходе расследований нам удалось переключить на наш sinkhole-сервер несколько доменов, используемых серверами управления Flame, а также несколько доменов miniFlame. Приведенная ниже статистика относится только к соединениям miniFlame.

В период с 28 мая по 30 сентября 2012 года мы зарегистрировали в общей сложности около 14 000 соединений примерно с 90 различных IP-адресов.

Географическое распределение IP-адресов жертв:

Нам удалось проследить IP-адреса из США до VPN-соединений. Аналогично, литовский IP-адрес принадлежит интернет-провайдеру, предлагающему спутниковый интернет в Ливане. Наиболее любопытная ситуация с французскими IP-адресами: по некоторым из них, судя по всему, находятся прокси-серверы или VPN-каналы, однако с другими все не так очевидно.

Например, один из IP-адресов жертв из Франции принадлежит университету имени Франсуа Рабле в Туре:

Другие IP-адреса во Франции принадлежат пользователям мобильного или бесплатного публичного интернета.

В целом похоже, что жертвы атак находились преимущественно в Ливане и Иране.

Бэкдор-функционал SPE / miniFlame:

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

Вредоносная программа понимает следующие команды:

Имя команды Описание
FIONA Write file from the C&C to the victim machine
SONIA Send a file from the victim machine to the C&C
EVE Load a specified DLL and execute its specified export with no arguments
ELVIS Create a process with given parameters, wait for it
DRAKE Remove StandardTimeBias parameter from registry, signal the event “GlobalTRStepEvent” (self-destruct)
CHARLES Write a new StandardTimeBias value to the registry
SAM Sleep for a specified amount of time
ALEX (версия 5.00) Get system idle time in milliseconds
BARBARA (версия 5.00) Make a screenshot of the foreground window if it belongs to one of the predefined processes.
TIFFANY (версия 5.00) Switch to the C&C server provided in the parameters of the command

Все команды выдаются через сервер управления и шифруются стандартным алгоритмом XOR с 10-байтовым ключом, а также дополнительным уровнем шифрования Twofish.

Выводы

В процессе анализа кода серверов управления Flame мы обнаружили, что серверу известно четыре разных вида вредоносных клиентов: SP, SPE, FL и IP. Вредоносное ПО, известное как FL, – это Flame. Сегодня мы объявляем об обнаружении вредоносной программы, известной как SPE.

По результатам проведенного нами анализа мы составили список основных известных нам фактов об SPE – вредоносной программе, получившей также имена «miniFlame» и «John» (последнее имя взято из соответствующей конфигурации Gauss):

  • miniFlame не является широко распространенной вредоносной программой. Вероятнее всего, она развертывается лишь на очень небольшом числе компьютеров жертв «высокого ранга».
  • В отличие от Gauss, в SPE/miniFlame реализован полнофункциональный бэкдор с архитектурой «клиент-сервер», который обеспечивает оператору непосредственный доступ к зараженной системе.
  • Проанализированный нами код серверов управления Flame, по-видимому, не содержит специальных модулей для управления клиентами SPE; мы можем предположить, что существуют или существовали другие выделенные серверы управления SPE со своей собственной кодовой базой.
  • Разработка SPE велась в 2010-2011 годах, параллельно с созданием Flame и Gauss.
  • Как Flame, так и Gauss используют miniFlame/SPE в качестве модуля.
  • Последний известный вариант SPE имеет версию 5.00; самый ранний известный вариант имеет версию 4.00.
  • Точный вектор заражения SPE неизвестен; считается, что вредоносная программа развертывается с сервера управления в процессе заражения программой Flame или Gauss.
  • Исполняемый файл версии 4.20 вредоносной программы содержит следующую отладочную информацию: “C:projectseSP4.2general_vobspReleaseicsvnt32.pdb”. Это указывает на то, что автор назвал вредоносную программу “SP4.2”, но при этом на языке серверов управления соответствующий тип клиента называется «SPE». Не исключено, что SP – это просто более ранняя версия miniFlame/SPE (т.е. версия с номером от 1.00 до 3.xx).
  • SPE/miniFlame подводит доказательную базу под теорию о наличии серьезного взаимодействия между командами разработчиков Flame и Gauss. miniFlame представляет собой общий модуль, используемый обеими вредоносными программами.
  • Все известные версии SPE с номерами 4.xx содержат секцию version info со ссылкой на кодовую страницу 3081 – ENG_AUS, English (Australia)

В то время как Flame и Gauss применялись для широкомасштабных шпионских операций с заражением тысяч пользователей, SPE/miniFlame представляет собой высокоточный инструмент шпионажа. Число его жертв сравнимо с числом жертв Duqu.

Мы можем предположить, что эта вредоносная программа была элементом кампаний Flame и Gauss, которые проводились в несколькими этапов. Первый этап: заражение как можно большего числа жертв, потенциально интересных атакующим. Второй: сбор данных с компьютеров жертв, позволяющий атакующим разделить их на категории и выбрать наиболее интересные цели. Наконец, развертывание на «избранных» целях специализированного средства наблюдения/монитронига, такого как SPE/miniFlame.

В коде серверов управления Flame упоминаются еще две вредоносных программы: SP и IP. Если SP, скорее всего, обозначает ранний вариант вредоносной программы, описанной в настоящем документе, то IP – это, вероятно, другая, неизвестная до сих пор программа. Анализ исходного кода серверов управления показывает, что IP – последняя по времени создания вредоносная программа из четырех.

Своим анализом вредоносных программ Flame, Gauss и miniFlame мы, вероятно, затронули лишь верхушку огромного айсберга операций по кибершпионажу, осуществляемых в настоящее время на Ближнем Востоке. Их действительная цель во всей ее полноте остается неясной; личности жертв и атакующих – неизвестными.

Полный текст нашего технического анализа SPE / miniFlame вы можете прочитать здесь.

«Лаборатория Касперского» благодарит CERT-Bund/BSI за содействие в проведении этого расследования.

miniFlame, он же SPE: «Элвис и его друзья»

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике