Как считают специалисты Symantec, Regin – революционный вирус, который практически не имеет аналогов. Это невероятно сложный компонент программы, отличающийся гибкостью своих возможностей в зависимости от цели, для атаки на которую его готовят. В его основе – особая структура, разработанная для обеспечения операций длительного скрытого сбора информации.
Regin имеет многоступенчатую модульную систему, позволяющую успешно атаковать разные типы целей. Нечто подобное было замечено в других изощренных группах вирусов Flamer и Weevil, а многоэтапная система загрузки архитектуры подобна Duqu/Stuxnet и другим.
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 наделен сложной многоступенчатой архитектурой, надежно шифрует следы своей работы и имеет множество возможностей, реализуемых во время атаки. Многие компоненты вируса до сих не были открыты и полный список его возможностей неизвестен.
securitylab.ru