Тестирование самозащиты антивирусов 2015

8 Ноя
2015

Чуть менее двух лет назад на форуме Касперского пользователь сообщал от том, что сервис KIS 2014 легко останавливается утилитой Process Hacker, невзирая на самозащиту. От администрации он получил ответ, что проблема вскоре будет устранена. И это притом, что задолго до этого у себя на сайте Касперский рапортовал об успешном противодействии KIS 2012 этой утилите:
ph-kis
Давайте посмотрим, как сейчас обстоят дела с самозащитой у Касперского, а заодно и у других популярных антивирусов.
Будем использовать Process Hacker v 2.36 – бесплатный и абсолютно легальный менеджер задач и ресурсов, работающий с ядром ОС через Native API (API ядра).

Условия тестирования

  • для KIS использовалась ОС Windows 10, для остальных — Windows 7 Максимальная SP1 x64
  • использовались стандартные варианты установки и настройки, за исключением Касперского и DrWeb — в них дополнительно были установлены пароли на доступ к управлению
  • текущий пользователь состоял в группе Администраторы, Process Hacker запускался через пункт Запуск от имени администратора

Методика тестирования

  • был создан текстовый файл с содержимым «X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*», переименован в исполняемый eicar.com и запакован в архив с паролем
  • файл распаковывался и запускался, мы убеждались в работоспособности антивируса — файл либо удалялся, либо блокировался
  • производились попытки остановить процесс службы защиты в реальном времени антивируса — Terminate (в некоторых случаях — Terminate Tree, ниже указывается отдельно), а также приостановить его работу — Suspend с последующим возобновлением — Resume
  • файл снова распаковывался, и либо запускался, либо продолжал блокироваться антивирусом

Манипулировать процессами можно как в ручном режиме, так и из командной строки. Например:
ProcessHacker.exe -c -ctype process -cobject dwengine.exe -caction terminate
ProcessHacker.exe -c -ctype process -cobject dwengine.exe -caction suspend

Вот так выглядели успешный и заблокированный запуски eicar.com: в случае блокировки антивирус сообщал об отказе в доступе, в случае запуска в обход антивируса — ОС писала, что это не исполняемый файл.
errorsuccess


Тестируемые антивирусы

  1. Avast! Free Antivirus 10.4.2233
  2. Avira Antivirus 15.0.13.210
  3. Dr.Web Security Space 11.0
  4. ESET NOD32 Antivirus 9.318.24
  5. Kaspersky Endpoint Security 10 SP1 10.2.2.10535
  6. Kaspersky Internet Security 16.0.0.614
  7. McAfee Internet Security (McAfee SecurityCenter 14.0.1029, Защита от вирусов и шпионских программ McAfee 18.0.204)
  8. Norton Internet Security 22.5.4.24
  9. 360 Total Security 8.0.0.1046

Итак, начинаем…

Avast! Free Antivirus 10.4.2233

avastИмеет три процесса: Avastsvc.exe, AvastUI и AvastEmUpdate.exe.

a) Попытка остановить процесс. Неудачно. Avast! не дает остановить ни один из своих процессов, сообщая об отказе в доступе.
b) Попытка приостановить процесс. Неудачно. Avast! не дает приостановить ни один из своих процессов, сообщая об отказе в доступе.

Результат:

  • останов антивируса: невозможен
  • степень опасности: нулевая

Avira Antivirus 15.0.13.210

aviraПроцессов несколько, нас будет интересовать avguard.exe.

a) Попытка остановить процесс (Terminate tree). Первые два раза вызывают перезапуск службы, третий раз — ее останов. Вирусы можно запускать.
b) Попытка приостановить процесс. Вызывает сильные тормоза, однако система работоспособна. Можно распаковать вирус и запустить его.

Результат:

  • останов антивируса: полный
  • степень опасности: максимальная

Dr.Web Security Space 11.0

drwebПроцесс dwengine.exe.

a) Попытка остановить процесс. Происходит длительный перезапуск службы (5-6 сек), в течение которого можно распаковать вирус и спокойно его запустить до того, как Dr.Web, наконец, удалит файл.
b) Попытка приостановить процесс. Блокирует запуск любых новых программ (в виде их зависания), можно работать с уже запущенными проводником и PH. После возобновления работы процесса Dr.Web продолжает работу в обычном режиме.

Примечание. Если после Terminate для процесса dwengine.exe сделать его приостановку Suspend, то процесс приостанавливается на неопределенно большой период времени и никак не реагирует на вирусы, что равнозначно полному останову сервиса.

Результат
:
  • останов антивируса: полный
  • степень опасности: максимальная

ESET NOD32 Antivirus 9.318.24

nod32Два процесса: служба ekrn.exe и графическая оболочка egui.exe. Останавливаем оба.

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

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

Результат:

  • останов антивируса: невозможен
  • степень опасности: нулевая

Kaspersky Endpoint Security 10 SP1 10.2.2.10535

kesДва процесса avp.exe: процесс службы (дочерний services.exe) и процесс графической оболочки (дочерний explorer.exe).

a) Попытка остановить процесс. Сначала процесс графического интерфейса (Terminate), порожденный explorer.exe, который сразу после этого перезапускается как дочерний процесса службы. Далее выполняем Terminate Tree на головном процессе. Он появляется снова, но уже один. Выполняем на нем Terminate, потом еще раз, и больше Касперского мы не наблюдаем. Вирусы можно запускать.
b) Попытка приостановить процесс. Блокирует запуск любых новых программ (в виде их зависания), можно работать с уже запущенными проводником и PH. Через пару минут служба KES останавливается, вирусы можно запускать. Если процесс графической оболочки перед этим не остановить, то служба запустится снова. Если остановить — служба останавливается насовсем.

Результат:

  • останов антивируса: полный
  • степень опасности: максимальная

Kaspersky Internet Security 16.0.0.614

kisДва процесса: avp.exe и avpui.exe.

a) Попытка остановить процесс. Выбираем оба процесса, после трех попыток они больше не появляются. Вирусы можно запускать.
b) Попытка приостановить процесс. Блокирует запуск любых новых программ (в виде их зависания), можно работать с уже запущенными проводником и PH. После возобновления работы процесса антивирус подвешивает всю систему, требуется жесткий перезапуск ОС.

Результат:

  • останов антивируса: полный
  • степень опасности: максимальная

McAfee Internet Security 18.0.204

mcafeeМного процессов. Нас интересует mcshield.exe.

a) Попытка остановить процесс. Процесс сразу же перезапускается, однако после третьей попытки сдается. Вирусы можно запускать.
b) Попытка приостановить процесс. Вирусы можно запускать. После продолжения работы сервиса удаляет файл.

Результат:

  • останов антивируса: полный
  • степень опасности: максимальная

Norton Internet Security 22.5.4.24

nisДва процесса NIS.exe.

a) Попытка остановить процесс (Terminate tree). Первые два раза — перезапуск службы, третий раз — ее вроде как останов. А здесь начался самый интересный момент во всем тестировании. Несмотря на то, что останов службы подтвержден ее состоянием в services.msc и отсутствием процессов в KH, Norton продолжал удалять вирусы, о чем свидетельствовали записи в журнале после ручного запуска службы. Было ощущение, что Norton подготовился к подобным манипуляциям и скрывает свой процесс в том числе и от Process Hacker. Браво!
b) Попытка приостановить процесс. Блокировал запуск любых новых программ (в виде их зависания), можно было работать с уже запущенными проводником и PH. После возобновления работы процесса антивирус продолжил работу в обычном режиме.

Результат:

  • останов антивируса: невозможен
  • степень опасности: нулевая

360 Total Security 8.0.0.1046

360tsТри процесса: QHActiveDefense.exe, QHWatchdog.exe, QHSafeTray.exe.

a) Попытка остановить процесс. Terminate tree на головном процессе выносит все три процесса сразу и насовсем. Чистая победа!
b) Попытка приостановить процесс. Выполнение процедуры на головном процессе ожидаемо блокирует запуск любых программ. После возобновления работы процесса антивирус продолжил работу в обычном режиме.

Результат:

  • останов антивируса: полный
  • степень опасности: максимальная


Результирующая таблица

result

Выводы

Что означает этот тест? Как минимум — необходимость призадуматься. Отечественные антивирусы неприятно удивили: мы были полностью уверены, что Касперский и Dr.Web покажут образцовые результаты. Avast!, NOD32 и Norton — наши аплодисменты!

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

Почему бесполезны любительские тестирования антивирусов на вирусы?
Часто бывает, что кто-то из пользователей скачивает найденный где-то архив на тысячу вирусов, и на каком-нибудь форуме люди начинают мериться — у кого какой антивирус больше поймал. Здесь проблема в непонимании большинством даже подготовленных пользователей того, что антивирус защищает как правило только от актуальных вирусов.
Что такое актуальный вирус? Это вирус, который имеет достаточное распространение в данное время и представляет определенную опасность. Написать вирус, который пропустят все антивирусы, для серьезного программиста вообще не проблема, достаточно написать свой упаковщик (не путать с архиватором), и поместить туда любой вредоносный код. Таким образом, если часть антивирусов обнаруживает вирус, найденный на сайтах с сомнительным контентом, а другая часть нет — то это вообще не преимущество для первых, так как  этот вирус обычно существует только на данном сайте и еще у нескольких десятков таких же бедолаг.
В данном контексте есть еще один момент. Если антивирусная компания поместит в свою вирусную базу описания всех известных ей вирусов, то такая база будет иметь размер в несколько гигабайт, а проверка каждого файла будет длиться несколько секунд. Антивирусным фирмам нужно соблюдать баланс между безопасностью и производительностью современных компьютеров. Таким образом, все эти компании чистят свои базы от неактуальных вирусных записей. Критерий актуальности вирусов у каждой компании свой: кто-то удаляет из базы вирусы, которые не встречались более 10 лет, кто-то — более 5 лет, если вирус не получил широкого распространения, то один производитель удалит запись о нем через год, другой — не удалит, и т.д. и т.п. Если же вирус свежий и еще серьезно не разошелся, то обнаружение его только одним антивирусом ничего не значит, в следующий раз этот антивирус сам может оказаться в ряду «неудачников». Иными словами, тестирования на форумах найденных где-то вирусов не имеют никакого смысла.

Почему бесполезны профессиональные тестирования антивирусов на вирусы?
Ну, для начала что делает их профессиональными? В первую очередь — подборка актуальных вирусов, т.е. тех, что широко распространены на момент тестирования и имеют достаточную опасность. Доверять таким тестам нельзя по банальной причине: многие из них предвзяты и подогнаны под спонсоров, а независимые тесты выявить среди них невозможно.

Каким образом пользователи выбирают антивирусы?
В виду субъективности оценки главной функции антивирусов, которая зачастую основана на «сарафанном радио», антивирусы обычно выбирают по:
  • скорости работы
  • удобству и красоте интерфейса
Немаловажным фактором является реклама антивируса — как явная, так и скрытая.
Такова суровая правда антивирусной защиты.


По материалам Хабрахабр.



загрузка...
Комментарии:
Наверх