Сергей Терехов, директор Центра компетенций по информационной безопасности, компания «Техносерв»
Мы живем в век глобальной цифровизации. Технологии все больше проникают в бизнес. В сложившейся ситуации кибербезопасность становится основой цифровой трансформации. Появление ИТ там, где их раньше не было, помимо бизнес-преимуществ влечет угрозу бесперебойности функционирования бизнес- и технологических процессов компании.. Современные атаки усложняются, количество объектов защиты возрастает. В результате мы имеем взрывной рост информации, которую необходимо анализировать для обеспечения защиты своих информационных ресурсов.
Цифровые помощники
В бизнесе уже повсеместно применяются технологии искусственного интеллекта (ИИ): такие понятия, как Big Data (большие данные), Machine Learning (машинное обучение), Deep Learning («глубокое» обучение), известны всем. Источниками больших данных чаще всего являются:
- корпоративные данные: транзакционная информация, архивы, базы данных;
- Интернет: соцсети, сайты (включая СМИ), Интернет вещей (IoT);
- показания устройств – датчиков и различных приборов, сотовая связь, смартфоны и т. д.
Это позволяет успешно применять алгоритмы ИИ в разных сферах: телекоме, финансах, ритейле и др. Возникает логичное желание использовать технологии ИИ для решения задач кибербезопасности. Сразу оговоримся, что ИИ – это не «универсальная таблетка», а лишь помощник в серьезной системе безопасности, который неэффективен без участия человека вследствие необходимости постоянного контроля и уменьшения количества ложных срабатываний при помощи повторного обучения с учетом новых данных. Например, компании, которые строят у себя специализированные центры управления информационной безопасностью (Security Operations Center – SOC), как правило, сталкиваются с проблематикой внедрения процессов, составления инструкций для реагирования на кибератаки в зависимости от типа, а также с нехваткой человеческих и вычислительных ресурсов. Использование искусственного интеллекта – это задача уже зрелых SOC, которым необходимо обогащение имеющихся данных, которые занимаются киберразведкой и которые готовы выйти на уровень полноценной проактивной модели борьбы с кибератаками.
Тем не менее алгоритмы ИИ вполне могут использоваться для решения частных задач и уже давно с успехом применяются, например, в части проактивного выявления мошеннических транзакций в каналах ДБО юридических и физических лиц во многих крупных финансовых организациях. Они помогают службам безопасности обратить внимание на те факты, которые их сотрудники могли и не принимать всерьез.
Задачи для искусственного интеллекта
Большинство систем аналитики и решений в области информационной безопасности базируются на одном из наиболее популярных сегодня направлении искусственного интеллекта – машинном обучении. Основной принцип его работы заключается в том, что системы обучаются на больших наборах специально подобранных данных и в дальнейшем применяют полученные знания. Система оценивает параметры операции, сравнивает их с имеющимися профилями, обнаруживает подозрительные признаки и выдает рекомендации.
Для анализа в системе, как правило, задействованы и набор статических правил, и модели машинного обучения, позволяющие соотносить полученные данные в реальном времени с типовым профилем и сигнализировать о своих подозрениях. Такой подход к машинному обучению называется «обучение с учителем» (Supervised Learning). Он зависит от экспертизы и набора маркированных данных. К сожалению, зачастую набора размеченных данных недостаточно, поэтому эффективная работа алгоритма может начаться не менее чем после года тестовых испытаний. Существует еще один подход – «обучение без учителя» (Unsupervised Learning), предполагающий выделение аномалий и привлечение к дальнейшему их исследованию экспертов. Этот подход обычно менее точен, чем «обучение с учителем», и имеет большое количество ложных срабатываний.
Искусственный интеллект будет полезен в первую очередь тем, кто строит системы SOC или реагирования на инциденты для обогащения SIEM-данными, получаемыми от существующих систем безопасности. Приоритетными являются направления, представленные в таблице.
Таблица. Особенности применения ИИ для решения различных задач
Подсистема ИБ | Задача, решаемая ИИ | Особенности применения |
Обнаружение и предотвращение вторжений | Большинство IDS/IPS используют сигнатурные методы выявления атак. Использование технологий ИИ позволит решать задачи углубленного анализа всего трафика, выявления атак, аномалий и неправомерного использования ресурсов | Сложная архитектура, требующая большого объема для хранения данных в крупной распределенной сетевой инфраструктуре. В готовых решениях, как правило, реализуется путем сбора Flow c сетевого оборудования |
Защита конечных устройств | ИИ решает задачи исследования функций в исполняемых файлах или аналитике поведения процесса. В последнее время появился отдельный класс защиты конечных устройств (EDR), но обычно он предоставляется и эффективен по SaaS-модели | Выбор используемого алгоритма будет зависеть от типа конечного устройства: рабочая станция, сервер, контейнер, облако, смартфон, PLC, IoT-устройство. Каждое устройство в зависимости от установленной ОС будет иметь свою специфику, что в компаниях с гетерогенной инфраструктурой потребует большого количества вариаций разработанного алгоритма |
Защита web-приложений | Для защиты web-приложений машинное обучение применяется в экранах уровня web-приложений (WAF), системах статического и динамического анализа кода | Необходимо учитывать, что безопасность каждого приложения зависит от его архитектуры, языка программирования. Они бывают многоуровневыми и распределенными: web-приложения, базы данных, ERP-системы, SaaS-приложения и др. |
Поведенческий анализ действий пользователей | Класс решений UEBA основывается на поведенческой аналитике, которая требует постоянного совершенствования и проактивных действий. Необходимо учитывать пользователей домена, пользователей приложений, пользователей SaaS, социальные сети, мессенджеры и другие учетные записи | Аналитика аномального поведения пользователей – одна из сложных задач, что связано с проблемой обучения системы. Как правило, нет маркированного набора данных и представления о том, что искать. Поэтому создание универсального алгоритма для всех типов пользователей является сложной задачей в области поведения пользователя |
Адаптивная аутентификация | ИИ используется для выявления аномалий в бизнес-процессах | Бизнес-процессы могут существенно отличаться, в частности по скорости изменений, что затрудняет поиск аномалий. Искусственный интеллект помогает выявлять случаи мошенничества в банковской и торговой системах или в производственном цеху. Эти процессы совершенно разные, и решения невозможно масштабировать |
Рассмотрим наиболее применимые для целей и задач кибербезопасности вопросы ИИ, которые могут решаться с помощью различных алгоритмов.
Искусственный интеллект в кибербезопасности
Регрессия (Regression) – задача прогнозирования следующего значения на основе предыдущих
Относится к классу задач обучения с учителем, поскольку необходима историческая последовательность. В разрезе кибербезопасности может применяться в решении следующих задач:
- обнаружение и предотвращение сетевых вторжений (IDS/ IPS). Прогнозирование параметров сетевых пакетов и сравнение их со штатными;
- защита конечных устройств (EDR). Прогнозирование следующего системного вызова исполняемого процесса и сравнение его с легитимными;
- защита web-приложений. Предсказание HTTP-запросов;
- поведенческий анализ действий пользователей (UEBA). Предсказание действий «нормальных» пользователей и выявление отклонений от нормы (например, вход в необычное время, передача сверхбольшого объема данных, доступ к ИС, которой ранее не пользовались);
- адаптивная аутентификация. Прогнозирование следующего действия пользователя, например мошенничества с банковскими картами.
Среди примеров алгоритмов для решения задач регрессии: «дерево принятия решений» (Decision trees), опорные векторы SVR (Support Vector Regression), линейная регрессия (Linear regression) и логическая регрессия (Logic regression). Пожалуй, самый известный из них – «дерево принятия решений» (предиктивная модель), которое позволяет перейти от наблюдения за объектами, представленными в «ветвях дерева», к заключениям о целевых значениях объектов, представленных в «листьях дерева». «Дерево принятия решений» обычно представляется в виде графа . Он широко используется во многих решениях – от WAF до системы защиты от мошенничества.
Классификация (Classification) – задача разделения объектов на разные категории
Эта задача решается с учителем, который должен определить, какие данные к каким категориям относятся. Алгоритм пытается определить признаки отнесения новых данных к той или иной категории. В разрезе кибербезопасности может применяться в решении следующих задач:
- обнаружение и предотвращение сетевых вторжений (IDS/ IPS). Выявление различных классов сетевых атак, таких как сканирование или спуфинг;
- защита конечных устройств (EDR). Разделение программ на такие категории, как вредоносные программы, шифровальщики, шпионское ПО или вымогатели;
- защита web-приложений. Обнаружение известных типов атак, например SQL-инъекций;
- поведенческий анализ действий пользователей (UEBA). Разбиение по группам разных пользователей для дальнейшего анализа и профилирования;
- адаптивная аутентификация. Выявление известных и неизвестных видов мошенничества.
Алгоритмами для решения задач классификации являются поиск k ближайших соседей (K-Nearest Neighbors – K-NN), оптимальной разделяющей гиперплоскости (KernelSVM), «Наивный Байес» (NaiveBayes). Для примера рассмотрим метод опорных векторов. Он относится к метрическим алгоритмам, т. е. это метод, основанный на расстоянии между векторами. Каждый объект данных представляется как вектор (точка в H-мерном пространстве). Далее происходит разделение на классы гиперплоскостями. Тем самым осуществляется классификация витрины признаков на типовые и аномальные.
Кластеризация (Clustering) – задача группировки объектов по сходству
Задача схожа с предыдущей, но решается без учителя: алгоритм должен самостоятельно обнаружить скопления данных в определенных местах многомерного пространства. В разрезе задач кибербезопасности может применяться в решении следующих задач:
- обнаружение и предотвращение сетевых вторжений (IDS/ IPS). Расследование инцидентов ИБ;
- защита конечных устройств (EDR). Защита от вредоносных программ и спама на защищенных почтовых шлюзах;
- защита web-приложений. Анализ активности пользователей для обнаружения DDOS-атак и злонамеренных действий;
- поведенческий анализ действий пользователей (UEBA). Разделение групп пользователей по степени сходства действий и идентификации аутлаеров (отклонений);
- адаптивная аутентификация. Сравнение действий пользователей и идентификация аутлаеров (отклонений).
Среди популярных алгоритмов для кластеризации можно выделить: поиск k ближайших соседей (K-Nearest Neighbors или K-NN), метод k-средних (K-Means), пространственная кластеризация по плотности (DBSCAN), алгоритм Байеса, иерархическая кластеризация (Hierarchical clustering или agglomerative). Самый понятный пример – алгоритм иерархичной кластеризации (Hierarchical clustering). Алгоритмы иерархической кластеризации предполагают, что анализируемое множество объектов характеризуется определенной степенью связности. Иерархическая кластеризация может быть визуализирована дендрограммой, приведенной на рис. 3.
Рис. 3. Визуализация метода иерархической кластеризации в виде графа
Путем последовательной реализации алгоритмов для регрессии, классификации и кластеризации осуществляется выделение так называемых аутлаеров, или выбросов, что позволяет обнаружить аномальные отклонения в данных, к которым система и привлекает внимание специалистов. Это дает возможность сконцентрироваться на подозрительных транзакциях либо действиях пользователей.
Как выбрать правильный интеллект?
С точки зрения кибербезопасности четких рекомендаций по использованию тех или иных алгоритмов ИИ нет. Все зависит от конкретной задачи или проекта. Как правило, в процессе реализации применяется множество алгоритмов, анализируется, какой из них дал более точные результаты. При выборе алгоритма необходимо получить ответы на следующие вопросы.
- Какая задача кибербезопасности решается? Варианты: обнаружение, предотвращение, аналитика, мониторинг и др. Сама задача в данном вопросе диктует необходимость выбора алгоритма. Очевидно, что задача обнаружения вредоносного сетевого трафика и задача мониторинга событий информационной безопасности не будут использовать строго одни и те же алгоритмы.
- Каков бюджет проекта? Какова сложность проекта? В зависимости от стоимости и сложности проекта выбирается или более простой, или более сложный алгоритм, а также уточняется количество участников и разработчиков.
- На каком техническом уровне решается задача? Сетевой, прикладной, пользовательский и др. Каждый уровень может разделяться на подуровни. Например, техническое решение может состоять из нескольких компонентов на разных уровнях и подуровнях. В конкретной ситуации может использоваться несколько алгоритмов (например, регрессия на сетевом уровне и кластеризация на пользовательском уровне).
- Какие временные интервалы должны анализироваться? В SIEM-системах или аналогах, применяемых для корреляции событий информационной безопасности, должна быть возможность выборки исторических данных с достаточно большой глубиной.
- Какие объемы данных должна обрабатывать система? В зависимости от архитектуры решения и количества обрабатываемой информации возможен многокомпонентный подход с использованием различных алгоритмов. Например, система защиты от мошенничества может работать с применением локальных алгоритмов, адаптированных под конкретную платежную систему, либо дополнительных облачных сервисов, рассчитанных на учет не только локальных особенностей, но и глобальных тенденций мошенничества и обмен данными об инцидентах в сообществах специалистов по информационной безопасности.
Заключение
Современные тенденции обязывают исследовать новые технологии, направления, угрозы. Защищать периметр своей компании с помощью систем, применяющих устаревшие технологии, довольно рискованно, так как злоумышленники начинают использовать системы искусственного интеллекта для организации атак и вредоносной аналитики. Для выбора той или иной системы защиты с применением технологии искусственного интеллекта необходимо комплексно сформулировать решаемую задачу, чтобы не ошибиться как с выбором технического решения, так и с бюджетной оценкой и ожиданиями от внедряемого продукта.