Compartir a través de

高级安全信息模型 (ASIM) 帮助程序函数

重要

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

高级安全信息模型 (ASIM) 帮助程序函数可扩展 KQL 语言,提供有助于与规范化数据交互和编写分析程序的功能。

扩充查找函数

扩充查找函数提供了一种简单的方法来根据已知值的数值表示形式查找这些值。 此类函数很有用,因为事件通常使用短格式的数字代码,而用户更倾向于使用文本形式。 大多数函数有两种形式:

  • lookup 版本是一个标量函数,它接受数字代码作为输入并返回文本形式。

    将以下 KQL 代码片段与 lookup 版本结合使用:

    | extend ProtocolName = _ASIM_LookupNetworkProtocol (ProtocolNumber)
    
  • resolve 版本是一个表格函数,可:

    • 用作 KQL 管道运算符。
    • 接受包含要查找的值的字段名称作为输入。
    • 设置 ASIM 字段,通常包含输入值和结果查找值。

    将以下 KQL 代码片段与 resolve 版本结合使用:

    | invoke _ASIM_ResolveNetworkProtocol (`ProtocolNumber`)
    

    该函数会自动使用查找结果填充 ASIM 字段。

resolve 版本更适用于 ASIM 分析程序,而 lookup 版本在常规用途查询中很有用。 当扩充查找函数必须返回多个值时,它将始终使用 resolve 格式。

有关标量和表格函数(分别由此处的 lookup 和 resolve 版本表示)的详细信息,请参阅 Kusto 文档中的用户定义的函数

lookup 类型函数

函数 输入* 输出 说明
_ASIM_LookupDnsQueryType 数字 DNS 查询类型代码 查询类型名称 将数字 DNS 资源记录 (RR) 类型转换为由 IANA 定义的名称
_ASIM_LookupDnsResponseCode 数字 DNS 响应代码 响应代码名称 将数字 DNS 响应代码 (RCODE) 转换为由 IANA 定义的名称
_ASIM_LookupICMPType 数字 ICMP 类型 ICMP 类型名称 将数字 ICMP 类型转换为由 IANA 定义的名称
_ASIM_LookupNetworkProtocol IP 协议号 IP 协议名称 将数字 IP 协议代码转换为由 IANA 定义的名称
_ASIM_LookupHTTPStatusCode HTTP 状态代码 HTTP 状态代码名称 将数字 HTTP 状态代码转换为 IANA 定义的名称。 还支持 IIS 和其他 Web 服务器使用的扩展状态代码。
_ASIM_LookupAADcodes Microsoft Entra ID STS 错误代码 错误类别 将Microsoft Entra ID STS 错误代码转换为其错误类别,例如 Logon violates policyNo such user or password

resolve 类型函数

resolve 格式函数执行与其查找对应项相同的操作,但接受作为字符串常量提供的字段名称作为输入,并将预定义字段设置为输出。 输入值也会分配给预定义字段。

函数 扩展字段
_ASIM_ResolveDnsQueryType - DnsQueryType 为输入值
- DnsQueryTypeName 为输出值
_ASIM_ResolveDnsResponseCode - DnsResponseCode 为输入值
- DnsResponseCodeName 为输出值
_ASIM_ResolveICMPType - NetworkIcmpCode 为输入值
- NetworkIcmpType 为查找值
_ASIM_ResolveNetworkProtocol - NetworkProtocolNumber 为输入值
- NetworkProtocol 为查找值

分析程序帮助程序函数

以下函数执行分析程序中常见的任务,对加速分析程序开发很有用。

设备解析函数

设备解析函数会分析主机名并确定它是否具有域信息和域表示法的类型。 然后,这些函数会填充表示设备的相关 ASIM 字段。 所有这些函数都是 resolve 类型函数,并接受包含主机名的字段的名称(以字符串表示)作为输入。

函数 扩展字段 说明
_ASIM_ResolveFQDN - ExtractedHostname
- Domain
- DomainType
- FQDN
分析指定字段中的值并相应地设置输出字段。 有关详细信息,请参阅有关开发分析程序的文章中的示例
_ASIM_ResolveSrcFQDN - SrcHostname
- SrcDomain
- SrcDomainType
- SrcFQDN
类似于 _ASIM_ResolveFQDN,但将设置 Src 字段
_ASIM_ResolveDstFQDN - DstHostname
- DstDomain
- DstDomainType
- DstFQDN
类似于 _ASIM_ResolveFQDN,但将设置 Dst 字段
_ASIM_ResolveDvcFQDN - DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
类似于 _ASIM_ResolveFQDN,但将设置 Dvc 字段

用户类型函数

用户类型函数有助于根据用户名模式或安全标识符(SID)确定用户的类型。

函数 Input 输出 说明
_ASIM_GetUsernameType 用户名字符串 用户名类型 根据用户名的格式返回用户名类型。 可能的值包括 UPN (对于类似于电子邮件的用户名)、 Windows (对于域\用户格式)、 DN (对于可分辨名称), Simple或为空(如果用户名为空)。
_ASIM_GetWindowsUserType 用户名字符串,SID 字符串 用户类型 基于用户名和安全标识符(SID)返回 Windows 系统的用户类型。 可能的值包括Admin、、Guest、、ServiceMachineSystemAnonymousRegularOther
_ASIM_GetUserType 用户名字符串,SID 字符串 用户类型 已弃用。 请改用 _ASIM_GetWindowsUserType。 基于用户名和 SID 在 Windows 系统中设置 UserType。

源识别函数

_ASIM_GetSourceBySourceType 函数检索与作为来自 监视列表的输入提供的源类型关联的源列表。 此函数旨在供分析程序编写者使用。 有关详细信息,请参阅使用监视列表按源类型进行筛选

_ASIM_GetDisabledParsers函数读取ASimDisabledParsers监视列表,并根据它确定是否禁用作为参数提供分析程序。 ASIM 分析程序在内部使用此函数来支持禁用特定分析程序。

监视列表函数

监视列表函数提供优化的方法,用于读取 ASIM 分析程序中的监视列表。

函数 Input 输出 说明
_ASIM_GetWatchlistRaw 监视列表别名(字符串)、可选键(动态数组) 监视列表项 以原始格式读取单个监视列表。 比常规 _GetWatchlist 函数更具性能。
_ASIM_GetWatchlistsRaw 监视列表别名(动态数组)、可选键(动态数组) 监视列表项 以原始格式读取多个监视列表。 主要用例是提供一个选项,用于对同一监视列表使用多个监视列表名称。

标识扩充函数

标识扩充函数有助于使用 UEBA IdentityInfo 表中的用户信息丰富数据。

函数 Input 输出 说明
_ASIM_IdentityInfo None 规范化 IdentityInfo 表 重复数据删除并规范 化 IdentityInfo 表 ,以提高其在查询中的可用性。 返回具有 ASIM 规范化字段名称的重复数据删除表。
_ASIM_Enrich_IdentityInfo 输入表、字段名称参数 扩充表 使用 IdentityInfo 表中的用户信息丰富结果集。 使用参数指定要用于匹配的字段:AadIdField、、TenantIdFieldSidFieldUpnFieldEmailField

后续步骤

本文介绍高级安全信息模型 (ASIM) 帮助函数。

有关详细信息,请参阅: