Как машинное обучение помогает справляться с вирусами и почему это не панацея
Разработчики антивирусов с помощью таких ИИ-техник, как машинное обучение, планируют защищать компьютеры от вредоносного ПО. Однако у создателей вирусов есть решающее преимущество.
Антивирусный бизнес сейчас на подъеме. Только в 2015 году, по данным компании Gartner, по всему миру было продано программ безопасности на сумму в 22 миллиарда долларов. Однако сколько бы средств не тратили предприятия и частные пользователи, стопроцентной защиты не существует.
Особенно «любимым» у разработчиков антивирусов подвидом вредоносного ПО являются программы-вымогатели. Всего за третий квартал прошлого года было заблокировано 821 865 подобных атак на пользователей продуктов Лаборатории Касперского.
Ужасает при этом то, насколько злоумышленники успешны в своем деле: по информации этой компании, из-за отсутствия мер противодействия каждая третья жертва перечисляет хакерам выкуп — однако 20 процентов таких пользователей никогда не получат от вымогателей код для дешифровки своих данных. На каждом пострадавшем преступники зарабатывают в среднем около 17 000 руб. — весьма выгодный бизнес.
Ежедневно появляются 300 000 новых видов вредоносного ПО — непрерывная игра в кошки-мышки для антивирусов. Стандартными базами сигнатур с опасностью справиться практически невозможно. Поэтому современные защитные решения делают ставку на анализ поведения. В этом случае защитное ПО в реальном времени проверяет, как ведет себя предполагаемый вирус на компьютере. При подозрительных обращениях сканер блокирует программу и уведомляет об этом пользователя.
Проблема: злоумышленники разрабатывают методы для обхода эвристики, например, укрывая своих шантажистов в серьезных продуктах. Положить конец такому принципу действия способны только совершенно новые техники.
Как обучаются компьютеры
Машинное обучение стоит из двух крупных разделов: фазы обучения и распознавания.
> Фаза обучения. В начале специалисты должны объяснить компьютеру, что характеризует вирус. На последующих этапах компьютер будет становится все умнее и вдобавок начнет учиться.
> Распознавание. Затем натренированный алгоритм на основании поведения выполняемой программы способен решить, идет ли речь о легитимном приложении или о скрытом в файле вирусе.
Должны помочь различные методы сканирования
В современные коммерческие продукты безопасности интегрирована защита от программ-вымогателей. Она в реальном времени постоянно сканирует систему на наличие странных обращений к файлам. Одновременно с этим проверяются показатели системы, выясняется, не повышается ли внезапно нагрузка на процессор и не возрастает ли стремительно число обращений к дискам (первые индикаторы атаки).
В официальных заявлениях утверждается, что разработчики антивирусов знают свое дело и гарантируют эффективную защиту от нападений. Однако инсайдеры шепотом рассказывают, что и у этой технологии есть слабые места: кибергангстеры последовательно устанавливают на изолированную систему все распространенные антивирусные решения, а затем спокойно разрабатывают идеальный вирус, который не будет замечен сканером и сможет обмануть даже самую современную эвристику.
Против таких, разработанных с большими усилиями, вариантов практически любой антивирусный продукт бессилен. Несмотря на то что разработчики в течение нескольких часов после распространения вируса подготавливают защиту, к первым пострадавшим противоядие попадает слишком поздно.
Виноват в этом человеческий фактор: специалистам по вредоносному ПО необходимо вручную разобрать новый вирус, проанализировать его и подготовить описание, которое попадет на систему клиента при обновлении. В случае со сложными «вредителями» процесс может занять несколько дней. На анализ особо изысканного творения преступников могут уйти даже месяцы.
Некоторые разработчики видят будущее вирусного анализа в отказе от человеческого фактора: в центре будут находится машины, распознающие вредоносное ПО и запускающие соответствующее обновление.
Анализ через машинное обучение
Всевозможные компании, от Symantec до Malwarebytes, сегодня занимаются разработкой методов, при которых работу по анализу вирусов возьмут на себя ИТ-системы. В случае с машинным обучением исследователи «скармливают» суперкомпьютеру несколько миллионов файлов — как вредоносных, так и безопасных.
С помощью так называемых признаковых описаний затем компьютеру объясняется, как выглядит вирус, какими характеристиками он обладает и как обычно ведет себя на компьютере своей жертвы — абсолютно так же, как и при развитии и воспитании ребенка.
Таким образом, постепенно машина обретет самостоятельность и будет все надежнее различать вирус и легитимную программу. И пусть частота ошибок остается еще довольно высокой, постепенно она будет снижаться, а алгоритм совершенствоваться.
Однако такое развитие требует времени и ресурсов. В Symantec есть свой отдельный вычислительный центр для машинного обучения, где занимаются оптимизацией методики.
В современных антивирусных продуктах этот алгоритм уже является элементом стратегии распознавания. Несмотря на это на заднем фоне все равно присутствуют люди-исследователи, поскольку новая технология еще страдает от детских болезней.
Проблемы с панацеей
Как бы ни была хороша идея машинного обучения, до сих наблюдаются ключевые недостатки, задерживающие триумфальное шествие. В первую очередь, все упирается в деньги. Лишь крупные компании могут позволить себе инфраструктуру, необходимую для реализации этого метода.
Кроме того, несмотря на переход к машинному обучению, на месте всегда должна присутствовать команда экспертов. Она контролирует алгоритм и в неоднозначных случаях сама принимает решение, вирус это или нет, внося соответствующие корректировки.
Фирмы, сокращающие расходы на персонал и стопроцентно полагающиеся на алгоритм, рискуют допустить в учебный процесс ложные результаты. Таким образом, их безопасность стремительно снижается.
Для Алексея Маланова, эксперта по вирусам «Лаборатории Касперского», проблема машинного обучения упирается прежде всего в язык. Если представить нынешний сценарий угрозы в виде англоязычной страны, такой алгоритм был бы успешен лишь в борьбе с вредоносным ПО на английском языке.
Однако поскольку ландшафт угрозы постоянно изменяется, и соответственно постоянно появляется новый язык, приходится все время с чистого листа адаптировать алгоритм под изменившуюся ситуацию. А это сложно. К примеру, семейство Trojan-Ransom.Win32.Shade состоит из 30 000 подтипов. Одним лишь распознаванием такого семейства алгоритм не способен обеспечить защиту ото всех его подвидов. Для этого понадобились бы сотни примеров на каждый вирус — лишь так алгоритм обучается автоматически.
Утилита машинного обучения также не способна защитить от специализированных атак. Просто-напросто отсутствует база данных. Маланов убежден, что на одной методике машинного обучения далеко не уехать. Она может быть исключительно шестеренкой в сложной антивирусной машине. Но даже с машинным обучением и другими средствами антивирусные системы катастрофично отстают от разработчиков вредоносного ПО.
Все защитные продукты совершают ошибки
Даже если в системе используются «песочницы», карантин, эвристические методы и машинное обучение, злоумышленники умудряются ее обманывать. Как уже было сказано выше, достаточно протестировать антивирусное решение на изолированной системе до релиза «вредителя» и найти таким образом пробелы в распознавании.
Другую опасность представляют сами антивирусы. Хакеры, пользуясь уязвимостями, с помощью перепрограммирования могут получить за ними контроль так же, как над обычным ПО. Так, в июне 2016 года пострадала компания Symantec. Специалисты обнаружили семь критических лазеек практически во всех антивирусных продуктах этого разработчика.
Приложив минимальные усилия, злоумышленники инфицируют не только компьютеры, но и целые корпоративные сети. Для использования уязвимостей они должны принудить свою жертву к вызову модифицированной веб-страницы. Поскольку антивирусным продуктам на компьютере выдаются максимально расширенные права, подобные уязвимости становятся фатальными.
Игра в кошки-мышки между атакующими и обороняющимися, таким образом, продолжается. Однако машинное обучение в любом случае осложнит жизнь разработчикам вирусов.
Направления распознавания
В современных антивирусных системах для распознавания используется целый ряд методов. Новые файлы проходят через различные стадии за пару мгновений.
> Анализ поведения. При возникновении подозрений сканер запускает файл предполагаемого вируса в песочнице — защищенной области. Там рудиментарный алгоритм проверяет, не заражена ли программа.
> Быстрая оценка. В будущем после внедрения машинного обучения нынешняя модель будет предлагать более быструю и надежную защиту, а также отличаться повышенной производительностью. Однако и в этом случае окончательное решение, доверять ли файлу или переместить его в карантин, принимает пользователь за компьютером.
ФОТО: компании-производители; absurdovruslan/Fotolia.com