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

(ASIM) 架构的高级安全信息模型

(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 别名为 DvcFQDNDvcIdDvcHostnameDvcIpAddr事件产品 字段。 当别名可以有多个值时,其类型必须是一个字符串,以容纳所有可能的别名值。 因此,向此类别名分配值时,请确保使用 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,允许使用短格式。

例如:
- IPv4192.168.10.10
- IPv6FEDC: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、、UISAADIDOktaIdAWSIdPUID。 有关详细信息,请参阅 用户实体
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 中的规范化。

有关更多信息,请参阅: