Методология теста антивирусов и антируткитов на обнаружение и удаление современных руткитов

Подготовка теста

Существует два вида руткитов: User Mode (руткиты режима пользователя) и Kernel Mode (руткиты режима ядра). Наибольшую сложность для обнаружения, а значит и интерес для теста, представляют руткиты режима ядра, поскольку их возможности ничем не ограничены, тогда как руткиты режима пользователя ограничены в привилегиях в системе и их возможности сильно ограничены. У современных антивирусов и антируткитов не должно быть особых проблем в обнаружении и удалении скрытых файлов, процессов и т.д. руткитов, работающих в user mode.

Руткиты Kernel Mode используют следующие основные способы маскировки:

  • Маскировка перехватом системных функций путем подмены адреса функций в таблице системных сервисов (KiST). Такие перехваты наиболее широко используются в различных вредоносных программах с руткит-маскировкой, поэтому легко обнаруживаемы и нейтрализуемы.
  • Маскировку модификацией машинного кода ядра, т.н. сплайсинг. Перехваты подобного типа сложнее обнаружить и нейтрализовать. Количество вредоносных программ, использующих такой тип перехватов постепенно увеличивается.
  • Маскировка перехватом прерывания Int 2Eh и sysenter.
  • Использование драйвер-фильтр. Руткиты подобного типа основаны на установке своего драйвера, который подключается к драйверу файловой системы как драйвер-фильтр, что позволяет перехватывать пакеты запросов IRP.
  • DKOM или манипуляция с различными структурами ядра.

Исходя из выше перечисленных выше способов маскировки, для тестирования набиралась образцы руткитов. Главным критерием при оставлении выборки был принцип охвата всех возможных методом маскировки в системе.

Таким образом, для проведения тестирования антивирусов/антируткитов экспертной группой Anti-Malware.ru были отобраны 6 вредоносных программ с руткит-маскировкой и 4 концептуальных руткита.

При отборе вредоносных программ дополнительно рассматривались следующие критерии:

  1. Образцы должны маскироваться от средств обнаружения (антивирус/антируткит) одним или несколькими описанными выше способами.
  2. Каждый образец должен использовать различные способы маскировки.
  3. В сумме все образцы должны максимально полно отражать существующие технологии маскировки.
  4. Используемые вредоносные программы были собраны во время распространения в Интернет, т.е. являются ITW-образцами (In The Wild).
  5. Используемые руткиты не должны иметь функционал целенаправленной борьбы с антивирусами/антируткитами, таких как удаление файлов, завершение процессов и т.п.

Исходя из этого, для тестирования были отобраны следующие вредоносные программы:

  1. Trojan-Spy.Win32.Goldun.hn
  2. Trojan-Proxy.Win32.Wopla.ag
  3. SpamTool.Win32.Mailbot.bd
  4. Monitor.Win32.EliteKeylogger.21
  5. Rootkit.Win32.Agent.ea
  6. Rootkit.Win32.Podnuha.a

А также концептов руткитов:

  1. Unreal A (v1.0.1.0)
  2. RkDemo v1.2
  3. FuTo
  4. HideToolz

Как видно, основной упор при составлении коллекции был сделан на вредоносные программы. В добавление к ним было решено добавить несколько концептуальных руткитов, которые дополняют общую картину способов маскировки и позволяют проверить наличие проактивного детекта (обнаружение руткитов на основании анализа системных событий/аномалий, т.е. без наличия специальных сигнатур).

Каждый отобранный экземпляр вредоносной программы проверялся на работоспособность и установку на тестовой системе.

Для участия в тесте отбирались наиболее популярные антивирусы, в которых заявлен функционал по обнаружению руткитов. Среди специальных утилит (антируткитов) были выбраны только те, которые имеют функционал автоматического обнаружения скрытых файлов.

Список отобранных для теста вредоносных программ до оглашения результатов держался в тайне и не сообщался никому из вредставителей вендоров, чьи антивирусы и антируткиты принимали в нем участие.

Проведение теста

Тест проводился на специально подготовленном стенде под управлением VMware Workstation версии 5.5.3. Для каждого экземпляра вредоносной программы клонировалась «чистая» виртуальная машина с операционной системой Microsoft Windows XP SP2 со всеми обновлениями на момент проведения теста.

В тестировании участвовали следующие антивирусы:

  1. BitDefender Antivirus 2008
  2. Dr.Web 4.44
  3. F-Secure Anti-Virus 2008
  4. Kaspersky Anti-Virus 7.0
  5. McAfee VirusScan Plus 200
  6. Eset Nod32 Anti-Virus 3.0
  7. Symantec Anti-Virus 2008
  8. Trend Micro Antivirus plus Antispyware 2008

А также следующие антируткиты:

  1. AVG Anti-Rootkit 1.1
  2. Avira Rootkit Detection 1.00.01.1
  3. GMER 1.0.13
  4. McAfee Rootkit Detective 1.1
  5. Panda AntiRootkit version 1.0
  6. Rootkit Unhooker 3.7
  7. Sophos Anti-Rootkit 1.3
  8. TrendMicro RootkitBuster 1.6

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

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

Шаги проведения тестирования на вредоносных программах:

  1. Заражение (активация) вредоносной программой виртуальной машины;
  2. Проверка работоспособности вредоносной программы и его успешной установки в системе;
  3. Многократная перезагрузка зараженной системы;
  4. Установка (запуск) тестируемой антивируса/антируткита и очистка системы;
  5. Проверка активности руткита после лечения системы антивирусом/антируткитом.

Для каждого отобранного образца вредоносной программы выделялась своя чистая виртуальная машина – шаг 1. После запуска (установки) какой-либо антируткит-программы и лечения заражения, машина откатывалась в первоначальное состояние – шаг 3.

Шаги проведение тестирования с концептами:

  1. Установка антивируса или антируткита и перезагрузка системы.
  2. Запуск концепта, выбор объекта для маскировки если нужно. В случае если антивирус или антируткит оснащен HIPS-модулем, то выбиралось разрешающее действие для установки руткита в систему или произведению необходимых для маскировки действий.
  3. Сканирование системы предмет обнаружения руткитов.
  4. Фиксирование результата работы (только обнаружения скрытого процесса и/или файла).

Для каждого антивируса или антируткита выделялась своя чистая виртуальная машина – шаг 1. После установки какого-либо концепта и сканирования, машина откатывалась в первоначальное состояние.

28.12.2007

Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.
Если вы являетесь производителем и хотели бы видеть свой продукт в списке протестированных по данной методологии или обновить его результаты, не дожидаясь нового планового теста, вы можете воспользоваться услугой индивидуального тестирования.