高级安全信息模型 (ASIM) 身份验证规范化架构参考(公共预览版)

Microsoft Sentinel 身份验证架构用于描述与用户身份验证、登录和注销相关的事件。身份验证事件由许多报告设备发送,通常作为事件流的一部分与其他事件一起发送。 例如,Windows 将多个身份验证事件与其他 OS 活动事件一起发送。

身份验证事件包括来自侧重于身份验证的系统(例如 VPN 网关或域控制器)的事件,以及直接向最终系统(例如计算机或防火墙)进行身份验证的事件。

有关 Microsoft Sentinel 中规范化的详细信息,请参阅规范化和高级安全信息模型 (ASIM)

重要

身份验证规范化架构目前以预览版提供。 此功能不附带服务级别协议,不建议将其用于生产工作负荷。

Azure 预览版补充条款包含适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的其他法律条款。

分析器

Microsoft Sentinel GitHub 存储库部署 ASIM 身份验证分析程序。 有关 ASIM 分析程序的详细信息,请参阅 ASIM 分析程序概述一文。

统一分析程序

若要使用统一所有 ASIM 现成分析程序的分析程序,并确保分析可在所有配置源上运行,请使用 imAuthentication 筛选分析程序或 ASimAuthentication 无参数分析程序。

源特定分析程序

有关 Microsoft Sentinel 提供的身份验证分析程序列表,请参考 ASIM 分析程序列表

添加自己的规范化分析器

为身份验证信息模型实现自定义分析程序时,请使用以下语法来命名 KQL 函数:

  • vimAuthentication<vendor><Product>,用于筛选分析程序
  • ASimAuthentication<vendor><Product>,用于无参数分析程序

有关将自定义分析程序添加到统一分析程序的信息,请参阅管理 ASIM 分析程序

筛选分析程序参数

imvim* 分析程序支持筛选参数。 尽管这些分析程序是可选的,但可使用它们来提高查询性能。

可使用以下筛选参数:

名称 Type 说明
starttime datetime 仅筛选在此时间或之后运行的身份验证事件。
endtime datetime 仅筛选在此时间或之前已完成运行的身份验证事件。
targetusername_has string 仅筛选包含列出的任何用户名的身份验证事件。

例如,若要仅筛选特定用户从过去一天开始的身份验证事件,请使用:

imAuthentication (targetusername_has = 'johndoe', starttime = ago(1d), endtime=now())

提示

若要将文本列表传递到需要动态值的参数,请显式使用动态文本。 例如:dynamic(['192.168.','10.'])

规范化内容

规范化身份验证分析规则是唯一的,因为它们可以检测跨源的攻击。 例如,如果用户从不同国家/地区登录不同且不相关的系统,则 Microsoft Sentinel 现在可检测到这种威胁。

有关使用规范化身份验证事件的分析规则的完整列表,请参阅身份验证架构安全内容

架构概述

身份验证信息模型与 OSSEM 登录实体架构保持一致。

下表中列出的字段特定于身份验证事件,但它们类似于其他架构中的字段,并遵循类似的命名约定。

身份验证事件引用以下实体:

  • TargetUser - 用于向系统进行身份验证的用户信息。 TargetSystem 是身份验证事件的主要主题,别名 User 会将 TargetUser 标识为别名。
  • TargetApp - 向其进行身份验证的应用程序。
  • Target - 运行 TaregtApp* 的系统。
  • Actor - 启动身份验证的用户(如果不同于 TargetUser)。
  • ActingApp - Actor 用于执行身份验证的应用程序。
  • Src - Actor 用于启动身份验证的系统。

以下是对这些实体之间关系的最好展示:

在源系统 Src 上运行操作应用程序 ActingApp 的 Actor 尝试向目标系统 TargetDvc 上的目标应用 TargetApp 验证为 TargetUser。

架构详细信息

在下面的表中,“类型”指的是逻辑类型。 有关详细信息,请参阅逻辑类型

通用 ASIM 字段

重要

ASIM 通用字段一文详细介绍了所有架构的通用字段。

符合特定准则的通用字段

以下列表提及符合身份验证事件特定准则的字段:

字段 类型 说明
EventType 必需 Enumerated 描述记录报告的操作。

对于身份验证记录,支持的值包括:
- Logon
- Logoff
- Elevate
EventResultDetails 建议 字符串 与事件结果关联的详细信息。 当结果为失败时,通常会填充此字段。

允许的值包括:
- No such user or password。 原始事件报告没有此类用户,并且没有引用密码时,还应使用此值。
- No such user
- Incorrect password
- Incorrect key
- Account expired
- Password expired
- User locked
- User disabled
- Logon violates policy。 原始事件报告如下情况时应使用此值,例如:需要 MFA、在工作时间之外登录、条件性访问限制或尝试过于频繁。
- Session expired
- Other

可以在源记录中使用不同字词提供该值,这些字词应规范化为这些值。 原始值应存储在字段 EventOriginalResultDetails
EventSubType 可选 String 登录类型。 允许的值包括:
- System
- Interactive
- RemoteInteractive
- Service
- RemoteService
- Remote - 当远程登录类型未知时使用。
- AssumeRole - 通常在事件类型为 Elevate 时使用。

可以在源记录中使用不同字词提供该值,这些字词应规范化为这些值。 原始值应存储在 EventOriginalSubType 字段中。
EventSchemaVersion 必需 字符串 架构的版本。 此处记录的架构版本为 0.1.3
EventSchema 必需 字符串 此处所述的架构名称为 Authentication。
Dvc 字段 - - 对于身份验证事件,设备字段是指报告事件的系统。

所有通用字段

下表中显示的字段是所有 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

特定于身份验证的字段

字段 类型 说明
LogonMethod 可选 字符串 用于执行身份验证的方法。

示例:Username & PasswordPKI
LogonProtocol 可选 字符串 用于执行身份验证的协议。

示例: NTLM

参与者字段

字段 类型 说明
ActorUserId 可选 String 参与者的计算机可读的唯一字母数字表示形式。 有关详细信息,以及其他 ID 的替代字段,请参阅 User 实体

示例: S-1-12-1-4141952679-1282074057-627758481-2916039507
ActorScope 可选 字符串 在其中定义了 ActorUserIdActorUsername 的范围(例如 Microsoft Entra 租户)。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScope
ActorScopeId 可选 字符串 在其中定义了 ActorUserIdActorUsername 的范围 ID(例如 Microsoft Entra 目录 ID)。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScopeId
ActorUserIdType 条件逻辑 UserIdType ActorUserId 字段中存储的 ID 的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserIdType
ActorUsername 可选 用户名 参与者的用户名,包括域信息(如果可用)。 有关详细信息,请参阅用户实体

示例: AlbertE
ActorUsernameType 条件逻辑 UsernameType 指定 ActorUsername 字段中存储的用户名的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UsernameType

示例: Windows
ActorUserType 可选 UserType 参与者的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserType

例如:Guest
ActorOriginalUserType 可选 UserType 报告设备报告的用户类型。
“ActorSessionId” 可选 字符串 参与者登录会话的唯一 ID。

示例: 102pTUgC3p8RIqHvzxLCHnFlg

操作应用程序字段

字段 类型 说明
ActingAppId 可选 String 代表参与者授权的应用程序的 ID,包括进程、浏览器或服务。

例如:0x12ae8
ActingAppName 可选 String 代表参与者授权的应用程序的名称,包括进程、浏览器或服务。

例如: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

目标用户字段

字段 类型 描述
“TargetUserId” 可选 UserId 目标用户的计算机可读的唯一字母数字表示形式。 有关详细信息,以及其他 ID 的替代字段,请参阅 User 实体

示例: 00urjk4znu3BcncfY0h7
TargetUserScope 可选 字符串 在其中定义了 TargetUserIdTargetUsername 的范围(例如 Microsoft Entra 租户)。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScope
TargetUserScopeId 可选 字符串 在其中定义了 TargetUserIdTargetUsername 的范围 ID(例如 Microsoft Entra 目录 ID)。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScopeId
TargetUserIdType 条件逻辑 UserIdType TargetUserId 字段中存储的用户 ID 的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserIdType

示例: SID
TargetUsername 可选 用户名 目标用户的用户名,包括域信息(如果可用)。 有关详细信息,请参阅用户实体

示例: MarieC
TargetUsernameType 条件逻辑 UsernameType 指定 TargetUsername 字段中存储的用户名的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UsernameType
TargetUserType 可选 UserType 目标用户的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserType

例如:Member
TargetSessionId 可选 字符串 源设备上 TargetUser 的登录会话标识符。
TargetOriginalUserType 可选 UserType 报告设备报告的用户类型。
用户 Alias 用户名 TargetUsernameTargetUserId 的别名(如果未定义 TargetUsername)。

示例: CONTOSO\dadmin

源系统字段

字段 类型 说明
Src 建议 字符串 目标设备的唯一标识符。

此字段又可称为 SrcDvcIdSrcHostnameSrcIpAddr 字段。

示例:192.168.12.1
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
SrcHostname 建议 主机名 源设备主机名,不包括域信息。 如果没有可用的设备名称,请在此字段中存储相关的 IP 地址。

示例: DESKTOP-1282V4D
SrcDomain 建议 字符串 源设备的域。

示例: Contoso
SrcDomainType 条件逻辑 DomainType SrcDomain 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DomainType

如果使用了 SrcDomain,则该字段是必填的。
SrcFQDN 可选 String 源设备主机名,包括域信息(如果可用)。

注意:此字段支持传统的 FQDN 格式和 Windows 域\主机名格式。 SrcDomainType 字段反映使用的格式。

示例: Contoso\DESKTOP-1282V4D
SrcDescription 可选 字符串 与设备关联的描述性文本。 例如:Primary Domain Controller
SrcIpAddr 可选 IP 地址 源设备的 IP 地址。

示例:2.2.2.2
SrcPortNumber 可选 整数 从中发起了连接的 IP 端口。

示例: 2335
SrcDvcOs 可选 字符串 源设备的 OS。

示例:Windows 10
IpAddr Alias SrcIpAddr 的别名
SrcIsp 可选 字符串 源设备用于连接到 Internet 的 Internet 服务提供商 (ISP)。

示例: corpconnect
SrcGeoCountry 可选 国家/地区 示例: Canada

有关详细信息,请参阅逻辑类型
SrcGeoCity 可选 城市 示例: Montreal

有关详细信息,请参阅逻辑类型
SrcGeoRegion 可选 区域 示例: Quebec

有关详细信息,请参阅逻辑类型
SrcGeoLongtitude 可选 经度 示例: -73.614830

有关详细信息,请参阅逻辑类型
SrcGeoLatitude 可选 纬度 示例: 45.505918

有关详细信息,请参阅逻辑类型
SrcRiskLevel 可选 整数 与源关联的风险级别。 该值应调整为 0100 的范围,其中 0 表示良性,100 表示高风险。

示例: 90
SrcOriginalRiskLevel 可选 整数 与源关联的风险级别,由报告设备报告。

示例: Suspicious

目标应用程序字段

字段 类型 说明
TargetAppId 可选 字符串 需要授权的应用程序的 ID,该 ID 通常由报告设备分配。

示例: 89162
TargetAppName 可选 字符串 需要授权的应用程序的名称,包括服务、URL 或 SaaS 应用程序。

示例: Saleforce
TargetAppType 可选 AppType 代表参与者授权的应用程序的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 AppType
TargetUrl 可选 URL 与目标应用程序相关联的 URL。
LogonTarget Alias TargetAppNameTargetUrlTargetHostname 的别名,以最能描述身份验证目标的字段为准。

目标系统字段

字段 类型 说明
Dst Alias 字符串 身份验证目标的唯一标识符。

此字段可以是 TargerDvcIdTargetHostnameTargetIpAddrTargetAppIdTargetAppName 字段的别名。

示例: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。
TargerDvcScope 可选 String 设备所属的云平台范围。 TargetDvcScope 映射到 Azure 上的订阅 ID。
TargetDvcIdType 条件逻辑 Enumerated TargetDvcId 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DvcIdType

如果使用了 TargetDeviceId,则该字段是必填的。
TargetDeviceType 可选 Enumerated 目标设备的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DeviceType
TargetIpAddr 可选 IP 地址 目标设备的 IP 地址。

示例: 2.2.2.2
TargetDvcOs 可选 字符串 目标设备的 OS。

示例: Windows 10
TargetPortNumber 可选 整数 目标设备的端口。
TargetGeoCountry 可选 国家/地区 与目标 IP 地址关联的国家/地区。
TargetGeoRegion 可选 区域 与目标 IP 地址关联的地区。
TargetGeoCity 可选 城市 与目标 IP 地址关联的城市。
TargetGeoLatitude 可选 纬度 与目标 IP 地址关联的地理坐标的纬度。

示例:44.475833
TargetGeoLongitude 可选 经度 与目标 IP 地址关联的地理坐标的经度。

示例: 73.211944
TargetRiskLevel 可选 整数 与目标关联的风险级别。 该值应调整为 0100 的范围,其中 0 表示良性,100 表示高风险。

示例: 90
TargetOriginalRiskLevel 可选 整数 与目标关联的风险级别,由报告设备报告。

示例:Suspicious

检查字段

以下字段用于表示由安全系统执行的检查。

字段 类型 说明
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 已识别出威胁的字段。 该值为 SrcIpAddrTargetIpAddr

架构更新

下面是架构版本 0.1.1 中的更改:

  • 更新了用户和设备实体字段,使其与其他架构相符。
  • TargetDvcSrcDvc 分别重命名为 TargetSrc,使其与当前 ASIM 准则相符。 重命名的字段将作为别名实现,一直到 2022 年 7 月 1 日。 这些字段包括:SrcDvcHostnameSrcDvcHostnameTypeSrcDvcTypeSrcDvcIpAddrTargetDvcHostnameTargetDvcHostnameTypeTargetDvcTypeTargetDvcIpAddrTargetDvc
  • 添加了别名 SrcDst
  • 添加了字段 SrcDvcIdTypeSrcDeviceTypeTargetDvcIdTypeTargetDeviceTypeEventSchema

下面是架构版本 0.1.2 中的更改:

  • 添加了字段 ActorScopeTargetUserScopeSrcDvcScopeIdSrcDvcScopeTargetDvcScopeIdTargetDvcScopeDvcScopeIdDvcScope

下面是架构版本 0.1.3 中的更改:

  • 添加了字段 SrcPortNumberActorOriginalUserTypeActorScopeIdTargetOriginalUserTypeTargetUserScopeIdSrcDescriptionSrcRiskLevelSrcOriginalRiskLevelTargetDescription
  • 添加了检查字段
  • 添加了目标系统地理位置字段。

后续步骤

有关详细信息,请参阅: