Gauss: государственный кибершпионаж плюс

Введение

Gauss – новейшая система кибер-слежки, открывшая еще одну страницу в саге о Stuxnet, Duqu и Flame. Вредоносная программа, по-видимому, была создана в середине 2011 года и впервые применена в августе-сентябре того же года.

Программа Gauss была обнаружена в ходе расследования, которое проводилось по инициативе Международного союза электросвязи (МСЭ), выдвинутой после обнаружения вредоносной программы Flame. Цель проводимой работы – снижение рисков, которые несет кибероружие. Это ключевой элемент усилий по достижению главной цели –мира в глобальном киберпространстве.

Если попытаться уложить описание не более чем в 140 символов, то: «Gauss – это «банковский» троянец, созданный государством, имеющий вредоносный функционал неизвестного назначения». В дополнение к краже разнообразных данных с зараженных Windows-компьютеров он содержит неизвестный пока вредоносный функционал, код которого зашифрован и который активируется только в системах с определенной конфигурацией.

Точно так же, как Duqu был основан на платформе Tilded, на базе которой создан Stuxnet, Gauss базируется на платформе Flame. Программа имеет некоторые общие функциональные элементы с Flame, такие как подпрограммы заражения USB-носителей.

В этой подборке «Часто задаваемых вопросов» (FAQ) мы ответим на некоторые из главных вопросов о функционировании Gauss. Кроме того, мы выпустили подробный технический документ (HTML/PDF), в котором описан полный функционал вредоносной программы.

Что представляет собой Gauss? Каково происхождение названия?

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

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

Модули имеют внутренние имена, которые, очевидно, отдают дань уважения знаменитым математикам и философам, таким как Курт Гёдель, Иоганн Карл Фридрих Гаусс и Жозеф Луи Лагранж.

Модуль под названием Gauss – наиболее важный элемент вредоносной программы, поскольку в нем реализованы возможности, связанные с кражей банковских данных. Таким образом, мы назвали весь вредоносный комплекс по имени этого компонента.


Архитектура Gauss

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

Вариант Путь к файлам проекта
Август 2011 г. d:projectsgauss
Октябрь 2011 г. d:projectsgauss_for_macis_2
Дек. 2011– янв. 2012 гг. c:documents and settingsflamerdesktopgauss_white_1

Путь «projectsgauss» сразу бросается в глаза.

Что касается слова white (белый) в названии папки: мы считаем, что это ссылка на Ливан – страну, где случаев заражения Gauss больше, чем где бы то ни было еще. Из английской Википедии: «The name Lebanon comes from the Semitic root LBN, meaning «white», likely a reference to the snow-capped Mount Lebanon.» (Название Ливан происходит от семитского корня lbn, означающего «белый». Вероятно, это относится к заснеженным вершинам Ливанского хребта.) (http://en.wikipedia.org/wiki/Lebanon#Etymology)

Как был обнаружен вредоносный комплекс Gauss? И когда?

Комплекс Gauss был обнаружен в ходе расследования, которое проводилось по инициативе Международного союза электросвязи (МСЭ) в рамках долговременного проекта по минимизации рисков, связанных с новейшими киберугрозами, и обеспечению мира в киберпространстве.

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

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

Когда был создан Gauss и как долго он действовал? Активен ли он до сих пор?

Исходя из результатов нашего анализа и временных меток имеющихся в нашем распоряжении вредоносных модулей, мы считаем, что Gauss начал функционировать в августе-сентябре 2011 года. Это представляет особый интерес в свете того, что примерно в сентябре 2011 года венгерская лаборатория CrySyS Lab сообщила об обнаружении Duqu. Мы не знаем, верно ли, что те, кто стоят за Duqu, перешли в это время на Gauss, однако мы совершенно уверены в том, что между этими проектами есть связь: Gauss связан с Flame, Flame связан со Stuxnet, Stuxnet связан с Duqu. Таким образом, Gauss связан с Duqu.

Начиная с конца мая 2012 года облачным защитным сервисом «Лаборатории Касперского» зарегистрировано более 2 500 заражений Gauss; при этом, по нашей оценке, общее реальное число жертв вредоносной программы измеряется десятками тысяч.

Инфраструктура командных (C&C) серверов Gauss была отключена его операторами в июле 2012 года. В данный момент вредоносное ПО Gauss неактивно и ожидает возобновления работы командных серверов.

Какой механизм заражения использует это вредоносное ПО? Имеет ли оно способность к самораспространению (как черви)?

Как и в случае с Flame, нам по-прежнему неизвестно, каким образом компьютеры жертв заражаются Gauss.Не исключено, что Gauss использует тот же неизвестный нам механизм заражения, что и Flame, однако возможно, что в Gauss применен иной способ. Мы не обнаружили механизма самораспространения (как у червей) в Gauss, однако большее число жертв, чем у Flame, может указывать на наличие функции самораспространения. Возможно, эта функция реализована в модуле, который нам пока неизвестен.

Важно упомянуть, что Gauss заражает USB-носители компонентом, предназначенным для кражи данных, использующим ту же уязвимость .LNK (CVE-2010-2568), которую эксплуатируют Stuxnet и Flame. В то же время, в данном случае имеет место более интеллектуальный и эффективный процесс заражения USB-носителей. Gauss способен «обеззараживать» носитель при определенных обстоятельствах и использует съемный носитель для хранения собранной информации в скрытом файле. Очень похожая способность хранить информацию в скрытом файле на USB-носителе имеется также у Flame. Еще одна интересная функция Gauss – установка нестандартного шрифта Palida Narrow. Цель установки этого шрифта в систему на данный момент неизвестна.

Использованы ли эксплойты к уязвимостям нулевого дня (или известным)?

На сегодняшний день мы (пока что) не нашли в Gauss эксплойтов, использующих уязвимости нулевого дня или предоставляющих «God mode», как в случае Flame. С другой стороны, поскольку механизм распространения Gauss пока неизвестен, совершенно не исключено применение неизвестного эксплойта.

Нужно отметить, что на компьютерах подавляющего большинства жертв Gauss установлена система Windows 7, в которой должен быть неэффективен .LNK-эксплойт, использованный в Stuxnet. Таким образом, мы не можем уверенно подтвердить, что в Gauss не применены эксплойты нулевого дня.

Имеется ли в Gauss какой-то особый вредоносный функционал или «мина замедленного действия»?

Имеется. Код Gauss, реализующий функционал, связанный с кражей данных, содержит несколько зашифрованных разделов, расшифровка которых осуществляется ключом, формируемым на основе определенных свойств системы. Эти разделы зашифрованы ключом RC4, получаемым в результате выполнения 10 000 раз операции MD5-хеширования строки, полученной из комбинации строки окружения %PATH% и имени соответствующей папки в %PROGRAMFILES%. Ключ RC4 и содержимое этих разделов пока неизвестны – так что мы не знаем, каково назначение этого вредоносного функционала.

Мы все еще осуществляем анализ содержимого этих таинственных зашифрованных блоков и пытаемся взломать схему шифрования. Если вы специалист мирового класса в области шифрования и хотели бы принять участие в решении этой задачи, напишите нам, пожалуйста, на адрес theflame@kaspersky.com

Чем эта вредоносная программа отличается от обычного троянца-бэкдора? Делает ли она что-то конкретное, что можно считать новыми или интересным?

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

Развитая модульная архитектура Gauss напоминает нам Duqu: программа использует зашифрованный ключ реестра для хранения информации о том, какие модули должны быть загружены, она рассчитана на скрытную работу в системе, избегает средств защиты и мониторинга и при этом сама осуществляет детальный мониторинг системы. Кроме того, Gauss содержит 64-разрядный вредоносный функционал, а также совместимые с браузером Firefox плагины, предназначенные для кражи и мониторинга данных, пересылаемых пользователями нескольких ливанских банков — Bank of Beirut, EBLF, BlomBank, ByblosBank, FransaBank и Credit Libanais. Вдобавок, программа нацелена, в частности, на пользователей Citibank и PayPal.

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

Насколько сложен Gauss? Имеет ли он какие-либо примечательные характеристики, функции или особенности поведения, отличающие его от обычного шпионского ПО или троянцев, предназначенных для кражи информации?

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

Каковы уникальные черты Gauss с технологической и функциональной точки зрения, отличающие его от Flame, Duqu и Stuxnet?

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

Сколько всего компьютеров заражено? Сколько жертв вы зарегистрировали?

Облачный сервис Kaspersky Security Network (KSN) зарегистрировал более 2 500 зараженных машин. Это меньше, чем в случае Stuxnet, но значительно больше числа жертв Flame и Duqu.

Не исключено, что нами зарегистрирована лишь малая часть случаев заражения, число которых может в действительности достигать десятков тысяч, поскольку в наших данных учтены лишь пользователи продуктов «Лаборатории Касперского».


Сравнение географического распределения машин, зараженных Duqu, Flame и Gauss

Где находятся жертвы (географическое распределение)?

Абсолютное большинство жертв Gauss находятся на территории Ливана. Имеются также жертвы в Израиле и Палестине. Кроме того, небольшое число жертв зарегистрировано в США, ОАЭ, Катаре, Иордании, Германии и Египте.


Тройка стран с наибольшим числом заражений Gauss

Нацелен ли Gauss на какую-то конкретную отрасль?

Gauss не нацелен на конкретную отрасль или компании. Наиболее точно его можно описать как операцию высочайшего уровня по слежке за отдельными/конкретными лицами.

Верно ли, что это атака, созданная при поддержке государства?

Да, имеется достаточно фактов, свидетельствующих о близком родстве Gauss с Flame и Stuxnet, которые представляют собой атаки, созданные при поддержке государственных структур. У нас есть доказательства того, что Gauss создан на той же «фабрике» (или «фабриках»), что и Stuxnet, Duqu и Flame.

На основе анализа Flame, Gauss, Stuxnet и Duqu можно показать «крупным планом» взаимосвязь между этими вредоносными программами:

Сколько всего существует командных серверов? Проводили ли вы криминалистический анализ этих серверов?

В ходе анализа Gauss мы идентифицировали несколько доменов и 5 различных командных серверов, используемых для приема данных, собранных на зараженных машинах.

Также мы впервые отмечаем использование Round-robin DNS (http://ru.wikipedia.org/wiki/Round_robin_DNS) в этих семействах вредоносных программ, что, возможно, говорит об обработке значительного объема данных. Round-robin DNS, или круговое распределение нагрузки, – это метод, позволяющий распределить высокие уровни нагрузки между несколькими веб-серверами.

Мы продолжаем изучать инфраструктуру командных серверов Gauss. Более подробную информацию можно найти в полном техническом описании программы.

Использовали ли вы sinkhole-маршрутизатор, чтобы установить контроль над командными серверами?

Не использовали. В настоящее время мы работаем в сотрудничестве с несколькими организациями, чтобы получить возможность изучения командных серверов Gauss.

Каков размер программы Gauss? Сколько модулей входят в ее состав?

Модуль Gauss, выполняющий основные функции управления другими компонентами, имеет размер чуть больше 200 Кб. Он способен загружать другие модули, которые вместе насчитывают около 2 МБ кода. Это примерно треть от размера главного модуля Flame mssecmgr.ocx. Конечно, возможно, что существуют модули, которые мы еще не обнаружили – используемые в других географических регионах или в других обстоятельствах, про которые нам неизвестно.

Обнаруживают ли продукты «Лаборатории Касперского» это вредоносное ПО? Как узнать, заражен ли мой компьютер?

Да, продукты «Лаборатории Касперского» детектируют это вредоносное ПО как Trojan.Win32.Gauss

Сотрудничает ли «Лаборатория Касперского» с какими-либо государственными организациями или международными группами в рамках работы по расследованию атак и ликвидации заражения?

«Лаборатория Касперского» тесно сотрудничает с Международным союзом электросвязи (МСЭ) с целью информирования затронутых стран и оказания помощи в ликвидации заражения.

Связывалась ли «Лаборатория Касперского» с жертвами заражения Gauss?

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

Почему вредоносная программа собирает информацию об истории просмотра сайтов, данные для аутентификации в системах банкинга и информацию о BIOS и сетевых картах/интерфейсах?

У нас нет однозначного ответа на этот вопрос. Наша рабочая гипотеза состоит в том, что организаторы атаки ставят цель получить полное представление о жертвах и их компьютерах. Данные для доступа к системам онлайн-банкинга, например, могут быть использованы для отслеживания баланса на счетах жертв – но и для непосредственной кражи средств со счетов они тоже годятся. Однако, по нашему мнению, гипотеза, что Gauss используется для кражи средств, которые затем идут на финансирование других проектов, таких как Flame и Stuxnet, не совместима с идеей атак, проводимых при поддержке государства.

Почему злоумышленники стремятся украсть данные для доступа к системам онлайн-банкинга? Использовали ли они эти данные для кражи средств или для мониторинга операций по счетам жертв?

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

Какого рода данные передавались на серверы злоумышленников?

Инфраструктура Gauss была отключена её операторами до того, как у нас появилась возможность проанализировать активное заражение и проследить, какие данные крадет программа и в каком объеме. Соответственно, наши выводы основаны исключительно на анализе кода.

Злоумышленникам отправлялись подробные данные о зараженной машине, включая детальную информацию о сетевых интерфейсах, накопителях, установленных на компьютере, и даже о BIOS. Модуль Gauss способен также воровать данные, используемые для доступа к различным системам онлайн-банкинга и различных платежных систем.

Важно отметить, что в инфраструктуре командных серверов Gauss использована система Round Robin DNS. Это значит, что серверы были готовы к обработке значительных объемов трафика, возможно от десятков тысяч жертв. Это может свидетельствовать об объемах данных, украденных модулями Gauss.

Содержит ли Gauss компонент, ограничивающий продолжительность жизненного цикла программы (Time-to-Live, TTL), как в случае Flame и Duqu?

При заражении USB-накопителя определенный флаг устанавливается в значение «30». Значение этого TTL (time to live) флага уменьшается каждый раз при запуске вредоносного функционала с накопителя. При достижении нулевого значения функционал, предназначенный для кражи данных, удаляется с USB-накопителя. Таким образом, заражения Gauss не остаются активными в дикой среде в течение длительного времени, которого было бы достаточно для их обнаружения.

Какой использован язык программирования? Lua? OOC?

Так же, как и Flame, Gauss написан на C++. Эти вредоносные программы имеют достаточно большое количество одинакового кода. Вероятнее всего, это низкоуровневые библиотеки, которые используются в обоих проектах. Эти общие библиотеки задействуются при обработке строк и в других задачах, связанных с манипулированием данными. Мы не обнаружили в Gauss кода на Lua.

Какова разница в способах распространения Gauss и Flame внутри сетей?

Один из известных механизмов распространения Flame основан на подмене Windows Update и проведении против жертв атаки типа man-in-the-middle. В Gauss мы пока не обнаружили кода, реализующего подобную функцию; не нашли мы и механизма распространения по локальной сети. Мы продолжаем изучать ситуацию и будем дополнять ответы на часто задаваемые вопросы новой информацией по мере ее появления.

Связаны ли командные серверы Gauss с серверами Flame или у Gauss собственная инфраструктура командных серверов?

Gauss использовал отдельную от Flame инфраструктуру командных серверов.

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

Flame Gauss
Размещение VPS на базе Debian Linux VPS на базе Debian Linux
Доступные сервисы SSH, HTTP, HTTPS SSH, HTTP, HTTPS
SSL-сертификат ‘localhost.localdomain’ — самоподписанный ‘localhost.localdomain’ — самоподписанный
Информация о владельцах доменов Фальшивые имена Фальшивые имена
Адреса владельцев доменов Отели, магазины Отели, магазины
Протокол обмена данными с командным сервером HTTPS HTTPS
Шифрование трафика Отсутствует XOR 0xACDC
Имена скриптов на командном сервере cgi-bin/counter.cgi, common/index.php userhome.php
Число доменов для размещения командных серверов ~100 6
Число фальшивых лиц, на которых зарегистрированы домены ~20 3

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

Просим вас связаться с нами по адресу theflame@kaspersky.com, который мы создали специально для жертв данных кибератак.

Постинги на схожие темы 

Добавить комментарий

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