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

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

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

  1. Avast! 4 Professional Edition 4.8 (build 4.8.1229)

  2. Microsoft Windows Live OneCare 2.5.2900.20


  3. Avira Premium Security Suite 8.1.0.245

  4. BitDefender Internet Security 2009 (build 12.0.10)

  5. Dr.Web Security Space 5.0.0.12171

  6. ESET Smart Security 3.0.672.0

  7. F-Secure Internet Security 2009 (9.00 build 148)

  8. Kaspersky Internet Security 2009 (8.0.0.454)

  9. McAfee Internet Security 2009


  10. Norton Internet Security 2009 (16.0.0.125)


  11. Outpost Security Suite Pro 2009 (6.5.2358.316.0607)


  12. Panda Internet Security 2009 (build 14.00.00)


  13. Sophos Anti-Virus 7.6.2


  14. Trend Micro Internet Security 2009 (17.0.1224)


  15. VBA32 Personal (3.12.8.1)

  16. ZoneAlarm Security Suite 8.0.059.000

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

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

  1. Самозащита на уровне системы:
    1. изменение разрешений на доступ к файлам;
    2. изменение разрешений на доступ к ключам реестра.
  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. удаление после перезагрузки.
      • посылка сообщений (SendMessage API):
        1. WM_CLOSE;
        2. WM_QUIT;
        3. WM_SYSCOMMAND/SC_CLOSE;
        4. Комбинация пунктов 1-3;
        5. PostMessage;
        6. SendMessageCallback;
        7. SendNotifyMessage;
        8. PostThreadMessage.
      • 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, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.
Если вы являетесь производителем и хотели бы видеть свой продукт в списке протестированных по данной методологии или обновить его результаты, не дожидаясь нового планового теста, вы можете воспользоваться услугой индивидуального тестирования.