重要
注意: 2026 年 8 月 18 日,根据 世纪互联发布的公告,所有Microsoft Sentinel 功能将在中国 Azure 正式停用。
高级安全信息模型 (ASIM) 架构是表示某个活动的一组字段。 在查询中使用来自规范化架构的字段可确保查询适用于每个规范化源。
若要了解架构如何匹配 ASIM 体系结构,请参阅 ASIM 体系结构图。
架构参考概述了构成每个架构的字段。 ASIM 当前定义了以下架构:
| 架构 | 版本 | 状态 |
|---|---|---|
| 审核事件 | 0.1 | GA |
| 身份验证事件 | 0.1.3 | GA |
| DNS 活动 | 0.1.7 | GA |
| DHCP 活动 | 0.1 | GA |
| 文件活动 | 0.2.1 | GA |
| 网络会话 | 0.2.6 | GA |
| 进程事件 | 0.1.4 | GA |
| 注册表事件 | 0.1.2 | GA |
| 用户管理 | 0.1 | GA |
| Web 会话 | 0.2.6 | GA |
架构概念
以下概念有助于理解架构参考文档,并在数据包含架构未涵盖的信息时以规范化方式扩展架构。
| 概念 | 说明 |
|---|---|
| 字段名 | 每个架构的核心部分是其字段名称。 字段名称属于以下组: - 所有架构通用的字段。 - 特定于架构的字段。 - 表示参与架构的实体(例如用户)的字段。 表示实体的字段在不同的架构中是类似的。 如果源中的字段未在记录的架构中提供,这些字段将被规范化以保持一致。 如果这些额外的字段表示实体,则会根据实体字段准则将这些字段规范化。 否则,架构将会尽量在所有架构中保持一致。 例如,虽然 DNS 服务器活动日志不提供用户信息,但终结点中的 DNS 活动日志可以包含可根据用户实体准则规范化的用户信息。 |
| 字段类型 | 每个架构字段有一个类型。 Log Analytics 工作区具有有限的一组数据类型。 出于此原因,Microsoft Sentinel 对许多架构字段使用某种逻辑类型,Log Analytics 不强制要求使用该类型,但该类型是为了实现架构兼容性而必须使用的。 逻辑字段类型可确保值和字段名称在不同的源中保持一致。 有关详细信息,请参阅逻辑类型。 |
| 字段类 | 字段可能有多个类,它们定义分析程序应在何时实现字段: - 必需的字段必须出现在每个分析器中- 。 如果源未提供此值的信息,或者无法添加数据,则源不支持引用规范化架构的大多数内容项。 - 建议的字段(如果可用)应规范化- 。 但是,它们可能不会在每个源中提供。 引用该规范化架构的任何内容项都应考虑到可用性。 - 可选字段(如果可用)可以规范化或保持其原始形式- 。 通常,出于性能方面的原因,精简的分析器不会将其规范化。 - 如果其关注的字段已填充,则条件字段必填。 条件字段通常用于描述另一个字段中的值。 例如,通用字段 DvcIdType 描述公共字段 DvcId 中的值,因此如果填充了后者,该字段必填。 - 别名是条件字段的特殊类型;如果填充了别名字段,则该字段必填。 |
| 通用字段 | 所有 ASIM 架构有一些通用的字段。 每个架构可以添加有关在特定架构上下文中使用一些通用字段的准则。 例如,EventType 字段允许的值可能因每个架构而异,EventSchemaVersion 字段的值同样如此。 |
| 实体 | 事件围绕用户、主机、进程或文件等实体进行演变。 每个实体可能需要多个字段来描述。 例如,主机可能具有名称和 IP 地址。 单个记录可能包括相同类型的多个实体,例如源主机和目标主机。 ASIM 定义了如何一致地描述实体,而实体允许扩展架构。 例如,虽然网络会话架构不包括进程信息,但某些事件源确实提供可添加的进程信息。 有关详细信息,请参阅实体。 |
| 别名 | 通过别名可对一个指定值使用多个名称。 在某些情况下,不同的用户要求某个字段具有不同的名称。 例如,在 DNS 术语中,你可能需要一个名为 DnsQuery 的字段,但更常见的情况是它包含一个域名。 通过别名 Domain 可同时使用这两个名称,从而有助于用户。 在某些情况下,别名可以具有多个字段中某一个的值,具体取决于事件中可用的值。 例如,Dvc 别名会对 DvcFQDN、DvcId、DvcHostname、DvcIpAddr 或 Event Product 字段设置别名。 当别名可以有多个值时,其类型必须是一个字符串,以容纳所有可能的别名值。 因此,向此类别名赋值时,请确保使用 KQL 函数 tostring 将类型转换为字符串。 本机规范化表不包括别名,因为这些别名意味着重复的数据存储。 转而,存根分析程序会添加别名。 若要在分析程序中实现别名,请使用 extend 运算符创建原始值的副本。 |
逻辑类型
每个架构字段有一个类型。 某些字段具有内置的 Log Analytics 类型,例如 string、int、datetime 或 dynamic。 其他字段具有逻辑类型,该类型表示字段值的规范化方式。
| 数据类型 | 物理类型 | 格式和值 |
|---|---|---|
| 布尔值 | Bool | 使用内置 KQL bool 数据类型,而不要使用布尔值的数字或字符串表示形式。 |
| 枚举 | 字符串 | 为字段显式定义的值列表。 架构定义列出了接受的值。 |
| 日期/时间 | 根据引入方法功能,按优先级的降序使用以下任一物理表示形式: - Log Analytics 内置的日期时间类型 - 使用 Log Analytics 日期时间数字表示形式的整数字段。 - 使用 Log Analytics 日期时间数字表示形式的字符串字段 - 用于存储受支持 Log Analytics 日期/时间格式的字符串字段。 |
Log Analytics 日期和时间表示形式与 Unix 时间的表示形式类似,但两者实际上是不同的。 有关详细信息,请参阅转换指南。 注意:在适用的情况下,应调整时间的时区。 |
| MAC 地址 | 字符串 | 冒分十六进制表示法。 |
| IP 地址 | 字符串 | Microsoft Sentinel 架构没有单独的 IPv4 和 IPv6 地址。 任一 IP 地址字段都可以包含 IPv4 地址或 IPv6 地址,如下所述: - 采用点分十进制表示法的 IPv4- 。 - 采用 8 个 16 位段表示法的 IPv6,允许短格式- 。 例如: - IPv4:- 192.168.10.10 - IPv6:- FEDC:BA98:7654:3210:FEDC:BA98:7654:3210- IPv6 短格式:- 1080::8:800:200C:417A |
| FQDN | 字符串 | 使用点分表示法的完全限定域名,例如 docs.azure.cn。 有关详细信息,请参阅实体。 |
| 主机名 | 字符串 | 不是 FQDN 的主机名,最多包含 63 个字符,包括字母、数字和连字符。 有关详细信息,请参阅实体。 |
| DomainType | Enumerated | 存储在域和 FQDN 字段中的域的类型。 有关值的列表和详细信息,请参阅设备实体。 |
| DvcIdType | Enumerated | 存储在 DvcId 字段中的设备 ID 的类型。 有关允许值的列表和其他信息,请参阅 DvcIdType。 |
| DeviceType | Enumerated | 存储在 DeviceType 字段中的设备的类型。 可能的值包括: - Computer- Mobile Device- IOT Device- Other。 有关详细信息,请参阅实体。 |
| Username | 字符串 | 支持的类型之一中的有效用户名。 有关详细信息,请参阅用户实体。 |
| UsernameType | Enumerated | 用户名字段中存储的用户名的类型。 有关详细信息和支持的值的列表,请参阅用户实体。 |
| UserIdType | Enumerated | 存储在用户 ID 字段中的 ID 的类型。 支持的值为 SID、UIS、AADID 和 PUID。 有关详细信息,请参阅用户实体。 |
| UserType | Enumerated | 用户的类型。 有关详细信息和允许的值的列表,请参阅用户实体。 |
| AppType | Enumerated | 应用程序的类型。 支持的值包括:Process、 Service、Resource、URL、SaaS application、CSP 和 Other。 |
| 国家/地区 | 字符串 | 根据以下优先级使用 ISO 3166-1 的字符串: - Alpha-2 代码,例如 US 表示美国。 - Alpha-3 代码,例如 USA 表示美国。 - 短名称。 在国际标准化组织 (ISO) 网站上可以找到代码列表。 |
| 区域 | 字符串 | 使用 ISO 3166-2 的国家/地区辖区名称。 在国际标准化组织 (ISO) 网站上可以找到代码列表。 |
| 城市 | 字符串 | |
| 经度 | Double | ISO 6709 坐标表示形式(带符号的十进制数)。 |
| 纬度 | Double | ISO 6709 坐标表示形式(带符号的十进制数)。 |
| MD5 | 字符串 | 32 个十六进制字符。 |
| SHA1 | 字符串 | 40 个十六进制字符。 |
| SHA256 | 字符串 | 64 个十六进制字符。 |
| SHA512 | 字符串 | 128 个十六进制字符。 |
实体
事件围绕用户、主机、进程或文件等实体进行演变。 实体表示形式允许将相同类型的多个实体包含在单个记录中,并支持相同实体的多个属性。
为了启用实体功能,实体表示形式遵守以下准则:
| 准则 | 说明 |
|---|---|
| 前缀和别名 | 由于单个事件通常包含同一类型的多个实体,例如源主机和目标主机, 因此 前缀用于标识字段关联的实体。 为了保持规范化,ASIM 使用一小组标准前缀,为实体的特定角色选取最合适的前缀。 如果类型的单个实体与事件相关,则无需使用前缀。 此外,一组没有前缀的字段对每种类型使用最多的实体进行别名。 |
| 标识符和类型 | 规范化架构允许为每个实体使用多个标识符,我们预期这些标识符将在事件中共存。 如果源事件具有无法映射到规范化架构的其他实体标识符,请将这些标识符保留为源的形式,或使用 AdditionalFields 动态字段。 若要维护标识符的类型信息,在适用的情况下,请将类型存储在具有相同名称且后缀为 Type 的字段中。 例如 UserIdType。 |
| 属性 | 实体通常具有其他不用作标识符的属性,并且也可以使用描述符对其进行限定。 例如,如果源用户具有域信息,则规范化字段为 SrcUserDomain。 |
有关特定实体类型的详细信息,请参阅:
示例实体映射
本部分使用 Windows 事件 4624 作为示例来介绍如何规范化 Microsoft Sentinel 的事件数据。
此事件具有以下实体:
| Microsoft 术语 | 原始事件字段前缀 | ASIM 字段前缀 | 说明 |
|---|---|---|---|
| 主题 | Subject |
Actor |
报告有关成功登录的信息的用户。 |
| 新登录 | Target |
TargetUser |
执行登录的用户。 |
| 处理 | - | ActingProcess |
尝试登录的进程。 |
| 网络信息 | - | Src |
从中尝试执行登录的计算机。 |
Windows 事件 4624 基于这些实体规范化为以下字段(某些字段是可选的):
| 规范化字段 | 原始字段 | 示例中的值 | 说明 |
|---|---|---|---|
| ActorUserId | SubjectUserSid | S-1-5-18 | |
| ActorUserIdType | - | SID | |
| ActorUserName | SubjectDomainName\ SubjectUserName | WORKGROUP\WIN-GG82ULGC9GO$ | 通过串联两个字段来生成 |
| ActorUserNameType | - | Windows | |
| ActorSessionId | SubjectLogonId | 0x3e7 | |
| TargetUserId | TargetUserSid | S-1-5-21-1377283216-344919071-3415362939-500 | |
| UserId | TargetUserSid | Alias | |
| TargetUserIdType | - | SID | |
| TargetUserName | 目标域名\目标用户名 | Administrator\WIN-GG82ULGC9GO$ | 通过串联两个字段来生成 |
| 用户名 | 目标域名\目标用户名 | Alias | |
| TargetUserNameType | - | Windows | |
| TargetSessionId | TargetLogonId | 0x8dcdc | |
| ActingProcessName | ProcessName | C:\Windows\System32\svchost.exe | |
| ActingProcessId | ProcessId | 0x44c | |
| SrcHostname | WorkstationName | Windows | |
| SrcIpAddr | IpAddress | 127.0.0.1 | |
| SrcPortNumber | IpPort | 0 | |
| TargetHostname | Computer | WIN-GG82ULGC9GO | |
| 主机名 | Computer | Alias |
后续步骤
本文概述了 Microsoft Sentinel 和 ASIM 中的规范化。
有关详细信息,请参阅: