erid: 2SDnjeU7TaZ erid: 2SDnjeU7TaZ

Возможности применения методов машинного обучения в Security Operation Center (SOC)

Премия «Киберпросвет» 2024
Возможности применения методов машинного обучения в Security Operation Center (SOC)
Возможности применения методов машинного обучения в Security Operation Center (SOC)
26.06.2023
IMG_2389.PNG
Автор: Евгений Еремин, руководитель направления аналитики SOC Infosecurity a Softline Company


К 2023 году применение методов машинного обучения в решении различных задач ИТ стало уже обыденной практикой. Не обошли стороной эти методы и область информационной безопасности. Использование машинного обучения в задачах обеспечения ИБ перестало быть фантастикой в тот момент, когда стало помогать решать задачи, которые невозможно или нерационально решать другими способами, например, автоматически выявлять аномалии в сетевом трафике или огромном потоке событий с различных источников.

Что такое машинное обучение в SOC?

Машинное обучение в Security Operation Center (SOC) – это процесс применения алгоритмов машинного обучения для обработки большого объема данных и выявления поведенческих и контекстуальных аномалий в системах безопасности. С помощью машинного обучения в SOC можно автоматически обнаруживать подозрительные действия в сети, следить за необычными событиями и предупреждать об инцидентах безопасности в режиме реального времени, значительно сокращая время на обработку данных и анализ информации.

Как можно использовать методы машинного обучения в SOC?

Во-первых, в своей работе сотрудники SOC зачастую используют системы, которые уже «под капотом» имеют определённые алгоритмы машинного обучения. Сюда можно отнести, к примеру, решения таких классов, как:

  • Web Application Firewall (WAF);

  • Intrusion Detection System (IDS);

  • Security Information and Event Management (SIEM);

  • Incident Responce Platform (IRP);

  • Endpoint Detection and Response (EDR);

  • другие, их число постоянно растёт.

Здесь необходимо сделать оговорку, что, с одной стороны, использование машинного обучения в подобных классах систем зачастую не является основным методом детектирования опасности. Однако, наблюдается тренд, когда «жёстко» заданные правила, основанные, к примеру, на регулярных выражениях или сигнатурах, успешно дополняют алгоритмы, основанные на машинном обучении.

В эту же категорию для использования машинного обучения в SOC можно отнести стороннее обогащение событий (в SIEM или IRP) за счёт использования моделей, классифицирующих определённые типы ресурсов как вредоносные или безвредные. Например, модель классификации URL как сгенерированного Domain Generation Algorithm (DGA), может быть использована при выявлении DNS-туннелей, позволяющих установить незаконный удаленный доступ к системам организации и передачу данных. Или ещё пример: классификация URL как фишингового может быть использована при анализе логов от почтового или веб-сервера.

Во-вторых, в своей работе SOC приходится анализировать огромные объёмы разного типа событий, которые, в свою очередь, хранятся определённый интервал времени, необходимый по требованию регуляторов – как правило, от нескольких месяцев. В хранилищах собираются терабайты нормализованных и «сырых» событий от SIEM. Для анализа событий в хранилищах используются технологии Big Data, включающие в себя, в том числе, и методы машинного обучения. В больших объёмах формализованных данных можно искать скрытые на первый взгляд закономерности, которые могут быть полезными при проведении расследований инцидентов информационной безопасности.

Для решения подобных задач могут использоваться как библиотеки машинного обучения «общего назначения», например, scikit-learn, tensorflow и т. д., так и специализированные, созданные под задачи информационной безопасности. В качестве примера можно привести open-source библиотеку MSTIC, имеющую высокоуровневые методы для кластеризации событий из SIEM, поиска поведенческих аномалий и многое другое. Данная библиотека изначально имела интерфейс для доступа к данным из SIEM Microsoft Sentinel, но спроектирована таким образом, что загружать данные можно в DataFrame библиотеки pandas, что значительно расширяет область её применения.

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

  • среднее время выявления, MTTD (mean time to detect);

  • среднее время реагирования, MTTR (mean time to response);

  • количество заявок на сотрудника 1,2 линии SOC за смену;

  • другие критерии.

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

  • исключение ложных сработок;

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

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

Как происходит автоматизация решений, помогающих сотрудникам SOC в работе?

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

  • является ли подозрение на инцидент ложной сработкой;

  • метки с взаимосвязанными сработками.

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

Рассмотрим чуть подробнее задачу на исключение ложных сработок. На размеченном наборе данных с помощью алгоритмов классификации осуществляется непосредственно обучение модели. После того как модель обучена, вновь формируемые в SOC подозрения на инциденты классифицируются моделью как ложные или истинные. Если модель по всем метрикам (accuracy, precision, recall, f1-score, roc-auc) на тестовой выборке показывает высокие результаты (к примеру, > 0,99), то, в принципе, можно доверить ей автоматически отфильтровывать сработки, классифицированные как ложные, чтобы они уже не попадали в обработку к сотруднику первой линии SOC. А можно не отфильтровывать и оставить информацию для сотрудника о том, что модель машинного обучения считает эту сработку ложной. Однако, это уже скорее психологический момент доверия машине. Сложно утверждать, что конкретный сотрудник с вероятностью более 0,99 не допустит ошибку при отсеивании инцидентов, но в случае с моделью спрашивать о пропущенной угрозе будет не с кого.

Сложности внедрения моделей машинного обучения

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

Выводы

Методы машинного обучения плотно вошли во многие области, связанные с ИТ и ИБ. В работе SOC есть несколько направлений задач, для решения которых может использоваться машинное обучение – это и классификация событий, и выявление аномалий, и оптимизация работы самого Центра мониторинга и его сотрудников. Правильно настроенные и обученные алгоритмы могут значительно облегчить работу аналитиков и сократить время на выявление и реагирование на угрозы. Кроме того, машинное обучение может помочь в автоматизации процесса обработки и анализа большого объема информации, что особенно важно в условиях постоянного роста количества кибератак.

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

erid: 2SDnjdbjuoP erid: 2SDnjdbjuoP

Комментарии 0