共用方式為

修改内容以使用高级安全信息模型 (ASIM)

重要

注意:根据世纪互联发布的公告2026 年 8 月 18 日,Microsoft Sentinel 的所有功能将在中国区域的 Azure 中正式停用。

Microsoft Sentinel 中的规范化安全内容包括分析规则、搜寻查询,以及使用统一的规范化分析程序的工作簿。

可在 Microsoft Sentinel 库和解决方案中查找规范化的现成内容、自行创建规范化内容或修改现有的自定义内容以使用规范化数据。

本文介绍了如何转换现有的 Microsoft Sentinel 分析规则,以便将规范化数据与高级安全信息模型 (ASIM) 配合使用。

若要了解规范化内容如何适用于 ASIM 体系结构,请参阅 ASIM 体系结构图

修改自定义内容以使用规范化

若要使自定义的 Microsoft Sentinel 内容能够使用规范化,请执行以下操作:

  • 修改查询以使用与查询相关的任何统一分析程序

  • 修改查询中的字段名称,以使用规范化架构字段名称。

  • 在适用的情况下,更改条件以在查询中使用字段的规范化值。

分析规则的示例规范化

例如,考虑使用“观测到反向 DNS 查找计数较高的罕见客户端”DNS 分析规则来处理 Infoblox DNS 服务器发送的 DNS 事件:

let threshold = 200;
InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
| summarize count() by Client_IP, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (InfobloxNIOS
    | where ProcessName =~ "named" and Log_Type =~ "client"
    | where isnotempty(ResponseCode)
    | where ResponseCode =~ "NXDOMAIN"
    ) on Client_IP
| extend timestamp = TimeGenerated, IPCustomEntity = Client_IP

以下代码是与源无关的版本,它使用规范化来为提供 DNS 查询事件的任何源提供相同的检测。 以下示例使用内置 ASIM 分析程序:

_Im_Dns(responsecodename='NXDOMAIN')
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns(responsecodename='NXDOMAIN')) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr

若要使用工作区部署的 ASIM 分析程序,请将第一行替换为以下代码:

imDns(responsecodename='NXDOMAIN')

内置分析程序和工作区部署的分析程序之间的差异

上例中的两个选项在功能上完全相同。 与源无关的规范化版本具有以下差别:

  • 使用 _Im_DnsimDns 规范化分析程序,而不是 Infoblox 分析程序。

  • 规范化分析程序只提取 DNS 查询事件,因此无需检查事件类型,而 Infoblox 版本中的 where ProcessName =~ "named" and Log_Type =~ "client" 会执行这种检查。

  • 使用 SrcIpAddr 字段而不是 Client_IP

  • 分析程序参数筛选用于 ResponseCodeName,不再需要显式 where 子句。

注释

除支持任何规范化的 DNS 源以外,规范化版本更短且更易于理解。

如果架构或分析程序不支持筛选参数,则更改类似,只是原始查询中的筛选条件保留。 例如:

let threshold = 200;
imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns
    | where isnotempty(ResponseCodeName)
    | where ResponseCodeName =~ "NXDOMAIN"
    ) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr

有关上述示例中使用的以下项目的详细信息,请参阅 Kusto 文档:

有关 KQL 的更多信息,请参阅 Kusto 查询语言 (KQL) 概述

其他资源:

后续步骤

本文讨论高级安全信息模型 (ASIM) 内容。

有关详细信息,请参见: