28.05.2015

Вирус Regin

image

Как считают специалисты Symantec, Regin – революционный вирус, который практически не имеет аналогов.

Автор: Хмелев Роман

Исследование нового вируса Regin, выполненное не так давно компанией Symantec, показало впечатляющие результаты. По полученным данным стало ясно, что это не просто очередной «вредонос». Regin, который впервые был замечен еще в 2008 году, – это виртуозно разработанный профессионалами шпион с очень сложной архитектурой и обширными возможностями (анализ электронной почты, экранных снимков, перехват сетевого трафика и т.д.), который нацелен на крупные организации и индивидуальных пользователей.

Как считают специалисты Symantec, Regin – революционный вирус, который практически не имеет аналогов. Это невероятно сложный компонент программы, отличающийся гибкостью своих возможностей в зависимости от цели, для атаки на которую его готовят. В его основе – особая структура, разработанная для обеспечения операций длительного скрытого сбора информации.

Regin имеет многоступенчатую модульную систему, позволяющую успешно атаковать разные типы целей. Нечто подобное было замечено в других изощренных группах вирусов Flamer и Weevil, а многоэтапная система загрузки архитектуры подобна Duqu/Stuxnet и другим.

Regin имеет сложную архитектуру. На начальных стадиях внедрения вируса происходит установка и конфигурация внутренних служб. Последующие этапы приводят в действие рабочую нагрузку вируса (основную функциональную часть программы).

Этап Описание
Этап 0 Загрузчик (dropper). Устанавливает Regin на целевой компьютер
Этап 1 Загрузка драйвера
Этап 2 Загрузка драйвера
Этап 3 Загрузка, сжатиt, шифрование, подключение к сети, обработка зашифрованной виртуальной файловой системы (EVFS)
Этап 4 Использование EVFS и загрузка дополнительных драйверов, работающих в режиме ядра, включая рабочие нагрузки
Этап 5 Выполнение основной рабочей нагрузки
этапы внедрения вируса Regin

Содержание и особенности этапов работы вируса Regin

Этап 0

Международная служба Symantec Security Response во время подготовки отчета не получила загрузчики Regin. Однако специалисты уверены, что в случае попадания файла загрузчика на целевой компьютер, он устанавливается и обеспечивает прохождение этапа 1. Скорее всего, этап 0 отвечает за установку различных расширенных атрибутов и/или ключей реестра, которые содержат закодированные версии этапов 2, 3 и, возможно, 4 и последующих этапов.

Этап 1

Происходит начальная загрузка. Известны 2 варианта имен файлов этапа: usbclass.sys и adpu160.sys. Это драйверы ядра, которые загружают и обеспечивают выполнение этапа 2. Могут быть занесены в реестр как системные службы.
Во время этапа 1 считывается и обеспечивается выполнение этапа 2 с помощью набора расширенных атрибутов NTFS.

Этап 2

В основе этого этапа – драйверы ядра, которые извлекают, устанавливают и запускают этап 3. Этап 2 не хранится в традиционной файловой системе, а зашифрован внутри расширенных атрибутов или ключа реестра двоичного типа. Этап 2 также скрывает следы запуска этапа 1.

Этап 3

Основан на драйвере ядра DLL и также не хранится в традиционной файловой системе. Файл зашифрован по аналогии с файлом этапа 2 и по размеру превышает его примерно в 6-7 раз. Обеспечивая загрузку и выполнение этапа 4, этап 3 также создает фреймворк для последующих этапов. Этап 3 и дальнейшие этапы основаны на модульной платформе программного модуля.

Этап 4

Файлы для этапа 4, загруженные во время этапа 3, состоят из модуля управления пользовательским режимом и многочисленных модулей полезной нагрузки ядра. Они находятся в двух хранилищах EVFS.

Этап 5

Состоит из основных функциональных элементов полезной нагрузки Regin. Файлы для этапа 5 внедряются в services.exe на этапе 4. Они также находятся в хранилищах EVFS.

Рабочая нагрузка

Regin задействует библиотеки DLL, содержащиеся в хранилище EVFS SystemLog.evt. Варианты рабочей нагрузки могут отличаться в зависимости от цели атаки. Например: перехват информации сетевого трафика, кража паролей, сбор информации хранящейся в оперативной памяти, сведения о процессах.

Regin размещает файлы данных на диске в зашифрованном виде в виртуальной файловой системе EVFS. Файлы в хранилище EVFS зашифрованы при помощи вариации шифра RC5 с использованием 64-битных блоков и 20 раундов. Известны несколько расширений для хранилища EVFS: *.evt и *.imd. Структура хранилища аналогична файловой системе FAT, с тем отличием, что файлы не имеют имен, а идентифицируются с помощью двоичного тега.

Лог-файлы

Regin сохраняет все свои события в файле ApplicationLog.dat. Этот файл не храниться в EVFS, однако он также зашифрован и сжат.

Как видно из анализа, Regin наделен сложной многоступенчатой архитектурой, надежно шифрует следы своей работы и имеет множество возможностей, реализуемых во время атаки. Многие компоненты вируса до сих не были открыты и полный список его возможностей неизвестен.