Алгоритмы машинного обучения (МО) сейчас применяются везде, поскольку оно используется при решении практически каждого вопроса безопасности ИТ, потому и сфера кибербезопасности не стоит в стороне от процесса освоения технологий машинного обучения. Поговорим об особенностях их применения именно для решения задач обеспечения кибербезопасности. Мы опишем пару сценариев, которые в современном мире без МО немыслимы.
Предметная область
Детектирование угроз на стороне клиента
Общая схема такова: в вирусной лаборатории обрабатывается большое количество объектов (миллион новых в сутки), они теми или иными методами классифицируются на чистые, вредоносные и нежелательные. В результате модель, которая используется для подобной классификации в антивирусном ПО, постоянно дообучается, затем оптимизируется и в виде обновлений антивирусных баз доставляется на сторону продукта клиента. Далее продукт клиента с помощью этой модели классифицирует все подозрительные файлы на машине пользователя [1]. В этом случае средства защиты, установленные у клиента, используют не статические сигнатуры вредоносных программ, а своеобразную ИИ-модель для классификации объектов информационной системы.
Поиск аномалий
Существует другой базовый сценарий – поиск аномалий в сети организации клиента для выявления целевых атак на компанию. В сети на рабочих станциях и серверах расставлены сенсоры, которые фиксируют события: сетевые, файловые и др. В потоке событий модель пытается выявить нетипичное поведение и либо заблокировать его, либо обратить на него внимание сотрудника ИБ [2]. Например, при новом подключении машины к другой внутри сети модель определяет, насколько часто такое событие происходило ранее. Если машина бухгалтера вдруг начала устанавливать много соединений с серверами исследовательских лабораторий, то такое поведение может показаться подозрительным.
С учителем или без
Неоднократно при общении с клиентами мы сталкивались с заблуждением, будто математическая модель в продукте на стороне клиента дообучается со временем на объектах, проходящих через машину клиента. В действительности этого не происходит, даже несмотря на быстроменяющийся ландшафт угроз. В сценарии детектирования угроз на стороне клиента все обучение происходит на стороне антивирусной лаборатории (обучение с учителем – Supervised ML).
Дело в том, что через клиента проходит несоизмеримо меньше вредоносных объектов, чем чистых. Более того, если угроза не будет распознана всеми уровнями защиты (классифицирована как чистый объект), то МО-модель будет обучаться «не в ту сторону» – будущие похожие угрозы будут пропускаться на основании мнения неправильно обученной модели. Поэтому процесс обучения МО-модели должен контролироваться специалистами, а ее вердикты – проверяться на тестовых базах, собираемых в лабораториях антивирусных компаний.
Другая ситуация в сценарии поиска аномалий для выявления целевых атак. Здесь по большей части применяется обучение без учителя (Unsupervised ML). На практике невозможно сформулировать, что же такое аномалия в потоке событий или обучить МО-модель на примерах целевых атак. Она должна сама определить штатный поток событий и уже после этого получить возможность фиксировать аномальное поведение. Таким образом, МО-модель сама решает, что такое норма, используя и глобальные данные, поставляемые производителем, и данные конкретной защищаемой организации.
Обучение без учителя имеет свою особенность. Сам факт обнаружения подозрительной активности ставит задачу перед человеком, сотрудником службы информационной безопасности, разгадать загадку, чем вызвано аномальное сочетание событий, и принять по нему обоснованное решение.
Специфика обновления
Ключевое отличие области кибербезопасности от многих других сфер применения МО – необходимость регулярно обновлять модель. Например, при распознавании лиц, изображений, голосовых команд, при определении кредитного рейтинга, переводе текстов и в сотне других задач предметная область медленно меняется и не противодействует решению задачи. Лица людей не мутируют, переводимые тексты не пытаются видоизменяться.
В нашей области атакующая сторона целенаправленно ищет методы обхода детектирующих алгоритмов. Методы обмана антивируса, т. е. построения недетектируемых продуктом объектов, развивались с появления первых вредоносных программ и самой области кибербезопасности. Поэтому востребованы методы МО, которые устойчивы к состязательным атакам и существенно усложняют злоумышленникам процесс построения недектируемого объекта.
Кроме того, зачастую специфическая культура разработки ПО приводит к возникновению пограничных объектов, в свойствах и поведении которых встречается сходство с вредоносным ПО. То есть требуется механизм быстрого исправления ложных срабатываний и обновления алгоритма.
Опыт «Лаборатории Касперского» показывает, что лучше рассчитывать на гибкий дизайн алгоритмов детектирования и возможность быстро адаптировать их под текущую обстановку, исправлять ошибки, обновлять функционал в продукте, чем на устойчивость и обобщающие способности самого алгоритма. Все детектирующие технологии в продуктах «Лаборатории Касперского» имеют возможность оперативного обновления и развиваются постепенно, повышая качество распознавания вредоносных программ.
Цена ошибки
Что касается цены ошибки алгоритма МО, то здесь кибербезопасность находится где-то посередине. В социальных сетях, поисковых и рекомендательных сервисах или рекламе стоимость отдельных ошибок алгоритмов невелика. А вот в области беспилотного управления транспортными средствами некоторые ошибки могут привести к жертвам.
Конечно, при защите от киберугроз критической инфраструктуры можно представить себе ошибку с катастрофическими последствиями (пропуск кибероружия или террористической кибератаки), но все же в подавляющем большинстве сценариев цена ошибки ниже.
Во многих случаях уже сейчас МО-модели работают на стороне пользователя, а не в облаке, где можно легко проводить обновление. Поэтому из-за ограничений по памяти, производительности ЦП, ввода-вывода далеко не все алгоритмы машинного обучения могут использоваться в продукте.
Интерпретируемость решений
В последние годы возможность объяснить принятое МО решение стала значимым атрибутом систем. Важно не только, например, посчитать кредитный рейтинг, но и обосновать, какие входные параметры и в какой степени повлияли на результат. В противном случае алгоритм может ошибочно учесть ложные корреляции, петли обратной связи и выдать дискриминационное решение.
Например, приложение Google Photo ошибочно принимало фото определенных людей за изображения горилл. Компания Google за три года не сумела исправить алгоритм [3] и была вынуждена просто ограничить его функционал.
В сфере кибербезопасности интерпретируемость результатов не играет такой большой роли. Известно, что злоумышленники целенаправленно работают над сбиванием детектирования, поэтому зачастую нет необходимости иметь объяснение, почему кому-то это удалось или нет – достаточно добавить экземпляр в обучающую выборку.
In Lab vs. In the Wild
Существует разница между обучающими массивами данных (dataset), полученными в инфраструктуре антивирусной лаборатории (in lab), и массивами данных, полученными при реальной работе ПО на компьютере пользователя (in the wild).
Например, если чистые и грязные записи событий исполнения (журналы взаимодействия с ОС) получены in lab при помощи песочницы (виртуальной изолированной машины, имитирующей реальную среду [4]), то можно ожидать следующего: записи чистого ПО будут очень короткими, потому что значительная часть чистого ПО взаимодействует с пользователем и ничего не делает, если пользователь ничего не делает; записи же вредоносного ПО будут, напротив, длинными, потому что вредоносы выполняют свои задачи независимо от пользователя. Обученная модель может уловить эту корреляцию и обучиться неправильно.
In Lab, Sandbox | In the Wild, user device | ||
Clean process log | Malicious process log | Clean process log | Malicious process log |
Start process
Wait for user input Timeout expired |
Start process
Collect passwords Send passwords Enumerate user data Encrypt user data Send private key Demand ransom |
Start process
React on keyboard input React on mouse movements Save user data React on keyboard input |
Start process
Collect passwords Execution blocked |
Другая ситуация, если чистые и грязные записи исполнения получены в реальных условиях на устройстве пользователя. Вредоносные записи в этом случае будут крайне короткими, поскольку защитное решение будет блокировать угрозу (при помощи МО или других защитных уровней) и прерывать исполнение сразу же после выполнения первых вредоносных действий. То есть в журнал не попадут другие действия, которые хотел, но не успел совершить вредонос.
Сбор обучающей выборки
Рассмотрим некоторые другие моменты, связанные со сбором обучающей выборки.
- Закрытость индустрии: технологии и методы не раскрываются, слабый обмен идеями. Значительным преимуществом обладают антивирусные компании, давно присутствующие на рынке (например, в антивирусных продуктах «Лаборатории Касперского» первые МО-модели заработали на стороне продукта в 2012 г.).
- Отсутствие публичных массивов данных для обучения (dataset). Как следствие, преимущество получает та антивирусная компания, у которой накоплена огромная коллекция вредоносных файлов и у которой налажен эффективный сбор новых угроз.
- Специфичный препроцессинг объектов, глубокая интеграция с технологиями конкретного продукта. Антивирусные компании не могут опубликовать сырые данные (записи продукта), поскольку это означает не только раскрыть инженерные ноу-хау конкретного продукта, но и повысить риски обхода защиты злоумышленниками.
- Быстрое устаревание данных.
- Сами вредоносные файлы выкладывать нельзя – запрещено законом и в целом неэтично. Для изучения поведения этих файлов нужна специальная инфраструктура, которая есть у антивирусных компаний, но которой нет у сообщества специалистов, занимающихся искусственным интеллектом.
- Чистые файлы тоже выкладывать не всегда можно – встают вопросы защиты интеллектуальной собственности.
- Разметку массива данных для первичного обучения проводят специалисты по кибербезопасности. И эта работа не масштабируется.
- Высокие риски при внедрении алгоритмов. Испытать алгоритм в реальных условиях могут позволить себе только крупные антивирусные компании с развитыми продуктами. Требуются эксперты для оценки качества. Невозможно сделать публичный crowd-sourcing, как при решении задач по обработке изображений.
Выводы
Мы рассмотрели ключевые отличия применения алгоритмов машинного обучения в области кибербезопасности. В значительной мере специфика обусловлена закрытостью индустрии: широкому сообществу МО-экспертов сложно получить или создать массивы данных для обучения. Ключевым моментом является активное противодействие злоумышленников методам детектирования на базе искусственного интеллекта. Как следствие, антивирусные компании используют инкрементальный подход к созданию и обновлению МО-моделей и, кроме того, не полагаются только на детектирование с помощью искусственного интеллекта, а развивают все возможные подходы к детектированию: облачную защиту, поведенческий анализ, эвристики на базе эмуляции и пр.
Литература
[1] https://www.kaspersky.com/enterprise-security/wiki-section/products/machine-learning-in-cybersecurity
[2] https://www.kaspersky.com/enterprise-security/wiki-section/products/kaspersky-anti-targeted-attack-platform
[3] https://www.theverge.com/2018/1/12/16882408/google-racist-gorillas-photo-recognition-algorithm-ai
[4] https://www.kaspersky.com/enterprise-security/wiki-section/products/sandbox