Методология теста самозащиты антивирусов (январь 2009)
Тест проводился на специально подготовленном
стенде под управлением VMware GSX Server. Для каждого антивирусного
продукта клонировалась "чистая" виртуальная машина с операционной
системой Microsoft Windows XP SP3.
В тестировании участвовали следующие антивирусные программы:
-
Avast!
4 Professional Edition 4.8 (build 4.8.1229) -
Microsoft
Windows Live OneCare 2.5.2900.20
Avira
Premium Security Suite 8.1.0.245-
BitDefender
Internet Security 2009 (build 12.0.10) -
Dr.Web
Security Space 5.0.0.12171 -
ESET
Smart Security 3.0.672.0 -
F-Secure
Internet Security 2009 (9.00 build 148) -
Kaspersky
Internet Security 2009 (8.0.0.454) -
McAfee
Internet Security 2009 -
Norton
Internet Security 2009 (16.0.0.125) -
Outpost
Security Suite Pro 2009 (6.5.2358.316.0607) -
Panda
Internet Security 2009 (build 14.00.00) -
Sophos
Anti-Virus 7.6.2 -
Trend
Micro Internet Security 2009 (17.0.1224) -
VBA32
Personal (3.12.8.1) - ZoneAlarm Security Suite 8.0.059.000
При установке антивирусов использовались рекомендуемые
производителем настройки по умолчанию и производились все рекомендуемые
программой действия (перезагрузка системы, обновление и т.д.). Все
компоненты защиты активировались, если это не было предусмотрено после
установки автоматически.
Тестирование самозащиты антивирусов проводилось по следующим параметрам:
- Самозащита на уровне системы:
- изменение разрешений на доступ к файлам;
- изменение разрешений на доступ к ключам реестра.
- Защита собственных файлов:
- модификация/удаление модулей;
- удаление антивирусных баз.
- Защита своих ключей реестра:
- модификация/удаление значимых ключей реестра (вручную):
- ключи автозапуска;
- ключи сервисов;
- ключи конфигурации.
- модификация/удаление значимых ключей реестра (вручную):
- Защита своих процессов:
- Предотвращение завершения процессов:
- из TaskManager;
- API с уровня пользователя:
- стандартно (TerminateProcess);
- завершить все ветки процесса (TerminateThread);
- завершить процесс как задачу (EndTask);
- завершить процесс как работу (EndJob);
- завершить процесс при помощи дебагера (DebugActiveProcess);
- модификация указателя инструкций (EIP);
- сообщение от рабочей станции (WinStationTerminateProcess);
- "bruteforce" message posting;
- удаление после перезагрузки.
- посылка сообщений (SendMessage API):
- WM_CLOSE;
- WM_QUIT;
- WM_SYSCOMMAND/SC_CLOSE;
- Комбинация пунктов 1-3;
- PostMessage;
- SendMessageCallback;
- SendNotifyMessage;
- PostThreadMessage.
- API с уровня ядра:
- ZwTerminateProcess;
- ZwTerminateThread.
- Модификация процесса/кода:
- инжектирование кода (CreateRemoteThread);
- инжектирование DLL;
- изменение атрибутов защиты памяти (VirtualProtectEx);
- запись в процесс (WriteProcessMemory).
- Выгрузка драйверов
- Предотвращение завершения процессов:
Проверка самозащиты производилась при помощи
специально подготовленных утилит, имитирующих атаки или вручную, с правами локального администратора. После
каждой атаки обязательно проводилась проверка работоспособности
антивируса (его отдельных модулей, активных процессов, сервисов,
драйверов).
Если в ходе тестов на завершение/модификацию
процессов один из них завершался (т.е. атака на него удавалась), то все
остальные процессы подвергались атаке повторно.
Шаги проведения тестирования:
- Установка антивирусной программы на чистую машину;
- Перезагрузка системы;
- Проверка успешной установки и работоспособности всех модулей программы;
- Сохранение образа виртуальной машины;
- Проверка самозащиты по одному из параметров;
- Повторная проверка работоспособности модулей программы;
- Откат системы к сохраненному ранее образу (пункт 4).
Для каждой антивирусной программы выделялась отдельная
чистая виртуальная машина - шаг 1. После каждой проверки самозащиты
антивируса по какому-либо критерию, машина откатывалась в
первоначальное состояние - шаг 4.

Спецпредложение ContentKeeper WebR

