Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
重要
注意:所有 Microsoft Sentinel 功能将根据 世纪互联发布的公告 于 2026年8月18日 在中国地区的 Azure 正式停用。
机器学习(ML)是Microsoft Sentinel的主要基础之一,也是将它分开的主要属性之一。 Microsoft Sentinel在多个方面提供ML体验:内置于Fusion相关引擎和Jupyter笔记本中,以及新推出的Build-Your-Own ML(BYO ML)平台。
ML 检测模型可适应个人环境和用户行为变化,从而减少假正并识别使用传统方法无法找到的威胁。 许多安全组织都了解 ML 的安全性价值,但是没多少组织能够拥有在安全和 ML 方面都具有专业知识的专业人员。 我们设计了一个框架,为安全组织和专业人员能够在他们的ML旅程中与我们共同成长。 不熟悉 ML 的组织(或无需具备必要专业知识)可以从Microsoft Sentinel的内置 ML 功能中获得重要的保护价值。
什么是自备机器学习(BYO-ML)平台?
对于具有 ML 资源并想要针对其独特的业务需求构建自定义 ML 模型的组织,我们提供了“BYO-ML 平台”。 该平台利用 Azure Databricks/Apache Spark 环境和 Jupyter Notebook 生成 ML 环境。 它提供以下组件:
BYO-ML 包,其中包含的库可以帮助你访问数据并将结果推送回 Log Analytics(LA),从而能够将结果与检测、调查和搜查过程集成。
ML 算法模板,可以自定义这些模板,以适应组织中的特定安全问题。
示例笔记本,用于训练模型和安排模型评分。
除此之外,还可以自带 ML 模型和/或自己的 Spark 环境,以便与Microsoft Sentinel集成。
使用 BYO-ML 平台,可以快速开始自行构建 ML 模型:
带有示例数据的笔记本有助于获得端到端的动手体验,而无需担心处理生产数据。
与 Spark 环境集成的包减少了管理基础结构的难题和摩擦。
库支持数据移动。 培训和评分笔记本演示了端到端体验,并可作为模板用于适应环境。
用例
BYO-ML 平台和包大大减少了构建自己的 ML 检测所需的时间和工作量,并释放了解决Microsoft Sentinel中特定安全问题的功能。 平台支持以下用例:
训练 ML 算法以获取自定义模型:可以采用现有的 ML 算法(由Microsoft或用户社区共享),并轻松地根据自己的数据对其进行训练,以获取更适合数据和环境的自定义 ML 模型。
修改 ML 算法模板以获取自定义模型:可以修改 ML 算法模板(由Microsoft或用户社区共享),并训练修改后的算法,以派生出适合特定问题的自定义模型。
创建自己的 model:使用Microsoft Sentinel的 BYO-ML 平台和实用工具从头开始创建自己的模型。
集成您的 Databricks/Spark 环境:将现有的 Databricks/Spark 环境集成到 Microsoft Sentinel 中,并使用 BYO-ML 库和模板构建适用于独特场景的 ML 模型。
导入自己的 ML 模型:可以导入自己的 ML 模型,并使用 BYO-ML 平台和实用工具将它们与Microsoft Sentinel集成。
“共享 ML 算法”:共享 ML 算法,以便社区采用和调整。
“使用 ML 来实现 SecOps”:自行使用自定义 ML 模型和结果进行搜寻、检测、调查和响应。
本文介绍了 BYO-ML 平台的组件,并说明如何有效利用该平台和异常资源访问算法,结合 Microsoft Sentinel 提供定制化的 ML 检测。
Azure Databricks/Spark 环境
Apache Spark 通过提供用于构建数据管道的统一框架,在简化大数据方面向前迈了一大步。 Azure Databricks通过提供围绕 Spark 构建的零管理云平台来进一步实现这一点。 我们建议将 Databricks 用于 BYO-ML 平台,这样就可以专注于找到直接影响业务的答案,而不是处理数据管道和平台问题。
如果已有 Databricks 或任何其他 Spark 环境,并希望使用现有的设置,BYO-ML 包也会正常运行。
BYO-ML 包
BYO ML 包括了 Microsoft 在 ML 安全性应用方面的最佳实践和研究。 在此包中,我们提供了以下针对安全性问题的实用程序、笔记本和算法模板的列表。
| 文件名 | 说明 |
|---|---|
| azure_sentinel_utilities.whl | 包含用于从 Azure 读取 blob 和写入到 Log Analytics 的实用工具。 |
| AnomalousRASampleData | Notebook 演示如何在Microsoft Sentinel中使用异常资源访问模型和生成的训练和测试示例数据。 |
| AnomalousRATraining.ipynb | 用于训练算法,构建和保存模型的笔记本。 |
| AnomalousRAScoring.ipynb | 用于计划模型运行、可视化结果并将评分写回 Microsoft Sentinel 的笔记本。 |
我们提供的第一个 ML 算法模板适用于 Anomalous 资源访问检测。 它基于协作筛选算法,并使用Windows文件共享访问日志(事件 ID 为 5140 的安全事件)进行训练。 日志中此模型所需的关键信息是用户和所访问资源的配对。
示例演练:异常文件共享访问检测
现在已经熟悉了 BYO-ML 平台的关键组件,下面提供了一个示例,演示如何使用平台和组件来提供自定义 ML 检测。
设置 Databricks/Spark 环境配置
如果还没有 Databricks 环境,则需要搭建自己的 Databricks 环境。 有关说明,请参阅 Databricks 快速入门文档。
自动导出指令
若要基于Microsoft Sentinel中自己的数据生成自定义 ML 模型,需要将数据从Log Analytics导出到 Blob 存储或事件中心资源,以便 ML 模型可以从 Databricks 访问它。 了解如何将数据引入 Microsoft Sentinel。
对于此示例,需要在 Azure blob 存储中为文件共享访问日志设置训练数据。 数据的格式记录在笔记本和库中。
可以使用 Azure CLI 自动从Log Analytics导出数据。
必须在 Log Analytics 工作区、存储帐户和 EventHub 资源中分别分配 Contributor 角色,才能运行这些命令。
下面是用于设置自动导出的一组示例命令:
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"
导出自定义数据
对于Log Analytics自动导出不支持的自定义数据,可以使用逻辑应用或其他解决方案来移动数据。 您可以参考 将 Log Analytics 数据导出到 Blob 存储 的博客和脚本。
与Microsoft Sentinel外部的数据相关联
还可以将数据从 Microsoft Sentinel 外部引入 blob 存储或事件中心,并将其与Microsoft Sentinel数据相关联,以生成 ML 模型。
复制并安装相关的包
将前面提到的Microsoft Sentinel GitHub存储库中的 BYO-ML 包复制到 Databricks 环境。 然后打开笔记本并按照笔记本中的说明在群集上安装所需的库。
模型训练和评分
按照两个笔记本中的说明,根据自己的环境和资源更改配置,按步骤训练和构建模型,然后安排模型为传入文件共享访问日志评分。
将结果写入Log Analytics
计划评分后,可以使用评分笔记本中的模块将评分结果写入与Microsoft Sentinel实例关联的Log Analytics工作区。
在Microsoft Sentinel中检查结果
若要查看评分的结果以及相关的日志详细信息,请返回到Microsoft Sentinel门户。 在 日志> 自定义日志中,您将在 AnomalousResourceAccessResult_CL 表(或您自己的自定义表名称)中看到结果。 可以使用这些结果来增强调查和搜寻体验。
用 ML 结果构建自定义分析规则
一旦确认了 ML 结果位于自定义日志表中,并且对分数的保真度感到满意,就可以根据结果创建检测。 从 Microsoft Sentinel 门户转到 Analytics,创建新的检测规则。 下面是一个示例,演示了用于创建检测的查询。
查看和处理事件
根据 ML 结果设置分析规则后,如果查询中设置的结果超出阈值,则会在Microsoft Sentinel的 Incidents 页上生成事件并将其浮出水面。
后续步骤
本文档介绍了如何使用 Microsoft Sentinel 的 BYO-ML 平台创建或导入自己的机器学习算法来分析数据和检测威胁。
- 请参阅 Microsoft Sentinel Blog 中有关机器学习和其他许多相关主题的文章。