- PVSM.RU - https://www.pvsm.ru -
В прошлой статье было показано, что основной проблемой безопасности является то, что средства защиты (на примере антивирусов) пропускают наиболее опасные вредоносные файлы. И такое поведение является нормальным и ожидаемым. С другой стороны, имеются результаты многочисленных тестов, которые показывают вплоть до 100% обнаружения угроз (из последнего на Хабре можно заглянуть в публикацию «Как нас тестируют» [1], особенно в комментарии).
О чем же умалчивают те, кто тестируют, и те, кто получают награды?
Антивирусов много. Дорогих и бесплатных, тормозных и не очень. И все они на первый взгляд легко поддаются оценке качества работы. В связи с этим в Интернете легко доступны многочисленные тесты антивирусов (тесты файерволов, систем ограничения доступа тоже существуют, но встречаются куда реже, хотя на самом деле эти продукты гораздо более соответствуют результатам тестирования).
Тестов много, и тестируют многие — профессиональные организации и обычные пользователи.
Можно сравнить антивирусы и в реальном времени, протестировав файл:
И это далеко не полный список. Так недавно я узнал еще о нескольких (не реклама, действительно просто узнал из очередного обзора Сергея Сторчака — www.securitylab.ru/blog/personal/ser-storchak [15]): avcaesar.malware.lu [16] и www.malwaretracker.com/pdf.php [17].
Есть даже организация AMTSO (Anti-Malware Testing Standards Organization), взявшая на себя работу по выработке методик тестирования.
Тестов много, но наиболее распространены:
О тестах на больших коллекциях великолепно написал Евгений Касперский. Ему слово (http://e-kaspersky.livejournal.com/87090.html):
Классический, старый-добрый on-demand тест.
Собственно, это –— самый обычный стандартный и привычный тест, и когда-то, давным-давно, в до-массово-Интернетовские времена, он действительно был самым правильным.Методика тестирования такая: берётся диск и забивается малварой, чем больше – тем лучше, самой разной, до чего руки дотянулись. Потом на него натравливаются разные антивирусные сканеры и замеряется количество детекта. Дёшево и сердито. Но уже лет 10 как абсолютно нерелевантно!
Почему? А потому что антивирусные сигнатурные, эвристические и прочие «сканирующие» движки – это только часть комплекса технологий, которые используются в реальном мире для защиты! (причём значение этих движков в общем уровне защиты стремительно падает). Зачастую сканер вообще работает как последняя инстанция для чисто хирургической работы: например, у нас System Watcher выслеживает какого-нибудь трояна, понимает картину заражения и потом уже передаёт сканеру задачу по выпалыванию.
Другой недостаток – база малвари для сканирования.
Тут две крайности и обе порочные. Слишком мало малварных файлов – сами понимаете, нерелевантно. Слишком много сэмплов – та же трабла, но уже с другого конца: в мега-коллекции попадает слишком много мусора (битые файлы, файлы данных, не-очень-малварь, например, скрипты, которые пользуются малварью и т.п.). И очистить коллекцию от подобного мусора – тяжелейшая и неблагодарная работа. К тому же низкооплачиваемая :)
Философский вопрос, стоит ли участвовать компании в таких тестах и не так ли уж не права компания «Доктор Веб», которая пытается продавать от потребностей клиента, а не от ничего не говорящих тестов — обсуждать не будем.
Но вернемся к тестам. Действительно, для тестов на больших коллекциях берется коллекция по принципу «чем больше, тем лучше», берутся антивирусы, участвующие в тесте, обновляются до актуального состояния, и запускается сканирование коллекции на обнаружение. В общем-то логично. Чем больше образцов знает антивирус, тем вероятнее, что он найдет некую заразу в момент ее проникновения к пользователю (вспоминаем миф о том, что антивирусы должны знать все существующие вредоносные файлы).
С точки знания обычного пользователя и, к сожалению, большинства заказчиков — всё чисто и вопросов нет. Но неизвестные вредоносные программы портят такую красивую картинку.
Антивирус должен лечить, и лечить живые вирусы — внедрившиеся в систему пользователя. Проверять, найдет ли антивирус нечто вредоносное в файле, тоже нужно, но в первую очередь не для сканера и файлового монитора систем, предназначенных для защиты рабочих станций, а для:
В подобных тестах проверяется работа не систем обнаружения (перехвата запуска, например), а исключительно антивирусное ядро. Коллекция либо напрямую проверяется антивирусным сканером, либо файлы из коллекции копируются скриптом, и контролируется их обнаружение файловым монитором. Тут целых три подводных камня.
Во-первых, как уже говорилось, антивирус должен лечить. Но при огромных размерах коллекции физически невозможно проверить, действительно ли файл пролечен и пролечен ли он правильно — то есть полностью ли он работоспособен после проведенного лечения. Соответственно, в случае лечения пришлось бы просто полагаться на честность производителя и его сообщения об успешности лечения. Как результат, тестирования на огромных коллекциях проводятся на обнаружение.
Небольшое отступление. Обнаружение обнаружению рознь. Например, не все вирусы (сейчас мы говорим о вирусах как о классе вредоносных программ) заражают файлы правильно. Скажем, аналитики «Доктор Веб» считают, что не нужно сообщать о детекте в том случае, если вирус заразил файл так, что он никогда не будет исполнен, с одной стороны, а с другой — не влияет на работоспособность зараженной программы. Проигрыш в тесте — однозначно. Но знают ли пользователи, что проигравшая программа заботится о них, так как результат лечения не всегда предсказуем?
Еще одно отступление и еще пример. Полиморфные вирусы — ныне редкость, да. Но тем не менее. Полиморфные вирусы не определяются по сигнатурам — они изменяются на каждый запуск. Как их поймать в тесте, если в антивирусе нет полиморфного анализатора? Найти все имеющиеся у тестировщиков образцы и занести в базы. Все равно никто запускать их не будет для получения новых образцов. Реальный случай из прошлого.
Во-вторых, антивирус должен лечить в реальных условиях. Реальные вирусы, проникшие в систему, активно противодействуют антивирусам — шифруются, применяют методы полиморфного изменения и обфускации, маскируются под вполне безобидные процессы и т. д. Удалить их в разы сложнее, чем обнаружить в файле. И тем более сложно их удалить так, чтобы не повредить систему. Опять же в силу огромного размера коллекций и невозможности набрать необходимое количество специалистов, лично проверяющих качество лечения по каждому вирусу, провести тесты на лечение невозможно. Опять же приходится верить на слово производителям.
В-третьих, антивирус должен обнаруживать только вредоносные файлы. В силу отсутствия нужного числа специалистов, способных проверить всю коллекцию и гарантирующих отсутствие в ней различного мусора, не относящегося к вредоносным объектам, опять же приходится верить на слово продукту, что он обнаружил вирус, а не обломок реестра. И чтобы победить в тесте, нужно занести весь этот мусор в базы. С одной стороны, базы раздуваются, а с другой — как можно победить, если заранее не получить весь этот хлам?
Итого. Тесты на огромных коллекциях:
Обеспечить защиту может только ограничение путей проникновения вирусов в систему — офисный контроль, закрытие портов и т. д.
Насколько честно гордиться такими победами по отношению к своим пользователям? Философский вопрос.
Широкое распространение тестов на огромных коллекциях провоцирует производителей на создание «антивирусов», которые:
Слово Евгению Касперскому:
под такие тесты можно заточить любой продукт. Чтобы показывать в этих тестах выдающийся результат. Подгон продукта под тест делается элементарно – нужно просто детектить по максимуму те файлы, которые используются в тесте. Вы следите за ходом мысли?
Для того, чтобы показать в «тестах сканирования» близкий к 100% результат, не надо упираться и повышать качество технологий. Надо просто детектить всё то, что попадает в эти тесты.
Чтобы победить в этих тестах не нужно «бежать быстрее медведя». Нужно просто присосаться к источникам малвари, которые используют самые известные тестеры (а эти источники известны – VirusTotal, Jotti и малваро-обменники антивирусных компаний) – и тупо детектить всё, что детектят остальные. Т.е. если файл детектируется конкурентами – просто задетектить его по MD5 или типа того.
Всё! Я лично готов с нуля, силами пары разработчиков, сделать сканер, который будет через пару месяцев показывать почти 100% детект. // почему именно два разработчика нужно – на всякий случай, вдруг один заболеет.
Разновидностью теста на больших коллекциях являются тесты на эвристики. Исходя из того, что антивирус должен ловить еще не поступившие в лабораторию образцы, каждый антивирус содержит механизмы обнаружения еще неизвестных вредоносных программ. С этой целью состояние антивируса фиксируется на дату, сильно отстоящую назад от времени проведения теста, а используемая коллекция содержит вирусы, появившиеся после этой даты. Такой тест хорошо показывает, насколько хорошо антивирус ловит варианты уже известных вирусов, но, как уже говорилось, современные вирусы, в том числе направленные на кражу финансовой информации, перед релизом проверяются на актуальных антивирусных базах — и высокий рейтинг продукта в данном тесте не спасает пользователя от потери своих денег и данных.
Еще один вид теста — динамический. Устанавливается актуальная версия антивируса, и имитируется работа пользователя. Проблем несколько:
Но динамические тесты все же лучше, чем обычные тесты на больших коллекциях, так как проверяют большую часть компонентов антивируса.
И кстати, угадайте, какой из очень часто рекомендуемых антивирусов не просто проваливал тест по типу habrahabr.ru/post/160905 [18], но и смог в свое время набрать отрицательное количество баллов (http://dennistechnologylabs.com/reports/s/a-m/2012/DTL_2012_Q4_Home.1.pdf, dennistechnologylabs.com/reports/s/a-m/2013/DTL_2013_Q4_Home.1.pdf [19])?
Кроме тестов на обнаружение, для антивирусов наиболее распространены тесты на быстродействие и скорость запуска каких-либо программ. Тесты на быстродействие обычно совмещаются с тестами на обнаружение на больших коллекциях. Засады тут две.
Грубо говоря, антивирусные базы — это набор записей и процедур, определяющих, как обнаружить тот или иной вирус. Кроме этого, базы содержат распаковщики различных форматов архивов, упаковщиков, баз данных и т. д. Соответственно, чтобы найти тот или иной вирус, антивирусу надо пробежаться по всей базе. Естественно, производители оптимизируют форматы баз для ускорения перебора (скажем, уже упоминавшаяся технология FLY-CODE от «Доктор Веб» работает в том числе и на это), но в общем случае чем больше база, тем вероятнее большее время поиска по ней. Поскольку для определения вируса любому производителю нужно примерно одинаковое количество данных (естественно, речь о сигнатурах), то сильно меньший размер баз при высокой скорости проверки должен настораживать. Тестов, учитывающих информированность антивируса о вирусах (например нормирующих скорость проверки на размер записей), не производится.
Пример из жизни. Не знаю, как в текущем году, но год назад в России все еще был антивирус, «определяющий» вирусы по пяти или семи, не помню точно, сигнатурам.
По-хорошему такое тестирование также должно проводиться на стандартных профилях пользователя. Скажем, в реальной жизни, как правило, одновременно открывается много файлов, а современные процессоры являются многоядерными. Как оценить, насколько антивирус хорошо работает и на современных компьютерах, и на том, что в большом количестве стоит в регионах (запросы на защиту компьютеров на основе 386-го процессора прекратились не так давно)? Должны существовать несколько режимов тестирования с различным количеством одновременно открываемых файлов (количеством тестовых потоков). Тестировать только на одной и притом только современной конфигурации машины? Или тестирующие думают, что везде в России у всех пользователей компьютеры этого года выпуска? И, возвращаясь к сказанному — я не видел ни одного стандартного профиля для работы пользователя в Интернете — сколько и какие данные посылаются/скачиваются, в какие промежутки времени и т. д.
Итого существующая ситуация с антивирусными тестами на быстродействие толкает производителей на создание:
Все это усугубляется тем, что порог входа на рынок очень велик — для вывода на рынок нового продукта нужно сразу иметь базы с информацией обо всех существовавших и существующих вирусах, методах их обнаружения и многом другом — гораздо проще обнаруживать топ-100 вирусов.
Прежде чем перейдем к последней группе тестов, немного теории. На рынке присутствует достаточно большое количество антивирусных программ. И делятся они на две части. Первая разрабатывает все нужное для ловли и лечения вредоносных программ самостоятельно, вторая — лицензирует у первых антивирусные ядра. И на тестах на больших коллекциях, на эвристики и первые, и вторые показывают примерно равные результаты. А вот в реальной жизни все иначе. Смотрим на последние два теста из разряда тестов на малых коллекциях, когда организаторы теста имеют возможность проверить результаты «общения» каждого антивируса и каждого вируса. Это тесты на лечение активных заражений и самозащиту.
www.anti-malware.ru/antivirus_self_protection_test_x64_2011 [20]
www.anti-malware.ru/malware_treatment_test_2012 [21]. Для сокращения размера из таблицы убраны награды
Разница между первой и второй группой, грубо говоря, в драйверах. Лицензируется и передается антивирусное ядро. Система перехвата в АПИ как правило не входит. Но вредоносный файл нужно поймать — перехватить трафик до момента внедрения вируса в систему, обнаружить и уничтожить руткит после прихода обновления. И на тестах лечения активного заражения и тестах самозащиты мы как раз и видим разницу подходов к безопасности — резкое падение качества работы после тройки лидеров.
Приверженцам бесплатных продуктов просьба понять — бесплатный сыр бывает только в мышеловке. Разработка любых решений безопасности — крайне затратный процесс, и работают в ведущих компаниях профессионалы, которые хотят получать адекватную зарплату.
И еще. Рынок информационной безопасности уникален. Именно здесь покупка некой компании может не дать покупателю ничего, поскольку купить патенты мало — здесь нужны головы (http://www.i2r.ru/news.shtml?count=30&id=20668, www.kaspersky.ru/about/security_experts [22]).
К сожалению, ресурс, на котором проводились вышеприведенные тесты, был основан Ильей Шабановым, работавшим на тот момент в «Лаборатории Касперского». И это вызвало резкие подозрения в ангажированности побед. Не по данному тесту, но по сходному поводу, Евгений Касперский написал (http://e-kaspersky.livejournal.com/83656.html):
не будем судить об объективности и независимости, поскольку Passmark и так ничего не скрывает: дисклеймер документа честно сообщает, что тест субсидировался и проводился по методологии одного из участников: Symantec Corporation funded the production of this report and supplied some of the test scripts used for the tests
Любопытно, что этот дисклеймер присутствует и в предыдущих тестах антивирусного софта (2010, 2009, 2008). Догадайтесь, кто в них занимал первое место?
Но факт теста налицо, победитель апеллирует к мнению уважаемой организации (а Passmark действительно таковой является), размахивает флагом, публика аплодирует и восторгается. Посему уж очень интересно узнать каким образом некоторые “supplied scripts” повернули тест таким образом, чтобы возвести на престол спонсора?
К моему глубокому сожалению, тесты на www.anti-malware.ru [23] давно не проводятся, и замены им нет.
Итого: тесты на активное лечение и самозащиту:
Даже если коллекция создавалась беспристрастно, нельзя гарантировать, что пришедший вторым хуже лидера — соответствующий экземпляр мог просто не успеть прийти в лабораторию для анализа.
И еще о тестах.
Подытоживая. Ситуация с тестами ровно укладывается во фразу: «Мы вас не обманываем, мы просто не говорим всей правды». Результаты тестирования, естественно, нужно принимать во внимание — но только первоначально составив для себя список задач, за которые должен отвечать антивирус в системе. Если вам нужно, чтобы антивирус был незаметен — ваше право, но если вам нужна страховка на случай, когда северный зверь заглянул к вам в гости — тесты без понимания функций антивируса вас не спасут.
Или словами Евгения Касперского:
Спросите, а как же тогда ориентироваться? Кто может авторитетно замерить качество антивируса? Ответ прост – реально НЕТ такого теста, который я бы мог однозначно рекомендовать как лучший показатель. У одних недостатки методологии, другие сильно специфичны.
Что можно посоветовать?
Выводы каждый делает сам.
И в заключение традиционно вопрос:
Автор: teecat
Источник [24]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/virusy/87365
Ссылки в тексте:
[1] «Как нас тестируют»: http://habrahabr.ru/company/kaspersky/blog/253155
[2] www.virusbtn.com: http://www.virusbtn.com
[3] www.virus.gr: http://www.virus.gr
[4] www.av-test.org: http://www.av-test.org
[5] www.av-comparatives.org: http://www.av-comparatives.org
[6] www.checkvir.com: http://www.checkvir.com
[7] www.westcoastlabs.org: http://www.westcoastlabs.org
[8] anti-malware.ru: http://anti-malware.ru
[9] anti-virus-software-review.toptenreviews.com: http://anti-virus-software-review.toptenreviews.com
[10] anti-spyware-review.toptenreviews.com: http://anti-spyware-review.toptenreviews.com
[11] www.techsupportalert.com/security_scanners.htm: http://www.techsupportalert.com/security_scanners.htm
[12] antivirus-software.6starreviews.com: http://antivirus-software.6starreviews.com
[13] www.virustotal.com: https://www.virustotal.com
[14] virusinfo.info: http://virusinfo.info
[15] www.securitylab.ru/blog/personal/ser-storchak: http://www.securitylab.ru/blog/personal/ser-storchak
[16] avcaesar.malware.lu: https://avcaesar.malware.lu
[17] www.malwaretracker.com/pdf.php: https://www.malwaretracker.com/pdf.php
[18] habrahabr.ru/post/160905: http://habrahabr.ru/post/160905
[19] dennistechnologylabs.com/reports/s/a-m/2013/DTL_2013_Q4_Home.1.pdf: http://dennistechnologylabs.com/reports/s/a-m/2013/DTL_2013_Q4_Home.1.pdf
[20] www.anti-malware.ru/antivirus_self_protection_test_x64_2011: http://www.anti-malware.ru/antivirus_self_protection_test_x64_2011
[21] www.anti-malware.ru/malware_treatment_test_2012: http://www.anti-malware.ru/malware_treatment_test_2012
[22] www.kaspersky.ru/about/security_experts: http://www.kaspersky.ru/about/security_experts
[23] www.anti-malware.ru: http://www.anti-malware.ru
[24] Источник: http://habrahabr.ru/post/254351/
Нажмите здесь для печати.