Ложные срабатывания: почему с ними надо бороться и как мы добились лучших показателей

Содержание 

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

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

Две основные причины появления ложных срабатываний — (i) программные, аппаратные и человеческие ошибки на стороне разработчика, (ii) многообразие легального («чистого») программного обеспечения, которое проходит проверку системой безопасности. Последняя причина требует пояснения. Действительно, программы пишут миллионы человек разной квалификации (от студента до профессионала) по всему миру, пользуясь разными платформами и стандартами. У каждого автора свой неповторимый стиль, при этом «почерк» программного кода действительно иногда напоминает вредоносный файл, на что и срабатывают защитные технологии, в особенности, основанные на поведенческом анализе и машинном обучении.

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

Лаборатория Касперского более двадцати лет развивает процессы разработки и тестирования, а также создаёт технологии для минимизации ложных срабатываний и сбоев у пользователей. Мы гордимся одним из лучших в индустрии результатов по этому показателю (тесты AV-Comparatives, AV-Test.org, SE Labs) и готовы подробнее рассказать о некоторых особенностях нашей «внутренней кухни». Уверен, что эта информация позволит пользователям и корпоративным заказчикам делать более обоснованный выбор системы безопасности, а разработчикам программного обеспечения – усовершенствовать свои процессы в соответствии с лучшими мировыми практиками.

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

Давайте более подробно рассмотрим каждый уровень системы.

Контроль на уровне дизайна.

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

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

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

Впрочем, помимо технологий и продуктов есть пресловутый человеческий фактор.

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

Контроль при выпуске метода детекта.

Перед доставкой пользователям новые методы обнаружения киберугроз проходят ещё несколько стадий тестирования.

Важнейший защитный барьер – инфраструктурная система тестирования на ложные срабатывания, работающая с двумя коллекциями.

Первая коллекция (critical set) состоит из файлов популярных операционных систем разных платформ и локализаций, обновлений этих операционных систем, офисных приложений, драйверов и наших собственных продуктов. Это множество файлов регулярно пополняется.

Вторая коллекция содержит динамически формируемый набор файлов, составленный из наиболее популярных на текущий момент файлов. Размер этой коллекции выбран таким образом, чтобы найти баланс между объёмом сканируемых файлов (как следствие, количеством серверов), временем такого сканирования (а значит, временем доставки методов детекта пользователям) и максимальным потенциальным ущербом в случае ложного срабатывания.

Сейчас размер обеих коллекций превышает 120 миллионов файлов (около 50Tb данных). Учитывая, что они сканируются каждый час при каждом выпуске обновлений баз, то можно сказать, что инфраструктура за сутки проверяет более 1,2Pb данных на ложные срабатывания.

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

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

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

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

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

Контроль выпущенных детектов

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

Дело в том, что динамика детекта, вызывающего ложное срабатывание нередко отличается от динамики детекта действительно вредоносных файлов. Автоматика отслеживает такие аномалии и при возникновении подозрений просит аналитика произвести дополнительную проверку сомнительного детекта. А при уверенных подозрениях автоматика самостоятельно отключает этот детект через KSN, при этом срочно информируя об этом аналитиков. Кроме того, три команды дежурных вирусных аналитиков в Сиэтле, Пекине и Москве посменно и круглосуточно наблюдают за обстановкой и оперативно решают возникающие инциденты. Humachine Intelligence в действии.

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

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

Кстати, про учения.

Профилактика лучше лечения

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

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

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

Наконец, по всем инцидентам, рискам и проблемам, вскрытым учениями, ведётся системная работа над устранением корневых причин.

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

Заключение

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

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

При этом, нам удаётся найти и поддерживать оптимальный баланс между самым высоким уровнем защиты от киберугроз и очень низким уровнем ложных срабатываний. Об этом свидетельствуют результаты независимых тестов: по итогам 2016 г. Kaspersky Endpoint Security получил от немецкой тестовой лаборатории AV-Test.org сразу восемь наград, в том числе «Best Protection» и «Best Usability».

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

Постинги на схожие темы 

Всего комментариев: 1
  1. Виктор

    Работа делается очень серьёзная. Антивирусная защита на высоком уровне. Благодарю разработчиков и весь коллектив.

Добавить комментарий

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