Поделиться через


Создание собственных моделей машинного обучения в Microsoft Sentinel

Примечание

Сведения о доступности функций в облаках для государственных организаций США см. в таблицах Microsoft Sentinel в статье Доступность функций для клиентов облаков для государственных организаций США.

Машинное обучение (ML) — один из краеугольных камней Microsoft Sentinel и одна из главных отличительных особенностей этого решения. Возможности машинного обучения используются в Microsoft Sentinel несколькими способами: они встроены в обработчик корреляций Fusion и записные книжки Jupyter, а также доступны на новой платформе для создания собственных моделей машинного обучения (BYO ML).

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

Платформа машинного обучения

Что такое платформа для создания собственных моделей машинного обучения (BYO ML)?

Мы предлагаем платформу BYO ML организациям, которые обладают ресурсами ML и хотели бы создавать собственные модели машинного обучения для своих уникальных бизнес-задач. Среда машинного обучения на этой платформе создана на основе среды Azure Databricks/Apache Spark и записных книжек Jupyter. Она содержит следующие компоненты:

  • пакет BYO ML, который включает в себя библиотеки для доступа к данным и отправки результатов в журналы Azure Monitor, что позволяет интегрировать результаты с вашими процессами обнаружения, исследования и охоты;

  • шаблоны алгоритмов ML, которые вы можете настроить в соответствии с конкретными задачами своей организации в области безопасности;

  • примеры записных книжек для обучения модели и планирования ее оценки.

Кроме того, вы можете использовать собственные модели машинного обучения и (или) собственную среду Spark для интеграции с Microsoft Sentinel.

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

  • Благодаря записной книжке с примером данных вы сможете на практике освоить весь процесс, не затрагивая производственные данные.

  • Пакет, интегрированный с средой Spark, упрощает и облегчает управление инфраструктурой.

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

Варианты использования

Платформа и пакет BYO ML обеспечивают значительную экономию времени и усилий, необходимых для создания собственных правил обнаружения на основе ML, и позволяют реагировать на конкретные проблемы с безопасностью в Microsoft Sentinel. Платформа поддерживает описанные ниже варианты использования.

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

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

Создание собственной модели. Создайте собственную модель с нуля, используя платформу BYO ML и служебные программы в Microsoft Sentinel.

Интеграция собственной среды Databricks/Spark. Интегрируйте существующую среду Databricks/Spark в Microsoft Sentinel и используйте библиотеки и шаблоны BYO ML для создания моделей ML, соответствующих вашим уникальным потребностям.

Импорт собственной модели ML. Вы можете импортировать собственные модели ML и интегрировать их с Microsoft Sentinel, используя платформу BYO ML и служебные программы.

Предоставление доступа к алгоритму ML. Поделитесь алгоритмом ML с сообществом, чтобы другие компании смогли внедрить и адаптировать его.

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

В этой статье рассматриваются компоненты платформы BYO ML, а также использование этой платформы и алгоритма обнаружения аномального доступа к ресурсам для создания собственных правил обнаружения на основе ML в Microsoft Sentinel.

Среда Azure Databricks/Spark

Apache Spark — это унифицированная платформа, позволяющая создавать конвейеры данных, что кардинально упрощает работу с большими данными. Azure Databricks позволяет продвинуться еще дальше за счет построения не требующей управления облачной платформы на основе Spark. Мы рекомендуем использовать Databricks для платформы BYO ML: в этом случае вам не придется тратить время и силы на работу с конвейерами данных и устранение проблем, так что вы сможете сосредоточиться на поиске ответов, которые немедленно принесут пользу вашей компании.

Если у вас уже есть Databricks или любая другая среда Spark и вы предпочтете использовать именно ее, пакет BYO ML будет корректно работать в ней.

Пакет BYO ML

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

Имя файла Описание
azure_sentinel_utilities.whl Содержит служебные программы для чтения больших двоичных объектов из Azure и записи в журналы Azure Monitor.
AnomalousRASampleData В этой записной книжке демонстрируется применение модели аномального доступа к ресурсам в Microsoft Sentinel с примерами данных, созданными для обучения и тестирования.
AnomalousRATraining.ipynb Это записная книжка для обучения алгоритма, а также для создания и сохранения моделей.
AnomalousRAScoring.ipynb Эта записная книжка предназначена для планирования запуска модели, визуализации результата и записи оценки в Microsoft Sentinel.

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

Пример с пошаговыми инструкциями: обнаружение аномального доступа к общим папкам

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

Настройка среды Databricks/Spark

Если у вас еще нет среды Databricks, нужно ее настроить. Соответствующие инструкции см. в этом кратком руководстве.

Инструкция по автоматическому экспорту

Если вы хотите создавать собственные модели ML на основе своих данных в Microsoft Sentinel, необходимо экспортировать данные из журналов Azure Monitor в хранилище BLOB-объектов или ресурс концентратора событий, чтобы у модели был доступ к ним из Databricks. См. сведения о том, как принимать данные в Microsoft Sentinel.

В этом примере ваши данные для обучения (из журнала доступа к общим папкам) должны быть сохранены в Хранилище BLOB-объектов Azure. Формат данных задокументирован в записной книжке и библиотеках.

Вы можете автоматически экспортировать данные из журналов Azure Monitor с помощью Azure CLI.

Чтобы вы могли выполнять команды, вам должна быть назначена роль Участник в рабочей области Log Analytics, в учетной записи хранения и в ресурсе EventHub.

Вот пример набора команд для настройки автоматического экспорта:


az –version

# Login with Azure CLI
az login

# List all Log Analytics clusters
az monitor log-analytics cluster list

# Set to specific subscription
az account set --subscription "SUBSCRIPTION_NAME"
 
# Export to Storage - all tables
az monitor log-analytics workspace data-export create --resource-group "RG_NAME" --workspace-name "WS_NAME" -n LAExportCLIStr --destination "DESTINATION_NAME" --enable "true" --tables SecurityEvent
 
# Export to EventHub - all tables
az monitor log-analytics workspace data-export create --resource-group "RG_NAME" --workspace-name "WS_NAME" -n LAExportCLIEH --destination "DESTINATION_NAME" --enable "true" --tables ["SecurityEvent","Heartbeat"]

# List export settings
az monitor log-analytics workspace data-export list --resource-group "RG_NAME" --workspace-name "WS_NAME"

# Delete export setting
az monitor log-analytics workspace data-export delete --resource-group "RG_NAME" --workspace-name "WS_NAME" --name "NAME"

Экспорт пользовательских данных

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

Корреляция с данными вне Microsoft Sentinel

Вы также можете перенести данные извне Microsoft Sentinel в хранилище BLOB-объектов или концентратор событий и сопоставить их с данными в Microsoft Sentinel для создания моделей ML.

Скопируйте пакет BYO ML из репозитория Microsoft Sentinel в GitHub, упомянутого ранее, в свою среду Databricks. Затем откройте записные книжки и следуйте инструкциям в них, чтобы установить необходимые библиотеки в кластерах.

Обучение и оценка модели

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

Запись результатов в журналы Azure Monitor

Запланировав оценку, вы сможете воспользоваться модулем в записной книжке для оценки, чтобы записать ее результаты в рабочую область Log Analytics, связанную с вашим экземпляром Microsoft Sentinel.

Проверка результатов в Microsoft Sentinel

Чтобы просмотреть оцененные результаты вместе с соответствующими данными журнала, вернитесь на портал Microsoft Sentinel. Выберите Журналы> Настраиваемые журналы, чтобы увидеть результаты в таблице AnomalousResourceAccessResult_CL (или в таблице с другим именем, которое вы присвоили). Эти результаты можно использовать для расширения возможностей исследования и охоты.

Журналы аномального доступа к ресурсам

Создание настраиваемого правила аналитики на основе результатов ML

Если вы подтвердили, что результаты ML находятся в таблице пользовательских журналов, и удовлетворены точностью оценок, вы можете создать правило обнаружения на основе этих результатов. На портале Microsoft Sentinel перейдите к разделу Аналитика и создайте правило обнаружения. Ниже приведен пример запроса, используемого для создания правила обнаружения.

Создание настраиваемого правила аналитики для обнаружений BYO ML

Просмотр инцидентов и реагирование на них

Когда настроено правило аналитики на основе результатов ML, при возникновении результатов выше порогового значения, заданного в запросе, создается инцидент, который отображается на странице Инциденты в Microsoft Sentinel.

Дальнейшие действия

Из этого документа вы узнали, как использовать платформу BYO ML в Microsoft Sentinel для создания или импорта собственных алгоритмов машинного обучения, чтобы анализировать данные и обнаруживать угрозы.

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