高级安全信息模型 (ASIM) 审核事件规范化架构参考(公共预览版)
Microsoft Sentinel 审核事件规范化架构表示与信息系统的审核线索关联的事件。 审核线索日志记录系统配置活动和策略更改。 此类更改通常由系统管理员执行,但也可由用户在配置其自己的应用程序的设置时执行。
每个系统都会将审核事件及其核心活动日志一起记录。 例如,防火墙将记录有关处理网络会话的事件,以及有关应用于防火墙本身的配置更改的审核事件。
有关 Microsoft Sentinel 中规范化的详细信息,请参阅规范化和高级安全信息模型 (ASIM)。
重要
审核事件规范化架构目前以预览版提供。 服务级别协议未随此功能一起提供。 建议不要将它用于生产工作负载。
Azure 预览版补充条款包含适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的其他法律条款。
架构概述
审核事件的主要字段包括:
- 由字段 Object 表示的对象(例如事件涉及的受管理资源或策略规则)。 字段 ObjectType 指定对象的类型。
- 对象的应用程序上下文,由字段 TargetAppName 表示,别名为 Application。
- 对对象执行的操作,由字段 EventType 和 Operation 表示。 虽然 Operation 是源报告的值,但 EventType 是规范化版本,该字段在不同源之间的一致性更佳。
- 对象的旧值和新值(如果适用)分别由 OldValue 和 NewValue 表示。
审核事件还引用配置操作中涉及的以下实体:
- Actor - 执行配置操作的用户。
- TargetApp - 应用配置操作的应用程序或系统。
- Target - 运行 TaregtApp* 的系统。
- ActingApp - 参与者用于执行配置操作的应用程序。
- Src - 参与者用于启动配置操作的系统(如果与 Target 不同)。
描述符 Dvc
用于报告设备:对于终结点报告的会话,它是本地系统;对于其他情况,它是中间设备或安全设备。
分析器
部署和使用审核事件分析程序
从 Microsoft Sentinel GitHub 存储库部署 ASIM 审核事件分析程序。 若要跨所有审核事件源进行查询,请使用统一分析程序 imAuditEvent
作为查询中的表名称。
有关 ASIM 分析程序的详细信息,请参阅 ASIM 分析程序概述。 有关 Microsoft Sentinel 现成提供的审核事件分析程序列表,请参考 ASIM 分析程序列表
添加自己的规范化分析器
为文件事件信息模型实现自定义分析器时,请使用以下语法来命名 KQL 函数:imAuditEvent<vendor><Product>
。 若要了解如何将自定义分析程序添加到审核事件统一分析程序,请参阅管理 ASIM 分析程序一文。
筛选分析程序参数
审核事件分析程序支持筛选参数。 尽管这些参数是可选的,但它们可以提高查询性能。
可使用以下筛选参数:
名称 | Type | 说明 |
---|---|---|
starttime | datetime | 仅筛选在此时间或之后运行的事件。 此参数使用 TimeGenerated 字段作为事件的时间指示符。 |
endtime | datetime | 仅筛选在此时间或之前完成运行的事件查询。 此参数使用 TimeGenerated 字段作为事件的时间指示符。 |
srcipaddr_has_any_prefix | 动态 | 仅筛选来自此源 IP 地址的事件,如 SrcIpAddr 字段中所示。 |
eventtype_in | string | 仅筛选其中的事件类型(如 EventType 字段中所示)是提供的任一字词的事件。 |
eventresult | string | 仅筛选其中的事件结果(如 EventResult 字段中所示)等于参数值的事件。 |
actorusername_has_any | 动态/字符串 | 仅筛选其中的 ActorUsername 包含所提供的任一字词的事件。 |
operation_has_any | 动态/字符串 | 仅筛选其中的 Operation 字段包含所提供的任一字词的事件。 |
object_has_any | 动态/字符串 | 仅筛选其中的 Object 字段包含所提供的任一字词的事件。 |
newvalue_has_any | 动态/字符串 | 仅筛选其中的 NewValue 字段包含所提供的任一字词的事件。 |
某些参数可以接受 dynamic
类型的值列表或单个字符串值。 若要将文本列表传递到需要动态值的参数,请显式使用动态文本。 例如:dynamic(['192.168.','10.'])
例如,若要仅筛选过去一天的、其 Operation 字段中包含字词 install
或 update
的审核事件,请使用:
imAuditEvent (operation_has_any=dynamic(['install','update']), starttime = ago(1d), endtime=now())
架构详细信息
通用 ASIM 字段
重要
ASIM 通用字段一文详细介绍了所有架构的通用字段。
符合特定准则的通用字段
以下列表提及了具有特定审核事件准则的字段:
字段 | 类 | 类型 | 描述 |
---|---|---|---|
EventType | 必需 | Enumerated | 描述事件使用规范化值审核的操作。 使用 EventSubType 提供规范化值未传达的更多详细信息,并使用 Operation。 存储报告设备报告的操作。 对于审核事件记录,允许的值为: - Set - Read - Create - Delete - Execute - Install - Clear - Enable - Disable - Other 审核事件表示丰富多样的操作, Other 值实现没有对应 EventType 的映射操作。 但使用 Other 会限制事件的可用性,应尽可能地避免使用该值。 |
EventSubType | 可选 | String | 提供 EventType 中的规范化值未传达的更多详细信息。 |
EventSchema | 必需 | 字符串 | 此处所述的架构名称为 AuditEvent 。 |
EventSchemaVersion | 必需 | 字符串 | 架构的版本。 此处所述的架构版本为 0.1 。 |
所有通用字段
表中显示的字段是所有 ASIM 架构通用的。 本文档中指定的任何准则都可替代字段的一般准则。 例如,字段通常情况下可能是可选项,但可能是特定架构的必需项。 有关每个字段的详细信息,请参阅 ASIM 通用字段一文。
类 | Fields |
---|---|
必需 | - EventCount - EventStartTime - EventEndTime - EventType - EventResult - “EventProduct” - EventVendor - EventSchema - EventSchemaVersion - Dvc |
建议 | - EventResultDetails - EventSeverity - EventUid - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType- - DvcAction |
可选 | - EventMessage - EventSubType - EventOriginalUid - EventOriginalType - EventOriginalSubType - EventOriginalResultDetails - EventOriginalSeverity - EventProductVersion - EventReportUrl - EventOwner - DvcZone - DvcMacAddr - DvcOs - DvcOsVersion - DvcOriginalAction - DvcInterface - AdditionalFields - DvcDescription - DvcScopeId - DvcScope |
审核字段
字段 | 类 | 类型 | 说明 |
---|---|---|---|
Operation | 必需 | 字符串 | 报告设备报告的审核操作。 |
Object | 必需 | 字符串 | 对其执行标识为 EventType 的操作的对象名称。 |
ObjectType | 必需 | Enumerated | Object 的类型。 允许值包括: - Cloud Resource - Configuration Atom - Policy Rule - Other |
OldValue | 可选 | 字符串 | 执行操作之前的 Object 旧值(如果适用)。 |
NewValue | 可选 | String | 执行操作之后的 Object 新值(如果适用)。 |
Value | Alias | NewValue 的别名 | |
ValueType | 条件逻辑 | Enumerated | 旧值和新值的类型。 允许的值为 - Other |
参与者字段
字段 | 类 | 类型 | 说明 |
---|---|---|---|
ActorUserId | 可选 | String | 参与者的计算机可读的唯一字母数字表示形式。 有关详细信息,以及其他 ID 的替代字段,请参阅 User 实体。 示例: S-1-12-1-4141952679-1282074057-627758481-2916039507 |
ActorScope | 可选 | 字符串 | 在其中定义了 ActorUserId 和 ActorUsername 的范围(例如 Microsoft Entra 域名)。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScope。 |
ActorScopeId | 可选 | 字符串 | 在其中定义了 ActorUserId 和 ActorUsername 的范围 ID(例如 Microsoft Entra 目录 ID)。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScopeId。 |
ActorUserIdType | 条件逻辑 | UserIdType | ActorUserId 字段中存储的 ID 的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserIdType。 |
ActorUsername | 建议 | 用户名 | 参与者的用户名,包括域信息(如果可用)。 有关详细信息,请参阅用户实体。 示例: AlbertE |
用户 | Alias | ActorUsername 的别名 | |
ActorUsernameType | 条件逻辑 | UsernameType | 指定 ActorUsername 字段中存储的用户名的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UsernameType。 示例: Windows |
ActorUserType | 可选 | UserType | 参与者的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserType。 例如: Guest |
ActorOriginalUserType | 可选 | UserType | 报告设备报告的用户类型。 |
“ActorSessionId” | 可选 | 字符串 | 参与者登录会话的唯一 ID。 示例: 102pTUgC3p8RIqHvzxLCHnFlg |
目标应用程序字段
字段 | 类 | 类型 | 说明 |
---|---|---|---|
TargetAppId | 可选 | String | 事件应用的应用程序 ID,包括进程、浏览器或服务。 示例: 89162 |
TargetAppName | 可选 | String | 事件应用的应用程序名称,包括服务、URL 或 SaaS 应用程序。 示例: Exchange 365 |
Application | Alias | TargetAppName 的别名 | |
TargetAppType | 可选 | AppType | 代表参与者授权的应用程序的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 AppType。 |
TargetUrl | 可选 | URL | 与目标应用程序相关联的 URL。 |
目标系统字段
字段 | 类 | 类型 | 说明 |
---|---|---|---|
Dst | Alias | 字符串 | 身份验证目标的唯一标识符。 此字段可以是 TargerDvcId、TargetHostname、TargetIpAddr、TargetAppId 或 TargetAppName 字段的别名。 示例: 192.168.12.1 |
TargetHostname | 建议 | 主机名 | 目标设备主机名,不包括域信息。 示例: DESKTOP-1282V4D |
TargetDomain | 建议 | 字符串 | 目标设备的域。 示例: Contoso |
TargetDomainType | 条件逻辑 | Enumerated | TargetDomain 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DomainType。 如果使用了 TargetDomain,则该字段是必填的。 |
TargetFQDN | 可选 | 字符串 | 目标设备主机名,包括域信息(如果可用)。 示例: Contoso\DESKTOP-1282V4D 注意:此字段支持传统的 FQDN 格式和 Windows 域\主机名格式。 TargetDomainType 反映所使用的格式。 |
TargetDescription | 可选 | 字符串 | 与设备关联的描述性文本。 例如:Primary Domain Controller 。 |
TargetDvcId | 可选 | String | 目标设备的 ID。 如果有多个可用的 ID,请使用最重要的一个,将其他 ID 存储在字段中 TargetDvc<DvcIdType> 。 示例: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
TargetDvcScopeId | 可选 | String | 设备所属的云平台范围 ID。 TargetDvcScopeId 映射到 Azure 上的订阅 ID。 |
TargetDvcScope | 可选 | String | 设备所属的云平台范围。 TargetDvcScope 映射到 Azure 上的订阅 ID。 |
TargetDvcIdType | 条件逻辑 | Enumerated | TargetDvcId 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DvcIdType。 如果使用了 TargetDeviceId,则该字段是必填的。 |
TargetDeviceType | 可选 | Enumerated | 目标设备的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DeviceType。 |
TargetIpAddr | 可选 | IP 地址 | 目标设备的 IP 地址。 示例: 2.2.2.2 |
TargetDvcOs | 可选 | 字符串 | 目标设备的 OS。 示例: Windows 10 |
TargetPortNumber | 可选 | 整数 | 目标设备的端口。 |
操作应用程序字段
字段 | 类 | 类型 | 说明 |
---|---|---|---|
ActingAppId | 可选 | String | 启动报告的活动的应用程序的 ID,包括进程、浏览器或服务。 例如: 0x12ae8 |
ActiveAppName | 可选 | String | 启动报告的活动的应用程序的名称,包括服务、URL 或 SaaS 应用程序。 例如: C:\Windows\System32\svchost.exe |
ActingAppType | 可选 | AppType | 操作应用程序的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 AppType。 |
HttpUserAgent | 可选 | 字符串 | 通过 HTTP 或 HTTPS 执行身份验证时,此字段的值是执行身份验证时操作应用程序提供的 user_agent HTTP 标头。 例如: Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1 |
源系统字段
字段 | 类 | 类型 | 说明 |
---|---|---|---|
Src | Alias | 字符串 | 目标设备的唯一标识符。 此字段又可称为 SrcDvcId、SrcHostname 或 SrcIpAddr 字段。 示例: 192.168.12.1 |
SrcIpAddr | 建议 | IP 地址 | 从中发起了连接或会话的 IP 地址。 示例: 77.138.103.108 |
IpAddr | Alias | SrcIpAddr 的别名;如果未提供 SrcIpAddr,则为 TargetIpAddr 的别名。 | |
SrcPortNumber | 可选 | 整数 | 从中发起了连接的 IP 端口。 可能与包含多个连接的会话无关。 示例: 2335 |
SrcHostname | 建议 | 主机名 | 源设备主机名,不包括域信息。 如果没有可用的设备名称,请在此字段中存储相关的 IP 地址。 示例: DESKTOP-1282V4D |
SrcDomain | 建议 | 字符串 | 源设备的域。 示例: Contoso |
SrcDomainType | 条件逻辑 | DomainType | SrcDomain 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DomainType。 如果使用了 SrcDomain,则该字段是必填的。 |
SrcFQDN | 可选 | String | 源设备主机名,包括域信息(如果可用)。 注意:此字段支持传统的 FQDN 格式和 Windows 域\主机名格式。 SrcDomainType 字段反映使用的格式。 示例: Contoso\DESKTOP-1282V4D |
SrcDescription | 可选 | 字符串 | 与设备关联的描述性文本。 例如:Primary Domain Controller 。 |
SrcDvcId | 可选 | String | 源设备的 ID。 如果有多个可用的 ID,请使用最重要的一个,将其他 ID 存储在字段中 SrcDvc<DvcIdType> 。示例: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
SrcDvcScopeId | 可选 | String | 设备所属的云平台范围 ID。 SrcDvcScopeId 映射到 Azure 上的订阅 ID。 |
SrcDvcScope | 可选 | String | 设备所属的云平台范围。 SrcDvcScope 映射到 Azure 上的订阅 ID。 |
SrcDvcIdType | 条件逻辑 | DvcIdType | SrcDvcId 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DvcIdType。 注意:如果使用了 SrcDvcId,则此字段是必填的。 |
SrcDeviceType | 可选 | DeviceType | 源设备的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DeviceType。 |
SrcSubscriptionId | 可选 | String | 源设备所属的云平台订阅 ID。 SrcSubscriptionId 映射到 Azure 上的订阅 ID。 |
SrcGeoCountry | 可选 | 国家/地区 | 与源 IP 地址关联的国家/地区。 |
SrcGeoRegion | 可选 | 区域 | 与源 IP 地址关联的国家/地区中的区域。 |
SrcGeoCity | 可选 | 城市 | 与源 IP 地址关联的城市。 |
SrcGeoLatitude | 可选 | 纬度 | 与源 IP 地址关联的地理坐标的纬度。 示例: 44.475833 |
SrcGeoLongitude | 可选 | 经度 | 与源 IP 地址关联的地理坐标的经度。 示例: 73.211944 |
检查字段
以下字段用于表示由安全系统执行的检查。
字段 | 类 | 类型 | 说明 |
---|---|---|---|
RuleName | 可选 | String | 与检查结果关联的规则的名称或 ID。 |
RuleNumber | 可选 | 整数 | 与检查结果关联的规则的数量。 |
规则 | Alias | 字符串 | RuleName 的值,或 RuleNumber 的值。 如果使用 RuleNumber 的值,则类型应转换为字符串。 |
ThreatId | 可选 | String | 在审核活动中识别到的威胁或恶意软件的 ID。 |
ThreatName | 可选 | 字符串 | 在审核活动中识别到的威胁或恶意软件的名称。 |
ThreatCategory | 可选 | 字符串 | 在审核文件活动中识别到的威胁或恶意软件的类别。 |
ThreatRiskLevel | 可选 | 整数 | 与已识别的威胁关联的风险级别。 级别应是介于 0 和 100 之间的数字。 注意:可以在源记录中使用不同的标度提供值,而使用的标度应规范化为此标度。 原始值应存储在 ThreatRiskLevelOriginal 中。 |
ThreatOriginalRiskLevel | 可选 | String | 报告设备报告的风险级别。 |
ThreatConfidence | 可选 | 整数 | 已识别威胁的可信度,规范化为 0 到 100 之间的值。 |
ThreatOriginalConfidence | 可选 | 字符串 | 报告设备报告的已识别威胁的原始可信度。 |
ThreatIsActive | 可选 | Boolean | 如果已识别的威胁被视为活动威胁,则为 True。 |
ThreatFirstReportedTime | 可选 | datetime | IP 地址或域首次被识别为威胁的时间。 |
ThreatLastReportedTime | 可选 | datetime | 上次将 IP 地址或域识别为威胁的时间。 |
ThreatIpAddr | 可选 | IP 地址 | 已识别出威胁的 IP 地址。 字段 ThreatField 包含 ThreatIpAddr 表示的字段的名称。 |
ThreatField | 可选 | Enumerated | 已识别出威胁的字段。 该值为 SrcIpAddr 或 TargetIpAddr 。 |
后续步骤
有关详细信息,请参阅: