27 мая 2012 года иранский координационный центр CERT (MAHER) опубликовал сведения об обнаружении новой целевой атаки, получившей название Flamer. 28 мая в 9 часов утра (часовой пояс восточного побережья США — EST) после проведения расследования, организованного по просьбе Международного союза электросвязи, «Лаборатория Касперского» и венгерская лаборатория CrySyS Lab объявили об обнаружении вредоносной программы Flame (она же Skywiper) — сложнейшего набора инструментов для кибершпионажа, мишенями которого стали прежде всего Windows-компьютеры в странах Ближнего Востока.
Несколько часов спустя, около 4 часов пополудни по Гринвичу, была отключена инфраструктура командных серверов Flame, проработавшая несколько лет.
В течение последних недель «Лаборатория Касперского» осуществляла детальный мониторинг инфраструктуры командных серверов (C&C) Flame. В сотрудничестве с GoDaddy и OpenDNS нам удалось переключить на sinkhole-маршрутизатор большинство вредоносных доменов, используемых инфраструктурой C&C Flame, и получить уникальные сведения о работе этой вредоносной программы.
«Лаборатория Касперского» хотела бы поблагодарить отдел по борьбе с сетевыми злоупотреблениями GoDaddy (GoDaddy Network Abuse Department) и Уильяма МакАртура (William MacArthur) за их быстрый отклик и неоценимую поддержку этого расследования. Группа исследования проблем безопасности OpenDNS (OpenDNS security research team) также оказала нам ценнейшее содействие в ходе расследования.
Результаты нашего анализа инфрастуктуры Flame приведены ниже.
Введение
Поскольку похоже, что и Flame, и Duqu нацелены на одни и те же регионы и создавались с учетом аналогичных целей, мы приводим сравнительный анализ инфраструктуры C&C-серверов Flame и Duqu.
Ранее «Лаборатория Касперского» проводила анализ инфраструктуры C&C-серверов Duqu и обнаружила несколько важных деталей (например то, что киберпреступники предпочитают CentOS и используют SharpSSH для контроля прокси-серверов), а также большое количество атакованных прокси-серверов, используемых для сокрытия подлинной identity киберпреступников.
В инциденте с Flame мы провели похожий анализ. Прежде всего, интересным является отличие от Duqu: в то время как все известные C&C Duqu работали под CentOS, все известные C&C Flame функционируют на Ubuntu.
Помимо этого, если Duqu использовал очень незаметный способ сокрытия настоящего IP-адреса основного сервера, используя для передачи SSH-порт, скрипты Flame просто работают на соответствующих серверах. Причина проста — в понедельник 28 мая все контрольные скрипты начали показывать ошибки 403/404. В случае с Duqu реальные вредоносные скрипты находились на удаленном сервере и не были ни разу обнаружены.
С этой точки зрения можно утверждать, что киберпреступники, стоящие за Duqu, стараясь скрыть свою активность проявляли значительно большую аккуратность по сравнению с теми, кто стоит за Flame.
Ниже мы приводим сравнение инфраструктуры C&C-серверов Duqu и Flame:
Duqu | Flame | |
Server OS | CentOS Linux | Ubuntu Linux |
Control scripts | Running on remote server, shielded through SSH port forwarding | Running on servers |
Number of victims per server | 2-3 | 50+ |
Encryption of connections to server | SSL + proprietary AES-based encryption | SSL |
Compression of connections | No | Yes, Zlib and modified PPMD |
Number of known C&C’s domains | n/a | 80+ |
Number of known C&C IPs | 5 | 15+ |
Number of proxies used to hide identity | 10+ | Unknown |
Time zone of C&C operator | GMT+2 / GMT+3 | Unknown |
Infrastructure programming | .NET | Unknown |
Locations of servers | India, Vietnam, Belgium, UK, Netherlands, Switzerland, Korea, etc… | Germany, Netherlands, UK, Switzerland, Hong Kong, Turkey, etc… |
Number of built-in C&C IPs/domain in malware | 1 | 5, can update list |
SSL certificate | self-signed | self-signed |
Servers status | Most likely hacked | Most likely bought |
SSH connections | no | yes |
При заражении компьютера Flame использует конфигурацию по умолчанию, в которую входят 5 доменных имен серверов управления. Перед тем как подключиться к ним, червь проверяет наличие интернет-соединения, пытаясь соединиться с www.microsoft.com, windowsupdate.microsoft.com и www.verisign.com, используя HTTPS. В случае наличия интернет-соединения, Flame начинает процесс общения с собственными серверами управления.
Дополнительно к конфигурации по умолчанию, Flame управляет базой данных дополнительных серверов. Мы исследовали эту дополнительную базу, которая может загружаться с C&C сервера целиком и содержит 5-6 других доменов. В общей сложности запущенный Flame для попыток соединения с активным сервером управления может использовать список, содержащий около 10 доменов.
Интересно, что Flame также ведет лог своей активности в системе, в который записывает сообщения о таких соединениях, включая информацию о времени и дате.
В ходе анализа образцов Flame, полученных с Ближнего Востока, мы обнаружили, что они пытались подключиться к 5 разным доменам. Дополнительная конфигурация включала еще 6 доменов. Из логов активности Flame мы извлекли еще 5 других доменных имен, что в сумме дало нам 11 уникальных доменов, с которыми работал данный образец червя.
Исследуя IP-адреса, на которых были размещены данные домены, мы обнаружили еще 30 доменов, которые распологались на тех же самых серверах. Проведя проверку истории IP-адресов для этих доменов, мы нашли еще 40 доменов, которые также были связанны с первыми доменами. В общем, мы установили более 80 различных доменных имен, которые так или иначе принадлежат к инфраструктуре серверов управления Flame.
Все C&C домены Flame были зарегистрированы на впечатляющий список поддельных лиц через различные регистрационные компании. Регистрация проводилась как минимум с 2008 года. Как правило, на каждого фальшивого владельца регистрировались только 2-3 домена, но в некоторых редких случаях на такую «персону» было зарегистрировано до 4 доменов.
Наибольшее количество C&C доменов было зарегистрировано через компанию GoDaddy.
Для регистрации использовались такие имена как Adrien Leroy, Arthur Vangen, George Wirtz, Gerard Caraty, Ivan Blix, Jerard Ree, Karel Schmid, Maria Weber, Mark Ploder, Mike Bassett, Paolo Calzaretta, Robert Fabous, Robert Wagmann, Romel Bottem, Ronald Dinter, Soma Mukhopadhyay, Stephane Borrail, Traian Lucescu, Werner Goetz или Will Ripmann и другие.
Во многих случаях при регистрации использовались поддельные адреса в Германии и Австрии, особенно часто — в Вене. Мы не знаем, по каким причинам Вена оказалась для киберпреступников столь привлекательной.
Давайте посмотрим внимательнее на этих поддельных «персон». Для примера, возьмем регистрацию «chchengine.com», который еще совсем недавно использовался Flame. Домен был зарегистрирован на некого «Karel Schmid» с адресом «rue dizerens 7, Geneva». Это реальный адрес — отеля «Appart’Hotel Residence Dizerens»:
Вот еще один пример домена, который был зарегистрирован на некого «Ivan Blix».
В качестве адреса владельца указаны «Koninginneweg 93, Oslo». Однако если поискать это место, то выяснится, что такого в Осло нет. Зато есть точно такое же — в Амстердаме. И этот адрес тоже принадлежит отелю, который называется «Apple Inn»:
При регистрации всех доменов использовались адреса отелей, магазинов, организаций, врачебных офисов или просто несуществующие в реальности адреса.
Собирая информацию обо всей инфраструктуре серверов управления Flame, мы обобщили полученные данные в единой схеме этой крайне сложной операции. Количество доменов и серверов, которые использовались в ходе операции Flame, подтверждает наше мнение о сложности этой угрозы.
Общее число известных в настоящее время доменов, задействованных в качестве C&C и связанных с ними, превышает 80. Они были зарегистрированы в период 2008-2012 годов. За эти 4 года C&C постоянно меняли дислокацию и располагались на серверах в разных странах — в Гонконге, Турции, Германии, Польше, Малайзии, Латвии, Швейцарии и т.д.
Обнаружив столь большое разнообразие доменов, мы обратились в GoDaddy и попросили перемаршрутизировать все обнаруженные домены на наш синкхол-сервер. Кроме того, команда по безопасности OpenDNS со своей стороны также включила перенаправление трафика всех доменов на наш сервер — для защиты пользователей OpenDNS.
C&C-серверы Flame
Если мы подсчитаем все IP-адреса, использованные в доменах Flame за последние 4 года, исключив адреса известных хостинг-сервисов, временно использованных для первичной регистрации, то получим 22 различных IP-адреса серверов Flame.
С момента обнаружения Flame мы исследовали 5 подобных серверов. Все они имели открытые 22, 443 и 8080 порты. Если доверять информации из заголовков ответов Apache и SSH, все они работали под управлением Ubutnu Linux,. Один из них имел открытый 80-й порт, но он был выключен сразу же после публичного сообщения об обнаружении Flame.
SSL сертификаты, использованные на серверах Flame, являются «самоподписанными», сертификат последнего активного домена (в Голландии) якобы создан 18 мая 2012 года.
Интересная деталь — в субботу 2 июня 2012, в 20-40 GMT, несколько известных C&C доменов, которые ранее указывали на сервер в Голландии (91.203.214.*) были перенаправлены на новый сервер в Германии (78.46.253.*). Этот новый сервер был отключен в воскресенье 3 июня.
Статистика KSN
Kaspersky Security Network (KSN) — это наша облачная инфраструктура, используемая продуктами «Лаборатории Касперского» для передачи статистической информации и доставки мгновенных средств защиты, таких как различные виды «списков запрещенных» и эвристических правил для обнаружения новейших угроз.
Мы использовали KSN для обнаружения Flame, исходя из того факта, что имена файлов, использованные во Flame, являются уникальными. Позже мы заполучили сам образец кода червя и смогли отследить его распространенность по миру.
Текущая статистика Flame из KSN:
Очевидно, что наибольшее число жертв Flame находится на Ближнем Востоке. Важно отметить, что некоторые из жертв могут использовать различные VPN/proxy сервисы. В таких случаях зараженные системы могут иметь, например, европейские IP-адреса, хотя физически находятся в азиатском регионе. Также некоторые «пострадавшие» на самом деле могут быть машинами других исследователей. Однако в целом статистика выглядит достаточно точной и отражает географическое распределение заражений.
Что насчет операционных систем, пораженных Flame? Вот так выглядит статистика, полученная на основе данных об ОС тех систем, где были обнаружены заражения:
Наибольшее число заражений отмечено на системах с Windows 7 32-бит. На втором месте — Windows XP. Важно отметить, что Flame не работает на Windows 7 64-бит, которую мы ранее рекомендовали как хорошее решение для защиты от других видов угроз.
Статистика с нашего sinkhole и от OpenDNS
Наш партнер в этом исследовании, компания OpenDNS, собрала воедино информацию о датах регистрации доменов Flame за последние годы. Вы можете увидеть эти анимированные данные здесь: https://www.opendns.com/flame-timeline/
За последнюю неделю наш сервер зарегистрировал множество обращений от зараженных пользователей — ниже вы можете увидеть статистику по их местоположению. Необходимо учитывать, что подавляющее большинство заразившихся машин уже вылечены при помощи антивирусных программ. Таким образом, мы видим коннекты тех жертв, которые, видимо, не пользуются антивирусами или давно их не обновляли.
Также мы заметили подключения из Великобритании, Испании, России и Румынии, которые принадлежат различным экспертам, как независимым, так и из секьюрити-компаний.
Ниже — статистика по 10 наиболее часто используемым доменам, к которым происходило обращение на наш sinkhole-сервер:
В настоящее время 28 доменов, связанных с Flame, перенаправлены на синкхол-сервер, принадлежащий «Лаборатории Касперского»: flashupdates.info, nvidiadrivers.info, nvidiasoft.info, nvidiastream.info, rendercodec.info, syncstream.info, videosync.info, dnslocation.info, dnsmask.info, dnsportal.info, dnsupdate.info, flushdns.info, localgateway.info, pingserver.info, serveflash.info, serverss.info, autosync.info, bannerspot.in, bannerzone.in, micromedia.in, mysync.info, newsync.info, syncdomain.info, synclock.info, syncprovider.info, syncsource.info, syncupdate.info и ultrasoft.in.
Данные, передаваемые Flame
Когда Flame подключается к синкхолу, он передает POST запрос для идентификации себя. После этого отправляется большой пакет данных, которые содержат много «интересной» информации, например, о версии Flame, его конфигурации, историю активности в зараженной системе, данные, извлеченные из документов, и так далее.
Во всех конфигурациях, которые мы наблюдали, использовался один и тот же пароль «LifeStyle2». Этот пароль хранится в конфигурационном файле Flame и может быть изменен.
Пакет данных, загружаемый на сервер, содержит зашифрованные лог-файлы и другую сжатую информацию. Если расшифровать эти данные, то можно найти информацию о версии Flame, которая передается на сервер.
Распределение Flame по версиям, подключавшимся к нашему серверу, выглядит следующим образом:
Большинство подключений осуществлялось версией 2.242, которая является той самой, которую мы изначально обнаружили и анализировали. Это подтверждает то, что она является самым распространенным вариантом Flame. Но она не самая актуальная: мы видим одно подключение от пользователя, зараженного версией 2.243!
Версия 2.080 также очень интересна — это маленький вариант «mssecmgr.ocx» (~890кб), который не содержит в себе всех модулей, имеющихся в большом 6-ти мегабайтном варианте. У нас также имеется образец данного варианта, и мы анализировали его одновременно с большим образцом.
Среди компьютеров, подключавшихся к нашему синкхолу, есть несколько очень интересных случаев: три PC — в Ливане, Ираке и Иране. В ходе нашей синкхол-операции версии Flame на этих машинах изменились — вероятно, червь обновил себя за это время. Например, вариант 2.212 изменился на 2.242 в двух из этих случаев. Это свидетельствует о существовании пока неизвестного C&C, который также функционировал во время нашего синкхола. Или о неизвестном нам механизме обновления Flame.
Среди всех данных, извлекаемых из систем, атакующие явно испытывают повышенный интерес к чертежам в AutoCAD. Это интересная деталь, поскольку известно, что AutoCAD проекты также были целями троянца Duqu.
В дополнении к DWG-файлам, которые являются проектами AutoCAD, Flame целенаправленно ищет PDF и текстовые файлы, а также другие документы и создает краткие справочники о найденных файлах. Он также охотится за электронной почтой и многими другими видами различных «интересных» (высокоценных) файлов, которые указаны в конфигурации червя.
Данные, отправляемые на сервер управления, зашифрованы с использованием простого XOR-шифрования в сочетании с шифром замены. В дополнение к этому многие блоки внутри сжаты при помощи Zlib и PPDM библиотек.
Интересно, что данные, передаваемые на сервер, разбиты на пакеты по 8192 байт. Это возможно сделано для восстановления после ошибок — известно, что интернет на Ближнем Востоке очень медленный и не очень стабильный.
Другой интересной особенностью Flame является использование SSH соединений при передаче данных. Судя по всему (несмотря на то, что мы не смогли воспроизвести такое поведение), когда интернет работает, но серверы Flame недоступны через SSL, он пытается использовать SSH.
SSH соединение устанавливается при помощи встроенной в червя Putty-based библиотеки. На данный момент IP-адрес сервера и username/password неизвестны. Возможно, что они обновляются через C&C и поступают только тогда, когда имеются временные проблемы с SSL. Одной из причин использования SSH может быть распространенная ситуация с баном SSL/HTTPS трафика в некоторых странах, таких как, например, Иран.
В прошедшую неделю «Лаборатория Касперского» установила контакты с CERT-ами нескольких стран для информирования их о доменах Flame и IP-адресах вредоносных серверов. Мы хотим поблагодарить эти команды за помощь в этом исследовании.
Если вы представляете правительственный CERT и хотите получить больше информации о серверах Flame, пожалуйста, обращайтесь к нам на адрес theflame@kaspersky.com.
Выводы:
- Инфраструктура серверов управления Flame, которая функционировала годами, была отключена на прошлой неделе сразу же после нашего публичного сообщения об обнаружении Flame.
- Мы установили более 80 различных доменных имен, которые принадлежат к этой инфраструктуре.
- Домены для серверов управления были зарегистрированы на впечатляющий список поддельных лиц через несколько различных регистраторов. Регистрация проводилась с 2008 года.
- Атакующие испытывают повышенный интерес к документам MS Office, PDF и к AutoCAD файлам.
- Данные, передаваемые на сервер, зашифрованы с использованием относительно простых алгоритмов. Украденные документы сжаты с использованием публичных и открытых библиотек Zlib и PPDM.
- Flame использует SSH-соединения (в дополнение к SSL) для передачи данных. SSH функционирует на полностью интегрированной Putty-based библиотеке.
- Windows 7 64 bit, которую мы ранее рекомендовали как хорошее решения для защиты от других видов угроз, выглядит эффективным решением и для защиты от Flame.
The Roof Is on Fire: отключение командных серверов Flame