Наше исследование троянской программы Duqu продолжается. В первой части отчета, опубликованной несколько дней назад мы указали на существование гораздо большего количества драйверов, чем считалось раньше, а также сделали выводы о возможном наличии других модулей. Кроме того, мы пришли к выводу, что в отличии от массового распространения, как это было в ситуации с Stuxnet, Duqu атакует только крайне малое число целей.
Однако, прежде чем сообщить о наших очередных находках, я должен выразить глубокое уважение к работе, проделанной венгерской исследовательской лабораторией Crysys. Именно они были первыми, кто исследовал компоненты Duqu и подготовил великолепный отчет, который затем был предоставлен им другим антивирусным компаниям и стал основой для дальнейших исследований. К сожалению, наша компания не была в числе первоначальный получателей этого отчета, но тем интересней эта задача для нас сейчас – выяснить про Duqu всё.
Реальные инциденты
В прошлом блогпосте мы упомянули о том, что за сутки с момента добавления детектирования всех известных компонентов Duqu мы обнаружили только один реальный инцидент.
За прошедшее время количество зафиксированных инцидентов увеличилось и это позволяет нам сделать некоторые выводы о направленности атаки в целом.
Необходимо отметить, что мы не можем ни подвердить, ни опровергуть информацию от других антивирусных компаний по поводу известных инцидентов в UK, USA, а также возможно Австрии, Индонезии. Вопрос инцидента в Венгрии мы также пока оставляем без комментариев. Сфокусируемся только на том, что видим мы сами, при помощи Kaspersky Security Network.
Инцидент 1: Sudan
Первый зафиксированный нами инцидент был отмечен, как мы сказали ранее – в весьма специфическом регионе. Заражение было зафиксировано в Судане.
В данном случае было обнаружено использование совершенно нового драйвера, который отличается именем и MD5 от ранее известных вариантов.
Исходя из того, что с нашей точки зрения, основной модуль Duqu состоит из трех компонент – драйвера, библиотеки и конфигурационного файла, в данном случае должны были бы существовать еще два файла. Но, мы не зафиксировали их детектирования. Это означает, что они отличаются от известных образцов (netp191/192.pnf, cmi4432/cmi4464.pnf).
К сожалению, нам пока так и не удалось вступить в контакт с зараженным пользователем для проведения более глубокого исследования этого инцидента. Также у нас отсутствует сам файл драйвера adp55xx.sys – нам известно только его имя, размер и контрольная сумма.
Инцидент 2: Iran
В настоящий момент наибольшее количество инцидентов с Duqu нами зафиксировано именно в Иране. Это вновь возвращает нас к истории Stuxnet и поднимает целый ряд вопросов. Но пока рассмотрим детали.
Очередной раз мы наблюдаем уже знакомую картину – новое уникальное имя файла драйвера (iraid18.sys), известный размер (24960 байт) и другая контрольная сумма. Но кроме этого есть и отличия. В данном инциденте зафиксирован не только новый драйвер, но и ранее неизвестный конфигурационный файл – ird182.pnf. Несомненно, он является аналогом уже известных файлов (совпадает размер 6750 байт), но отличается содержимым. Это вызвано тем, что данный файл и должен быть уникальным – в нем хранится информация о дате установки в систему для управления процессом последующего самоудаления.
Еще более интересным является еще один драйвер. Нам не удалось установить его оригинальное имя, но несмотря на совпадающий размер – он также отличается как найденного там же iraid18.sys, так и от всех других ранее известных драйверов.
Как видно, тут присутствует практически полная новая цепочка модулей с схожими именами – iraid18.sys + ird182.pnf + неизвестная основная DLL, которая может иметь имя, допустим ird181.pnf.
Инцидент 3: Iran
Один из самых интересных инцидентов, наблюдаемых нами. Здесь мы имеем дело с заражением двух систем, но очевидно связанных между собой. Объединяет их между собой не только сетевая принадлежность, но и один и тот же файл драйвера (очередной раз новый) – igdkmd16b.sys.
В ходе проведенного нами расследования, нам удалось получить копию данного файла:
1 | Publisher | Intel Corporation |
2 | Product | Intel Graphics Accelerator |
3 | Description | Intel Graphics Kernel Mode Driver |
4 | File version | 2.2.0.15 |
5 | Original name | igdkmd16b.sys |
6 | Internal name | igdkmd16b.sys |
7 | Size | 25088 bytes |
8 | Date of compilation | 17 October 2011 |
Обратите внимание, что файлов драйверов с таким размером (25088) нам еще не встречалось – до сих пор были известны только размеры 24960 и 29568 (с цифровой подписью).
Кроме этого, в одной из систем были зафиксированы (но к сожалению не получены нами) еще два файла – очередной конфигурационный файл с именем netq795.pnf и неизвестный драйвер с таким же размером (25088), но отличающийся контрольной суммой.
Как и в инциденте 2, тут также присутствует практически полная новая цепочка модулей – igdkmd16b.sys + netq795.pnf + неизвестная основная DLL, которая может иметь имя, допустим, netq794.pnf.
Инцидент 4: Iran
Как и во всех описанных выше инцидентах, мы видим использование уникального файла драйвера – отличающего от ранее известных как именем (bpmgs.sys), так и размером (24382 байт). К сожалению, тут нам не удалось получить сам файл, поэтому его содержимое остается загадкой – так же и отсутствие детектирования у конфигурационного файла.
Однако, нам удалось установить интересный факт, возможно не связанный с Duqu, но!
Данный компьютер подвергался нескольким сетевым атакам в недавнем прошлом – 4 и 16 октября. Обе атаки использовали эксплоит уязвимости MS08-067, точно такой же которую использовал например червь Kido. Использование этой же уязвимости было отмечено, кстати, и в Stuxnet.
IP-адрес, с которого произошли данные атаки 4 и 16 октября — 63.87.255.149, формально принадлежит «MCI Communications Services, Inc.» подразделению компании «Verizon Business».
Итак, представьте себе ситуацию – две атаки, с периодом в 12 дней и обе произошли с одного и того же внешнего IP-адреса. Какова вероятность того, что это был например червь Kido, который автоматически искал новую жертву ? Одиночная атака – да, возможно. Две – нет, так не бывает.
Таким образом можно сделать предположение, что данные атаки были не случайны и велись целенаправленно, причем не исключено что использовались не только эксплоиты MS08-067, но и возможно другие – следы которых нам не удалось зафиксировать.
Выводы и факты
1. Нами зафиксированы инциденты только в Судане и Иране;
2. Мы не обладаем информацией о принадлежности данных пострадавших как к ядерной программе Ирана, так и к сертификационным центрам или промышленным предприятиям;
3. Очевидно, что каждый инцидент с Duqu является уникальным и в каждой атаке используются уникальные файлы – с отличными именами, контрольными суммами;
4. Duqu – это целевые атаки, на тщательно выбранные цели (Здесь было слово APT, но оно зачеркнуто, потому что я не люблю его);
5. В настоящий момент нам известно о существовании, как минимум, 13 разных файлов драйвера (из которых мы обладаем только шестью);
6. Нами по-прежнему не зафиксировано использований модуля кейлоггера. Не исключено, что либо он никогда не существовал в данных инцидентах, либо он также зашифрован, либо уже был удален из систем ранее;
7. Анализ драйвера igdkmd16b.sys показал, что в нем используется отличный от ранее известных ключ шифрования, что приводит к тому, что существующие методы детектирования для известных PNF (main DLL) бесполезны, поскольку, очевидно, в каждой конкретной атаке она зашифрована по-другому;
Текущие методы детектирования у большинства антивирусных компаний – способны успешно обнаруживать исключительно драйвера Duqu, при этом вероятность того что основная библиотека (pnf) остается без детекта – практически 100%;
9. Основная библиотека (pnf) содержит в себе (export 5) функционал полной реконфигурации и переустановки всего комплекса – умеет устанавливать драйвер и создавать все дополнительные компоненты, регистрировать все в реестре и т.д. Это означает, что при наличии подключения к активному центру управления и при получении соответствующих инструкций – может быть полностью изменена вся инфраструктура троянца на конкретной системе;
10. Судя по постоянному обнаружению новых драйверов Duqu, созданных 17 октября 2011 года – авторы троянца успели всего за несколько часов до публичного объявления об обнаружении Duqu установить новые модули на уже пораженные системы. Мы не исключаем вероятности того, что им удалось изменить и адрес для нового центра управления.
11. Мы также не исключаем того, что известный адрес центра управления в Индии (адрес тут) – использовался для коммуникации только с обнаруженными ранее файлами, в ранее известном инциденте и что для каждой отдельной цели (включая выявленные нами) используются собственные центры управления.
12. Информация о том, что Duqu работает только 36 дней в пораженной системе – не совсем верна. 36-и дневный счетчик использует только вариант jminet7.sys/netp191.pnf. Вариант cmi4432 самоуничтожается через 30 дней.
Тайна Duqu: часть вторая