你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

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

扩充查找函数

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

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

    将以下 KQL 代码片段用于 查找 版本:

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

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

    将以下 KQL 代码片段用于 解析 版本:

    | invoke _ASIM_ResolveNetworkProtocol (`ProtocolNumber`)
    

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

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

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

查找类型函数

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

解析类型函数

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

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

分析器帮助程序函数

以下函数执行在分析器中很常见且可用于加速分析程序开发的任务。

设备解析函数

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

函数 扩展字段 说明
_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、、GuestServiceMachineSystemAnonymousRegular、 或 Other
_ASIM_GetUserType 用户名字符串、SID 字符串 用户类型 已弃用。 请改用 _ASIM_GetWindowsUserType 。 根据用户名和 SID 在 Windows 系统中设置 UserType。

源标识函数

_ASIM_GetSourceBySourceType 函数检索与从SourceBySourceType监视列表中作为输入提供的源类型关联的源列表。 函数供分析器编写器使用。 有关详细信息,请参阅 使用监视列表按源类型进行筛选

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

监视列表函数

监视列表函数提供了用于在 ASIM 分析器中读取监视列表的优化方法。

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

标识扩充函数

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

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

后续步骤

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

有关更多信息,请参阅: