你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
(ASIM) 架构的高级安全信息模型是一组表示活动或实体的字段。 在查询中使用规范化架构中的字段可确保查询适用于每个规范化源。
若要了解架构如何适应 ASIM 体系结构,请参阅 ASIM 体系结构图。
活动/事件架构
架构引用概述了构成每个架构的字段。 ASIM 当前为事件定义以下架构:
| 架构 | 测试的架构名称 | 版本 | 状态 |
|---|---|---|---|
| 警报事件 | AlertEvent |
0.1 | GA |
| 审核事件 | AuditEvent |
0.1.2 | GA |
| 身份验证事件 | Authentication |
0.1.4 | GA |
| DHCP 活动 | DhcpEvent |
0.1.1 | GA |
| DNS 活动 | Dns |
0.1.7 | GA |
| 文件活动 | FileEvent |
0.2.2 | GA |
| 网络会话 | NetworkSession |
0.2.7 | GA |
| 进程事件 | ProcessEvent |
0.1.4 | GA |
| 注册表事件 | RegistryEvent |
0.1.3 | GA |
| 用户管理 | UserManagement |
0.1.2 | GA |
| Web 会话 | WebSession |
0.2.7 | GA |
实体架构
ASIM 当前为实体定义以下架构:
| 架构 | 测试的架构名称 | 版本 | 状态 |
|---|---|---|---|
| 资产实体 | AssetEntity |
0.1.0 | GA |
对于属于其他 ASIM 架构的实体,请参阅 事件实体。
字段命名
每个架构的核心是其字段名称。 字段名称属于以下组:
- 所有架构通用的字段。
- 特定于架构的字段。
- 表示参与架构的实体(如用户)的字段。 表示实体的字段 在架构中相似。
如果源的字段未在记录的架构中显示,则会对其进行规范化以保持一致性。 如果额外字段表示实体,则会根据实体字段准则规范化这些字段。 否则,架构会努力保持所有架构之间的一致性。
例如,虽然 DNS 服务器活动日志不提供用户信息,但终结点中的 DNS 活动日志可能包含用户信息,可以根据用户实体准则规范化这些信息。
通用字段
某些字段是所有 ASIM 架构通用的。 每个架构可能会添加指南,以便在特定架构的上下文中使用一些常见字段。 例如, EventType 字段的允许值可能因架构而异, EventSchemaVersion 字段的值也可能有所不同。
字段类
字段可能有多个类,这些类定义何时应由分析程序实现字段:
- 必须 在每个分析器中显示必填字段。 如果源未提供此值的信息,或者无法以其他方式添加数据,则它不支持引用规范化架构的大多数内容项。
- 建议 的字段应规范化(如果可用)。 但是,它们可能并非在每个源中都可用。 引用规范化架构的任何内容项都应考虑到可用性。
- 可选 字段(如果可用)可以规范化或保留其原始格式。 通常,由于性能原因,最小分析器不会规范化它们。
- 如果填充了条件字段后面的字段,则条件字段是必需的。 条件字段通常用于描述另一个字段中的值。 例如,公共字段 DvcIdType 描述公共字段 DvcId 中的值,因此,如果后者已填充,则该值是必需的。
- 别名 是条件字段的特殊类型,如果填充了别名字段,则别名是必需的。
事件实体
事件围绕实体(如用户、主机、进程或文件)发展。 每个实体可能需要多个字段来描述它。 例如,主机可能具有名称和 IP 地址。
单个记录可能包含同一类型的多个实体,例如源主机和目标主机。
ASIM 定义如何一致地描述实体,而实体允许扩展架构。
例如,虽然网络会话架构不包括进程信息,但某些事件源确实提供了可以添加的进程信息。 有关详细信息,请参阅 实体。
若要启用实体功能,实体表示具有以下准则:
| 准则 | 说明 |
|---|---|
| 前缀和别名 | 由于单个事件通常包含多个相同类型的实体(例如源和目标主机),因此 前缀 用于标识字段关联的实体。 为了保持规范化,ASIM 使用一小部分标准前缀,为实体的特定角色选取最合适的前缀。 如果类型的单个实体与事件相关,则无需使用前缀。 此外,一组不带前缀的字段对每种类型使用最多的实体进行别名。 |
| 标识符和类型 | 规范化架构允许为每个实体提供多个标识符,我们希望这些标识符在事件中共存。 如果源事件具有无法映射到规范化架构的其他实体标识符,请将其保留在源窗体中或使用 AdditionalFields 动态字段。 若要维护标识符的类型信息,请将类型(如果适用)存储在具有相同名称且后缀为 Type 的字段中。 例如 UserIdType。 |
| 属性 | 实体通常具有不用作标识符的其他属性,还可以使用描述符进行限定。 例如,如果源用户具有域信息,则规范化字段为 SrcUserDomain。 |
有关特定实体类型的详细信息,请参阅:
有关完整实体架构的详细信息,请参阅:
别名
别名允许指定值的多个名称。 在某些情况下,不同的用户期望字段具有不同的名称。 例如,在 DNS 术语中,你可能期望一个名为 DnsQuery 的字段,而更普遍的是,它包含域名。 别名 “域 ”通过允许同时使用这两个名称来帮助用户。
注意
别名旨在帮助分析师进行交互式查询。 在可重用内容(如自定义检测、分析规则或工作簿)中使用查询时,请使用别名字段而不是别名。 使用别名字段可确保更好的性能、更少的错误和更好的查询可读性。
在某些情况下,别名的值可以是多个字段之一,具体取决于事件中可用的值。 例如, Dvc 别名为 DvcFQDN、 DvcId、 DvcHostname 或 DvcIpAddr 或 事件产品 字段。 当别名可以有多个值时,其类型必须是一个字符串,以容纳所有可能的别名值。 因此,向此类别名分配值时,请确保使用 KQL 函数将类型 转换为字符串。
本机规范化表 不包括别名,因为这些别名意味着重复的数据存储。 相反, 存根分析器 会添加别名。 若要在分析器中实现别名,请使用 extend 运算符创建原始值的副本。
逻辑类型
每个架构字段都有一个类型。 Log Analytics 工作区的数据类型集有限。 出于此原因,Microsoft Sentinel对许多架构字段使用逻辑类型,Log Analytics 不强制实施,但架构兼容性是必需的。 逻辑字段类型可确保值和字段名称在源之间保持一致。
| 数据类型 | 物理类型 | 格式和值 |
|---|---|---|
| Boolean | Bool | 使用内置的 KQL bool 数据类型,而不是布尔值的数字或字符串表示形式。 |
| 枚举 | String | 为字段显式定义的值列表。 架构定义列出了接受的值。 |
| 日期/时间 | 根据引入方法的功能,在降序优先级中使用以下任何物理表示形式: - Log Analytics 内置日期/时间类型 - 使用 Log Analytics datetime 数值表示形式的整数字段。 - 使用 Log Analytics 日期时间数值表示形式的字符串字段 - 存储支持的 Log Analytics 日期/时间格式的字符串字段。 |
Log Analytics 日期和时间表示形式 类似,但不同于 Unix 时间表示形式。 有关详细信息,请参阅 转换指南。 注意:如果适用,时间应调整时区。 |
| MAC 地址 | String | Colon-Hexadecimal 表示法。 |
| IP 地址 | String | Microsoft Sentinel架构没有单独的 IPv4 和 IPv6 地址。 任何 IP 地址字段都可能包含 IPv4 地址或 IPv6 地址,如下所示: - 以点-十进制表示法表示的 IPv4。 - 采用 8-hextets 表示法的 IPv6,允许使用短格式。 例如: - IPv4: 192.168.10.10 - IPv6: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210- IPv6 短格式: 1080::8:800:200C:417A |
| FQDN | String | 使用点表示法的完全限定域名, learn.microsoft.com例如 。 有关详细信息,请参阅 设备实体。 |
| 主机 名 | String | 不是 FQDN 的主机名最多包含 63 个字符,包括字母、数字和连字符。 有关详细信息,请参阅 设备实体。 |
| 域 | String | FQDN 的域部分,不带主机名,例如 learn.microsoft.com。 有关详细信息,请参阅 设备实体。 |
| DomainType | 枚举 | 存储在域和 FQDN 字段中的域类型。 有关值列表和详细信息,请参阅 设备实体。 |
| DvcIdType | 枚举 | 存储在 DvcId 字段中的设备 ID 的类型。 有关允许值的列表和其他信息,请参阅 DvcIdType。 |
| DeviceType | 枚举 | 存储在 DeviceType 字段中的设备类型。 可能的值包括: - Computer- Mobile Device- IOT Device- Other. 有关详细信息,请参阅 设备实体。 |
| 用户 | String | 受支持 类型之一中的有效用户名。 有关详细信息,请参阅 用户实体。 |
| UsernameType | 枚举 | 存储在用户名字段中的用户名类型。 有关详细信息和支持的值列表,请参阅 User 实体。 |
| UserIdType | 枚举 | 存储在用户 ID 字段中的 ID 类型。 支持的值为 SID、、UIS、AADIDOktaId、 AWSId和 PUID。 有关详细信息,请参阅 用户实体。 |
| UserType | 枚举 | 用户的类型。 有关详细信息和允许的值列表,请参阅 User 实体。 |
| AppType | 枚举 | 应用程序的类型。 有关支持值的列表,请参阅 应用程序实体。 |
| 国家/地区 | String | 根据以下优先级使用 ISO 3166-1 的字符串: - Alpha-2 代码,例如 US美国。 - Alpha-3 代码,例如 USA美国。 - 短名称。 可以在 国际标准组织 (ISO) 网站上找到代码列表。 |
| Region | String | 使用 ISO 3166-2 的国家/地区细分名称。 可以在 国际标准组织 (ISO) 网站上找到代码列表。 |
| 市/县 | String | |
| Longitude | 双精度 | ISO 6709 坐标表示形式 (带符号十进制) 。 |
| Latitude | 双精度 | ISO 6709 坐标表示形式 (带符号十进制) 。 |
| MD5 | String | 32-hex 字符。 |
| SHA1 | String | 40-hex 字符。 |
| SHA256 | String | 64-hex 字符。 |
| SHA512 | String | 128-hex 字符。 |
| ConfidenceLevel | 整数 | 规范化为 0 到 100 范围的置信度。 |
| RiskLevel | 整数 | 规范化为 0 到 100 范围的风险级别。 |
| SchemaVersion | String | 格式为 ASIM 架构版本 <major>.<minor>.<sub-minor> |
| DnsQueryClassName | String | DNS 类名称。 |
| Username | String | 简单或域限定的用户名 |
示例实体映射
本部分使用 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 | 别名 | |
| TargetUserIdType | - | SID | |
| TargetUserName | TargetDomainName\ TargetUserName | Administrator\WIN-GG82ULGC9GO$ | 通过连接这两个字段生成 |
| Username | TargetDomainName\ TargetUserName | 别名 | |
| 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 | 计算机 | WIN-GG82ULGC9GO | |
| 主机名 | 计算机 | 别名 |
后续步骤
本文概述了 Microsoft Sentinel 和 ASIM 中的规范化。
有关更多信息,请参阅: