Публикации

Как тестируют защитные продукты, часть 1

Методологии и основные игроки

Спрос на тесты возник практически с появлением антивирусов – в середине-конце 90-х годов XX века. В ответ появилось и предложение: тестовые лаборатории компьютерных журналов начали замерять эффективность защитных решений с помощью самопальных методологий, а чуть позже зародилась отрасль специализированных компаний, практикующих более обстоятельный подход к методикам тестирования.

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

С тех пор прошло больше 20 лет. Защитные решения непрерывно развивались и работали все более эффективно за счет новых технологий, но и угрозы не отставали. В свою очередь, лаборатории постепенно совершенствовали свои методики тестирования, придумывая, как наиболее достоверно и точно измерить работу защитных продуктов в разных условиях.

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

Когда речь заходит о затратах на тестирование, главный вопрос – qui prodest? (лат. «кому выгодно?»). И это тот редкий случай, когда качественная работа выгодна всем: и вендорам, и их клиентам. Дело в том, что независимое тестирование – единственный способ оценить эффективность защитного решения и сравнить его с конкурентами. Других просто нет. Потенциальному покупателю тесты необходимы, чтобы понять, какой именно продукт отвечает его нуждам лучше всего. Вендору также нужно держать руку на пульсе отрасли, иначе он и не заметит, что его продукт отстал от конкурентов или свернул в своем развитии куда-то не туда. Такая практика существует и в других отраслях, в качестве примера можно вспомнить независимые тесты безопасности EURO NCAP и другие.

Но мир меняется, и для старых проблем появляются совершенно новые решения. В отрасли защиты от угроз также появляются продукты, основанные на модных перспективных подходах, таких как машинное обучение. Потенциальные возможности захватывают дух, правда, до их эффективной реализации может пройти еще немало лет. Конечно же, вендоры так называемых «некст-ген» антивирусов в своих маркетинговых материалах вдохновенно рассказывают о невероятных возможностях своих продуктов, но верить им на слово незачем – лучше, как и прежде, сравнивать решения на основе результатов тестирований.

Основные методологии тестирования

Вопросом «как это тестировать» задавались тестировщики на заре индустрии, задаются им и сейчас. Методологии тестирования развиваются согласно развитию киберугроз и самих защитных решений. Начиналось все с самого простого – on-demand scan.

On-demand scan (ODS). Лаборатория собирает всевозможные вредоносные программы (раньше преимущественно зараженные вирусами файлы, сейчас это по большей части троянцы), складывает в папку на жестком диске, и натравливает на всю коллекцию тестируемый продукт. Чем больше поймал – тем больше молодец. Иногда в ходе тестирования файлы копируются из папки в папку, что чуть ближе к реальному сценарию работы.

Если когда-то этой методики было достаточно, то теперь при таком тестировании не отрабатывает львиная доля продвинутых защитных технологий, что не позволяет оценить реальные возможности решения в части противодействия современным угрозам. Однако ODS все еще применяется, чаще всего в сочетании с более совершенными методами.

Тестирование с запуском. Следующий этап развития методов тестирования. Файлы собранной коллекции копируют и запускают на машине с запущенным тестируемым ПО, фиксируя действия защитного решения. Когда-то это казалось очень продвинутой методикой, но жизнь довольно быстро продемонстрировала ее недостатки. Дело в том, что современные кибератаки проводятся в несколько этапов, и вредоносный файл может быть лишь частью ее, не предназначенной для самостоятельной работы. То есть сэмпл может ждать каких-то параметров командной строки, или требовать специфического окружения (например, запуск из-под определенного браузера), или же это может быть модуль в виде библиотеки DLL, подключаемый к основному троянцу, и не запускающийся сам по себе.

Real-world test (RW). Самая сложная, но приближенная к реальности методика тестирования, заключающаяся в воспроизведении полного цикла заражения системы. На чистой системе с установленным защитным решением открывают вредоносный файл, присланный в письме, или через браузер переходят по реальной вредоносной ссылке, и проверяют, сработала ли вся цепочка заражения или же тестируемое решение смогло остановить процесс на одном из этапов.

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

Однако тестирование по этой методике требует серьезной подготовки. Во-первых, полноценное тестирование на ста и более сэмплах требует большого числа машин, или очень много времени – не все лаборатории могут позволить себе такие расходы. Во-вторых, многие современные троянцы умеют определять запуск в виртуальном окружении и не работают в нем, чтобы затруднить исследователям анализ. Поэтому для получения наиболее достоверного результата, тестовой лаборатории приходится использовать физические компьютеры, «перезаливая» систему после прогона каждого вредоносного семпла. Или использовать виртуальные машины, но более тщательно подходить к отбору сэмплов для тестирования.

Другая непростая задача – формирование достаточно обширной базы вредоносных ссылок. Многие из них одноразовые или работают с ограничениями (к примеру, лишь для определенных регионов). И качество RW-теста очень сильно зависит от того, насколько хорошо лаборатория умеет находить такие ссылки и насколько корректно она с ними обращается. Очевидно, нет никакого толку от теста, когда один испытуемый продукт отработал при открытии ссылки, а с другими продуктами теста не получилось, так как ссылка «умерла». Для достижения точного результата, количество таких ссылок должно быть достаточно большим, что обспечить непросто.

Proасtive тест. Суть методики заключается в испытании защитного решения на заведомо неизвестных ему сэмплах. Для этого эксперты устанавливают тестируемый продукт и не обновляют его в течение некоторого времени, от нескольких дней до нескольких месяцев. После этого прогоняют коллекцию зловредов, появившихся после последнего обновления продукта, через OAS- и ODS-тесты, а отдельные компании еще и через тесты с запуском . Некоторые тестовые компании пакуют или обфусцируют известные угрозы, чтобы целенаправленно проверить возможности защитного решения по определению вредоносного поведения. Некоторые лаборатории также отключают возможность обновления просто отключая для защитного решения возможность обратиться в «облако». Из-за этого могут не срабатывать некоторые защитные технологии и тестируемые продукты оказываются в неравных условиях, что подрывает релевантность теста.

Removal или remediation (тест на полное удаление вредоносной программы). Проверяет способность защитного решения к лечению системы, т.е. очистке ключей автозапуска, удалению задач планировщика и других следов деятельности вредоносной программы. Тест достаточно важен, поскольку неудачное лечение может привести к проблемам при загрузке или функционировании ОС или, что еще хуже, к восстановлению зловреда в системе. В ходе теста «чистая» система успешно заражается вредоносной программой из набора, затем происходит перезагрузка компьютера и установка тестируемого защитного решения с последними обновлениями. Проверка на качество выполненного лечения есть у большинства тестеров – в виде отдельного теста или в составе RW.

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

False-Positive (тест на ложные срабатывания). Необходим для определения достоверности финальной оценки. Очевидно, что антивирус, детектирующий все программы как вредоносные, получит все 100% в категории защиты, но для пользователя он бесполезен. Поэтому обязательно надо проверять его реакцию на заведомо легитимные приложения. Для этого собирается отдельная коллекция дистрибутивов популярного программного обеспечения и проверяется в разных сценариях.

Feedback (стадия обратной связи). Это не методология тестирования, но важнейший этап любого теста, без которого результаты могут быть недостоверны. После прогона всех тестов лаборатория отправляет вендору предварительные результаты, полученные его продуктом, чтобы он мог их проверить, воспроизвести у себя, и найти ошибку. Это очень важно просто потому, что у лаборатории нет достаточного количества вирусных аналитиков, чтобы они могли проверить каждый кейс из сотен, а ошибки всегда возможны. К тому же, они не обязательно кроются в методике. К примеру, в ходе RW-теста некое приложение может успешно проникнуть на машину, но не выполнить никаких вредоносных действий по причине того, что предназначено для другого региона, или же изначально является не вредоносным, а, например, рекламным. Однако приложение установлено, продукт этому не воспрепятствовал, значит, получил снижение балла.

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

Специализированные тесты

Отдельный пласт методологий – углубленные тесты на конкретные типы угроз или определенные защитные технологии. Многим заказчикам нужно знать, какое решение будет наиболее эффективно против, например, шифровальщиков, или чем лучше защищать системы дистанционного банкинга. Общая оценка защитного решения тут мало что скажет, кроме того, что оно «не хуже других». Этого недостаточно, поэтому ряд тестовых лабораторий практикуют специализированные тесты.

Эксплойты. Противодействовать эксплойтам сложнее, чем вылавливать вредоносные сэмплы, и не все защитные решения с этим справляются. Для проверки противоэксплойтных технологий лаборатории применяют RW-тесты: тестировщики собирают коллекцию ссылок на эксплойт-паки, заходят на них с чистой машины, записывают траффик и воспроизводят для всех антивирусов. Помимо реальных эксплойт-паков, некоторые компании для чистоты эксперимента изготавливают собственные эксплойты с помощью фреймворков вроде Metasploit. Таким способом удается проверить реакцию защитного решения на эксплуатацию уязвимостей ПО заведомо неизвестным кодом.

Финансовые угрозы. Интернет-банки и системы банк-клиент – очень популярное у киберпреступников направление атаки, так как позволяет извлечь прямую финансовую выгоду. Для этого применяется ряд специфических технологий – например, подмена контента веб-страниц и удаленное управление системой, – и необходимо проверить, насколько грамотно противодействует им защитное решение. Также многие вендоры предлагают специализированные технологии защиты от финансовых угроз (например, наш SafeMoney), их эффективность также проверяется данными тестами.

Специфические платформы. Подавляющее большинство тестов проводится на самой распространенной платформе – десктопная Microsoft Windows актуальной версии. Однако нередко пользователя интересует эффективность защитного решения на других платформах: Android, Linux, Mac OS, серверная Windows, мобильные операционные системы, или даже Windows устаревших версий (к примеру, Windows XP до сих пор работает на большинстве действующих банкоматов, и уйти от нее банки смогут нескоро). Эти тесты, в силу их относительно небольшой востребованности, обычно проводятся по самым простым методиками.

Типы тестов

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

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

В случае непрерывных тестов защитные решения также тестируются с определенной периодичностью, но оценка присваивается по совокупности результатов – например, каждые полгода ежемесячного тестирования, — или же и по каждому результату, и по совокупности. Среди множества проводящихся тестов, самые показательные для потребителя и самые важные для вендора – непрерывные. Только результаты «забега на длинную дистанцию» позволяют агрегировать показатели, полученные на разных версиях продукта при меняющейся коллекции, и выработать наиболее точную оценку продукта.

Главное – только результаты непрерывных тестов позволяют определить не только эффективность работы прошлых и текущей версии продукта, но понять, как он будет показывать себя в обозримом будущем. Хорошие оценки в годовом или более продолжительном тестировании говорят о том, что над продуктом ведется постоянная работа. Он не просто получает обновления баз, его разработчики держат руку на пульсе и реагируют на изменения ландшафта угроз.

Игроки рынка

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

AV Comparatives. Австрийская компания, одна из старейших на рынке тестирования антивирусов. Специализируется на защитных решениях для B2C сегмента, выполняет полный спектр тестов, включая RW-тесты на собственной закрытой коллекции кейсов. Тестирования проходят ежемесячно на протяжении 10 месяцев в году, лучшим вендорам по итогам дают награду Product of the Year или Outstanding Product. Раз в год тестируют решения под Android и Mac OS, используя методологии ODS, OAS и On-Execute.

AV-TEST. Немецкая компания, существующая уже 20 лет, крупнейший игрок на рынке тестов. Ежемесячно проводит сравнительные RW-тесты, результаты которых объединяет по два месяца, также применяют методологию ODS + OES + ODS (то есть сканируют семпл, запускают, и снова сканируют). Проводит тесты на производительность, тестирует Android и дважды в год Mac OS по методу ODS.

MRG Effitas. Компания, базирующаяся в Великобритании. Существует с 2009 года и специализируется на углубленных тестах технологий. Поквартально проводят сравнительные RW-тесты (360 Assessment), отдельно тестируют финансовые угрозы (тест online banking) и, нерегулярно, противодействие эксплойтам. Также регулярно делают заказные тесты по разным направлениям.

SE Labs, основанная выходцем из компании DTL Саймоном Эдвардсом. Соответственно, заменила на рынке DTL, и использует тот же самый набор тестов. Проводит поквартальные RW-тесты, содержащие в том числе тесты на противодействие эксплойтам, для чего применяет собственные атаки, разрабатываемые на основе фреймворков.

Virus Bulletin. Проводит очень простой тест-сертификацию на основе методики ODS на статичной коллекции Wildlist, доступной для скачивания вендорами. Помимо этого проводят эвристические тесты антивирусов с необновленными по несколько недель базами.

ICSA Labs. Американская компания, являющаяся подразделением Verizon. Проводит исключительно сертификации, кроме того, тестирует решения класса Anti-APT.

NSS Labs. Также американская компания, ориентированная на корпоративный сегмент. Ввиду этого результаты не публикует, а предоставляет по платной подписке. В арсенале имеются RW-тесты, тесты на противодействие эксплойтам и защиту от APT.

Журналы и онлайн-издания, такие как PC Magazine, ComputerBild, Tom’s Hardware Guide и т.д., также проводят собственные антивирусные тесты. Однако их подход не отличается прозрачностью: они не показывают свои коллекции вредоносных семплов и не обеспечивают обратной связи с вендором.

Помимо рассмотренных, есть множество локальных игроков, проводящих нерегулярные тесты, или же специфические, по заказу вендоров. К оценке их результатов надо подходить с осторожностью, так как методологии часто непрозрачны, а выбор участников сравнительных тестирований далеко не полон. Следует понимать, что качественная методология не придумывается «на ходу», это сложный и дорогой итог многолетней работы компании, требующий ресурсов и экспертизы. Однако только такие тестирования дают объективную картину рынка защитных продуктов.

Как побеждают в тестах

Для победы в тесте внедрять новые технологии недостаточно, победа – всегда итог кропотливой, непрестанной работы над ошибками. Чем в большем числе тестов, и в чем более качественных тестах принимает участие продукт, тем больше у разработчиков точной информации, где искать проблемы и недоработки.

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

Даже первое место в тестировании, где продукты не проверяются на производительность и ложные срабатывания, не позволяет судить о том, способен ли продукт справиться с современными угрозами без неприемлемых для пользователя накладных расходов. Добиться 100-процентной защиты легко – гораздо тяжелее обеспечить ее, не помешав работе пользователя. И если вендор не участвует в более продвинутых тестированиях, это четкий сигнал наличия серьезных нерешенных проблем с эффективностью продукта.

Как тестируют защитные продукты, часть 1

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике