Три года назад, 28 мая 2012 года, мы объявили об обнаружении вредоносной программы, которую назвали Flame. Одновременно с нашей публикацией ответов на часто задаваемые вопросы по Flame вышел подробный отчет CrySyS Lab с анализом зловреда sKyWIper. За несколько дней до этого команда Maher CERT опубликовала индикаторы заражения зловредом Flamer. Как вы, наверное, догадались, Flame, sKyWIper и Flamer – это разные названия одной и той же угрозы, которая стала первой серьёзной находкой после Stuxnet и Duqu.
С тех пор мы опубликовали отчеты о многих других продвинутых вредоносных платформах, в т.ч. Regin и Equation, однако Flame остаётся особенной угрозой – одной из самых сложных, неожиданных и продвинутых среди известных нам вредоносных кампаний.
Оглядываясь назад, можно выделить несколько уроков, которые мы извлекли из расследования Flame:
- Сложный зловред, созданный с участием госструктур, может быть большим. Полный набор модулей Flame, установленный на компьютере жертвы, весил около 20 Мб, что немало. До этого сложные зловреды могли весить до нескольких сотен килобайт; большинство исследователей не заинтересовались бы исполняемым файлом, имеющим размер 6 Мб. Теперь все изменилось.
- Преодоление «воздушного зазора". Flame – одна из первых вредоносных программ, в которой был реализован механизм заражения не подключенных к интернету компьютеров через USB-накопители (флешки). При подключении флешки к компьютеру, зараженному Flame и не имеющему доступа в интернет, Flame сохранял украденную информацию на флешке в скрытом файле. Он был невидим для большинства файловых менеджеров и содержал до 16 Мб украденных документов и других данных с компьютера жертвы. Когда такая флешка подключалась к компьютеру, зараженному Flame и имеющему интернет-доступ, данные с флешки пересылались на командные серверы зловреда.
- Десятки командных серверов. Мы насчитали почти сотню уникальных командных серверов Flame. Для вредоносной программы, предназначенной для целевых атак, это необычайно много. Авторы Flame создали различные версии зловреда, которые соединяются со многими командными серверами, чтобы минимизировать последствия возможных отключений серверов.
- Захват аудио через Bluetooth. Один из модулей Flame сканировал окрестности зараженной машины в поисках Bluetooth-устройств, чтобы использовать их для записи звуков в помещении. Редкий тип атаки, впервые реализованный в Flame.
- Эпоха массовой слежки. Мы полагаем, что главной целью Flame была организация массовой слежки. Зловред был предназначен для автоматического сбора всевозможных данных с зараженных компьютеров, от документов до скриншотов, а также для перехвата нажатий клавиш и захвата аудио. Командные серверы Flame не предполагали возможность управления зловредом вручную – всё происходило автоматически.
- Алгоритм MD5 взломан. Одна из самых интересных черт Flame – это то, как он распространялся по локальной сети. При атаке использовался мастерски подделанный сертификат для подписывания обновлений Windows. Сертификат использовал MD5-хэш, подделанный злоумышленниками. Это говорит об их способности взламывать любые MD5-хэши.
- Подрыв доверия к обновлениям Windows. В одном из самых интересных модулей Flame был реализован так называемый эксплойт «режима бога»: обновления Windows подменялись путем перехвата запросов к службе Windows Update. Мы годами твердим пользователям, чтобы они как можно чаще обновляли Windows и другое ПО. Flame воспользовался доверием людей к обновлениям и по сути подорвал его.
- Верхушка айсберга. После обнаружения Flame наша система generic-детектирования стала срабатывать и на другие вредоносные образцы со схожим кодом. Так мы обнаружили ещё две вредоносные программы из того же семейства – Gauss и MiniFlame. Стало понятно, что есть ещё много неизвестных пока вредоносных программ, на обнаружение которых уйдут многие годы.
- Всё взаимосвязано. Когда мы обнаружили Flame, нас часто спрашивали: «А он связан со Stuxnet?» Мы отвечали: «Признаков, указывающих на это, нет». Мы ошибались. Через несколько недель мы обнаружили модуль Flame, который использовался Stuxnet версии 2009 г. для распространения. Иными словами, Stuxnet-2009 размножался, используя эксплойт из Flame. Это указывает на связь между двумя вредоносными программами. С другой стороны, Stuxnet был связан с Duqu и, как выяснилось позже, с группировкой Equation – через эксплойты, которые первоначально были реализованы этой группировкой в черве Fanny. Иногда на то, чтобы обнаружить все связи, которые вначале не видны, уходит достаточно много времени.
- «Flame – отстой». Когда «Лаборатория Касперского» и CrySyS Lab опубликовали свой анализ Flame, некоторые сочли его неинтересным. «Продвинутый зловред весом 20 Мб? Не может быть!» Им пришлось изменить свое мнение, когда была обнаружена атака на службу обновлений Microsoft Windows с подменой MD5-хэшей и выпущен соответствующий патч. Микко Хюппонен (Mikko Hypponen) из F-Secure опубликовал отличный блогпост на эту тему: https://www.f-secure.com/weblog/archives/00002383.html
В качестве заключения мы хотим разместить ролик с замечательной речью активиста гражданских свобод Криса Согояна (Chris Soghoian), которая называется «Уроки операции против бен Ладена и кибервойны: Иммунизация компьютера и обновления безопасности».
https://archive.org/details/ChrisSoghoian-LessonsFromTheBinLadenRaidAndCyberwarImmunizations
Конкретно о Flame он начинает говорить с 5:00, но мы рекомендуем вам посмотреть видео полностью. Крис, в частности, подчеркивает: «Возможность сбора информации, которую дает взлом системы обновлений, в итоге себя не оправдывает». Мы с этим согласимся и добавим: действия, подрывающие общую безопасность, всегда выходят боком тем, кто их совершает.
Уроки Flame: три года спустя