Методология теста самозащиты антивирусов (август 2007)

Тест проводился на специально подготовленном стенде под управлением VMware GSX Server. Для каждого антивирусного продукта клонировалась "чистая" виртуальная машина с операционной системой Microsoft Windows XP SP2.

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

  1. Avast! Professional Edition 4.7
  2. Avira Premium Security Suite 7.0
  3. BitDefender Internet Security 10
  4. DrWeb 4.44 Beta
  5. Eset Smart Security 3.0
  6. F-Secure Internet Security 2007
  7. Kaspersky Internet Security 7.0
  8. McAfee Internet Security 2007
  9. Microsoft Windows Live OneCare 1.6
  10. Panda Internet Security 2007
  11. Sophos Anti-Virus 6.5
  12. Symantec Internet Security 2007
  13. Trend Micro PC-Cillin 2007
  14. VBA32 Antivirus 3.11
  15. ZoneAlarm Internet Security 7.0

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

Тестирование самозащиты антивирусов проводилось по следующим параметрам:

  1. Самозащита на уровне системы:
    1. переписывание хуков;
    2. изменение разрешений на доступ к файлам;
    3. изменение разрешений на доступ к ключам реестра.
  2. Защита собственных файлов:
    1. модификация/удаление модулей;
    2. удаление антивирусных баз.
  3. Защита своих ключей реестра:
    1. модификация/удаление значимых ключей реестра (вручную):
      • ключи автозапуска;
      • ключи сервисов;
      • ключи конфигурации.
  4. Защита своих процессов:
    1. Предотвращение завершения процессов:
      • из TaskManager;
      • API с уровня пользователя:
        1. стандартно (TerminateProcess);
        2. завершить все ветки процесса (TerminateThread);
        3. завершить процесс как задачу (EndTask);
        4. завершить процесс как работу (EndJob);
        5. завершить процесс при помощи дебагера (DebugActiveProcess);
        6. модификация указателя инструкций (EIP);
        7. сообщение от рабочей станции (WinStationTerminateProcess);
        8. "bruteforce" message posting;
        9. удаление после перезагрузки.
      • посылка сообщений:
        1. WM_CLOSE;
        2. WM_QUIT;
        3. WM_SYSCOMMAND/SC_CLOSE.
      • API с уровня ядра:
        1. ZwTerminateProcess;
        2. ZwTerminateThread.
    2. Модификация процесса/кода:
      • инжектирование кода (CreateRemoteThread);
      • инжектирование DLL;
      • изменение атрибутов защиты памяти (VirtualProtectEx);
      • запись в процесс (WriteProcessMemory).
    3. Выгрузка драйверов

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

Если в ходе тестов на завершение/модификацию процессов один из них завершался (т.е. атака на него удавалась), то все остальные процессы подвергались атаке повторно.

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

  1. Установка антивирусной программы на чистую машину;
  2. Перезагрузка системы;
  3. Проверка успешной установки и работоспособности всех модулей программы;
  4. Сохранение образа виртуальной машины;
  5. Проверка самозащиты по одному из параметров;
  6. Повторная проверка работоспособности модулей программы;
  7. Откат системы к сохраненному ранее образу (пункт 4).

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

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