Duqu — Википедия
Duqu — компьютерный червь, впервые официально упомянутый в отчёте отчет антивирусной фирмы Symantec от 18 октября 2011 года. Первый зараженный кодом Duqu файл прислали на сканирование в VirusTotal 1 сентября 2011 года, а 9 сентября того же года поступил второй файл с большим сходством главного модуля Duqu со Stuxnet. Дальнейшие исследования Symantec, «Лаборатории Касперского» и других компаний показали «фамильное сходство» кода червей Duqu и Stuxnet[1][2][3]. Червь получил имя Duqu из-за префикса «~DQ», который использовался во всех именах файлов, создаваемых им[4]. Symantec считает, что создатели Duqu или создали Stuxnet, или имели доступ к исходному коду последнего, и их целью был сбор информации для следующей версии Stuxnet[5].
Лаборатория криптографии и системной безопасности Будапештского университета технологии и экономики в Венгрии выпустила 60-страничный доклад, в котором анализировался данный червь[6]. В ходе проведённого расследования удалось выяснить, что распространение данной вредоносной программы происходило через электронную почту, а атаки с применением программы велись по меньшей мере с декабря 2010-го[3]. Заражение системы происходит посредством свежей уязвимости в ядре Windows, допускающей выполнение вредоносного кода и определяемой как CVE-2011-3402[7]. После заражения системы и установления связи с сервером происходила загрузка и установка дополнительного модуля, предназначенного для сбора сведений о системе, поиска файлов, снятия скриншотов, перехвата паролей и ряда других функций[8].
Язык программирования
[править | править код]Немалая часть Duqu — объектно-ориентированный фреймворк, написанный на неизвестном языке[9]. Вирусные лаборатории перепробовали даже такие экзотические языки, как Lua, Google Go и AngelScript, но потерпели неудачу, и им пришлось попросить помощи у сообщества. В конце концов разгадка нашлась: это оказался чистый Си, скомпилированный Microsoft Visual C++ с необычными настройками оптимизации[10].
Код был написан с применением объектно-ориентированного подхода, но на языке Си, а не Си++. Предполагается, что выбор языка Си был сделан автором-программистом старой закалки, который переходил с ассемблеров на Си, и которому Си++ не понравился. Применение Си в сочетании с ОО-подходом встречается в коммерческих программных проектах (например, движок Doom), но несвойственно для вредоносных программ и выделяет Duqu как необычную разработку[10].
Особенности и структура Duqu
[править | править код]Одной из первых обнаруженных особенностей Duqu стало использование подлинной цифровой подписи, украденной у тайваньской компании. Эта подпись подтверждала легитимность драйвера, используемого червем, что позволяло ему обходить защиту большинства антивирусных программ. На момент обнаружения программы ни один из 43 протестированных антивирусов не классифицировал файл как вредоносный. Подобный подход ранее применялся и в Stuxnet, что указывает на схожесть стратегий, направленных на обеспечение скрытности[3].
Модульная структура
Duqu построен как модульная система, включающая как минимум три компонента, выполняющих различные задачи:
Файл-установщик. Этот компонент отвечает за доставку основного модуля в систему-жертву. Примечательно, что на момент проведения исследований, несмотря на многочисленные заражения, сам файл-установщик не был найден, что затрудняет понимание методов внедрения.
Главный модуль. Структурно состоит из следующих компонентов:
- Драйвер, который внедряет DLL-библиотеку в системные процессы.
- Зашифрованный DLL-файл с расширением PNF. Этот файл включает дополнительные модули и взаимодействует с удаленным сервером команд и управления (C&C).
- Настроечный конфигурационный файл, также зашифрованный.
Главный модуль имел уникальную на момент обнаружения особенность: он загружал все свои компоненты в оперативную память, минимизируя активность на диске. Это делало его практически невидимым для большинства антивирусных систем того времени.
Шпионская программа. Отдельный модуль для сбора данных, известный как «инфостилер». Он работает независимо от других компонентов, собирая сведения о системе, пароли, снимки экрана и другие конфиденциальные данные. Модуль сохраняет собранную информацию во временных файлах с префиксом ~DQ[3].
Технологии скрытности
Duqu использует драйвер уровня ядра для расшифровки своих компонентов и их внедрения в системные процессы. Это позволяет ему избегать обращений к жесткому диску, которые обычно детектируются антивирусами. Более того, первый обнаруженный образец Duqu был настроен на самоуничтожение через 36 дней работы, однако последующие версии имели изменяемый таймер, который мог быть настроен на более короткий или длинный срок[3].
Сходство со Stuxnet
Хотя Duqu и Stuxnet имеют общую базу в коде, их цели существенно различаются. Если Stuxnet был нацелен на разрушение промышленных объектов, Duqu служит скорее платформой для разведки и предварительной подготовки атак. Он действует выборочно, заражая небольшое количество стратегически важных систем. При этом его модульная структура позволяет адаптироваться под конкретные цели, изменяя длину файлов, их имена и контрольные суммы вредоносных компонентов.
Проникновение в систему
Основной модуль Duqu попадает в систему через файл-установщик (дроппер), представляющий собой файл формата Microsoft Word с эксплоитом уязвимости драйвера win32k.sys, отвечающего за механизм рендеринга TTF шрифтов. При успешной инсталляции сохраняются три файла (драйвер, основной модуль и его файл данных конфигурации), при этом последние два файла хранятся на диске в зашифрованном виде. Для автозапуска Duqu создаётся служба, использующая файл драйвера, который расшифровывает основной модуль на лету при помощи сохранённых в реестре ключей[3][11][12].
См. также
[править | править код]Примечания
[править | править код]- ↑ Mikko. Duqu – Stuxnet 2 (англ.). F-Secure (18 сентября 2011). Дата обращения: 20 марта 2012. Архивировано из оригинала 12 сентября 2012 года.
- ↑ Stuxnet and Duqu were produced by the same malware team (англ.). Infosecurity Magazine. Дата обращения: 24 ноября 2024. Архивировано 14 апреля 2024 года.
- ↑ 1 2 3 4 5 6 DUQU, пришедший затмить Stuxnet . 3DNews. Дата обращения: 24 ноября 2024. Архивировано 26 мая 2024 года.
- ↑ Statement on Duqu's initial analysis . Laboratory of Cryptography of Systems Security (CrySyS) (21 сентября 2011). Дата обращения: 25 сентября 2011. Архивировано из оригинала 3 октября 2012 года.
- ↑ W32.Duqu. The precursor to the next Stuxnet Архивная копия от 9 августа 2014 на Wayback Machine.
- ↑ Duqu: A Stuxnet-like malware found in the wild, technical report (англ.). Laboratory of Cryptography of Systems Security (CrySyS) (14 ноября 2011). Архивировано из оригинала 12 сентября 2012 года.
- ↑ CVE-2011-3402 (англ.). National Vulnerability Database (NVD). Дата обращения: 20 марта 2012. Архивировано 9 июня 2012 года.
- ↑ Александр Гостев. Тайна Duqu: Привет, “Mr. B. Jason” и “Dexter” . SecureList (11 ноября 2011). Дата обращения: 20 марта 2012. Архивировано из оригинала 29 сентября 2020 года.
- ↑ Игорь Суменков. Загадка фреймворка Duqu . SecureList (7 марта 2012). Дата обращения: 20 марта 2012. Архивировано из оригинала 25 февраля 2018 года.
- ↑ 1 2 Игорь Суменков. Фреймворк Duqu: задача решена . SecureList (19 марта 2012). Дата обращения: 20 марта 2012. Архивировано из оригинала 14 августа 2020 года.
- ↑ Тайна Duqu: часть первая . Securelist. Дата обращения: 24 ноября 2024. Архивировано 25 июня 2024 года.
- ↑ Duqu — вредоносная матрёшка . Habr. Дата обращения: 24 ноября 2024. Архивировано 3 декабря 2024 года.