Создание собственных моделей машинного обучения в 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 перейдите к разделу Аналитика и создайте правило обнаружения. Ниже приведен пример запроса, используемого для создания правила обнаружения.
Просмотр инцидентов и реагирование на них
Когда настроено правило аналитики на основе результатов ML, при возникновении результатов выше порогового значения, заданного в запросе, создается инцидент, который отображается на странице Инциденты в Microsoft Sentinel.
Дальнейшие действия
Из этого документа вы узнали, как использовать платформу BYO ML в Microsoft Sentinel для создания или импорта собственных алгоритмов машинного обучения, чтобы анализировать данные и обнаруживать угрозы.
- См. записи, посвященные машинному обучению и множеству других важных тем, в блоге Microsoft Sentinel.