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

高级安全信息模型 (ASIM) 注册表事件规范化架构参考

注册表事件架构用于描述创建、修改或删除 Windows 注册表实体的 Windows 活动。

注册表事件特定于 Windows 系统,但由监视 Windows 的不同系统报告,例如 EDR (终结点检测和响应) 系统、Sysmon 或 Windows 本身。

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

解析 器

若要使用统一所有内置分析器的统一分析程序,并确保分析跨所有配置的源运行,请在查询中使用 imRegistry 作为表名。

有关进程事件分析程序的列表,Microsoft Sentinel提供现成的,请参阅 ASIM 分析程序列表

Microsoft Sentinel GitHub 存储库部署统一的和特定于源的分析程序

有关详细信息,请参阅 ASIM 分析程序和使用 ASIM 分析程序

添加自己的规范化分析程序

为注册表事件信息模型实现自定义分析程序时,使用以下语法命名 KQL 函数: imRegistry<vendor><Product>

将 KQL 函数添加到 imRegistry 统一分析器,以确保使用注册表事件模型的任何内容也使用新的分析程序。

筛选分析程序参数

注册表事件分析程序支持 筛选参数。 虽然这些参数是可选的,但它们可以提高查询性能。

以下筛选参数可用:

名称 类型 说明
starttime datetime 仅筛选在此时间或之后发生的注册表事件。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。
endtime datetime 仅筛选在此时间或之前发生的注册表事件。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。
eventtype_in 动态 仅筛选事件类型为所列值之一的注册表事件,包括、RegistryKeyCreatedRegistryKeyDeletedRegistryKeyRenamedRegistryValueDeletedRegistryValueSet
actorusername_has_any 动态 仅筛选参与者用户名具有任何所列值的注册表事件。
registrykey_has_any 动态 仅筛选注册表项具有任何所列值的注册表事件。
registryvalue_has_any 动态 仅筛选注册表值具有任何所列值的注册表事件。
registrydata_has_any 动态 仅筛选注册表数据具有任何所列值的注册表事件。
dvchostname_has_any 动态 仅筛选设备主机名具有任何所列值的注册表事件。

例如,若要仅筛选过去一天的注册表项创建事件,请使用:

_Im_RegistryEvent (eventtype_in=dynamic(['RegistryKeyCreated']), starttime = ago(1d), endtime=now())

规范化内容

Microsoft Sentinel提供持久化通过 IFEO 注册表项搜寻查询。 此查询适用于使用高级安全信息模型规范化的任何注册表活动数据。

有关详细信息,请参阅使用Microsoft Sentinel搜寻威胁

架构详细信息

注册表事件信息模型与 OSSEM 注册表实体架构保持一致。

常见 ASIM 字段

重要

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

具有特定准则的通用字段

以下列表提到了具有处理活动事件特定准则的字段:

字段 类型 说明
EventType 强制 枚举 描述记录报告的操作。

对于注册表记录,支持的值包括:
- RegistryKeyCreated
- RegistryKeyDeleted
- RegistryKeyRenamed
- RegistryValueDeleted
- RegistryValueSet
EventSchemaVersion 强制 SchemaVersion (String) 架构的版本。 此处记录的架构版本为 0.1.3
EventSchema 强制 String 此处记录的架构的名称为 RegistryEvent
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

注册表事件特定字段

下表中列出的字段特定于注册表事件,但与其他架构中的字段类似,并遵循类似的命名约定。

有关详细信息,请参阅 Windows 中 注册表的结构 文档。

字段 类型 说明
RegistryKey 强制 String 与操作关联的注册表项,规范化为标准根密钥命名约定。 有关详细信息,请参阅 根密钥

注册表项类似于文件系统中的文件夹。

例如:HKEY_LOCAL_MACHINE\SOFTWARE\MTG
RegistryValue 建议 String 与操作关联的注册表值。 注册表值类似于文件系统中的文件。

例如:Path
RegistryValueType 建议 String 注册表值的类型,规范化为标准格式。 有关详细信息,请参阅 值类型

例如:Reg_Expand_Sz
RegistryValueData 建议 String 存储在注册表值中的数据。

例如:C:\Windows\system32;C:\Windows;
RegistryPreviousKey 建议 String 对于修改注册表的操作,原始注册表项规范化为标准根键命名。 有关详细信息,请参阅 根密钥

注意:如果操作更改了其他字段(如 值),但键保持不变, 则 RegistryPreviousKey 将具有与 RegistryKey 相同的值。

例如:HKEY_LOCAL_MACHINE\SOFTWARE\MTG
RegistryPreviousValue 建议 String 对于修改注册表的操作,原始值类型规范化为标准格式。 有关详细信息,请参阅 值类型

如果未更改类型,则此字段的值与 RegistryValueType 字段相同。

例如:Path
RegistryPreviousValueType 建议 String 对于修改注册表的操作,请使用原始值类型。

如果未更改类型,此字段将具有与 RegistryValueType 字段相同的值,规范化为标准窗体。 有关详细信息,请参阅 值类型

例如:Reg_Expand_Sz
RegistryPreviousValueData 建议 String 原始注册表数据,用于修改注册表的操作。

例如:C:\Windows\system32;C:\Windows;
用户 别名 ActorUsername 字段的别名。

例如:CONTOSO\ dadmin
进程 别名 ActingProcessName 字段的别名。

例如:C:\Windows\System32\rundll32.exe
ActorUsername 强制 用户名 (字符串) 发起事件的用户的用户名。

例如:CONTOSO\WIN-GG82ULGC9GO$
ActorUsernameType 条件 枚举 指定 存储在 ActorUsername 字段中的用户名的类型。 有关详细信息,请参阅 用户实体

例如:Windows
ActorUserId 建议 String 执行组件的唯一 ID。 特定 ID 取决于生成事件的系统。 有关详细信息,请参阅 用户实体

例如:S-1-5-18
ActorScope 可选 String 定义 ActorUserIdActorUsername 的范围,例如Microsoft Entra租户。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScope
ActorUserIdType 条件 枚举 存储在 ActorUserId 字段中的 ID 的类型。 有关详细信息,请参阅 用户实体

例如:SID
ActorSessionId 可选 String 执行组件登录会话的唯一 ID。

例如:999

注意:类型定义为 字符串 以支持不同的系统,但在 Windows 上,此值必须是数值。 如果使用的是 Windows 计算机,并且源发送了其他类型,请确保转换值。 例如,如果 source 发送十六进制值,请将其转换为十进制值。
ActingProcessName 可选 String 执行进程图像文件的文件名。 此名称通常被视为进程名称。

例如:C:\Windows\explorer.exe
ActingProcessId 强制 String 进程 ID (执行进程的 PID) 。

例如:48610176

注意:类型定义为字符串以支持不同的系统,但在 Windows 和 Linux此值必须是数值。

如果你使用的是 Windows 或 Linux 计算机,并且使用了其他类型,请确保转换值。 例如,如果使用了十六进制值,请将其转换为十进制值。
ActingProcessGuid 可选 GUID (字符串) 生成的唯一标识符 (操作过程的 GUID) 。

例如:EF3BD0BD-2B74-60C5-AF5C-010000001E00
ParentProcessName 可选 String 父进程映像文件的文件名。 此值通常被视为进程名称。

例如:C:\Windows\explorer.exe
ParentProcessId 强制 String 进程 ID (父进程的 PID) 。

例如:48610176
ParentProcessGuid 可选 String 生成的唯一标识符 (父进程的 GUID) 。

例如:EF3BD0BD-2B74-60C5-AF5C-010000001E00

检查字段

以下字段用于表示安全系统(如 EDR 系统)执行的检查。

字段 类型 说明
RuleName 可选 String 与检查结果关联的规则的名称或 ID。
RuleNumber 可选 整数 与检查结果关联的规则编号。
Rule 条件 String kRuleName 的值或 RuleNumber 的值。 如果使用 RuleNumber 的值,则类型应转换为字符串。
ThreatId 可选 String 文件活动中标识的威胁或恶意软件的 ID。
ThreatName 可选 String 文件活动中标识的威胁或恶意软件的名称。

例如:EICAR Test File
ThreatCategory 可选 String 文件活动中标识的威胁或恶意软件的类别。

例如:Trojan
ThreatRiskLevel 可选 RiskLevel (整数) 与标识的威胁关联的风险级别。 级别应为 介于 0100 之间的数字。

注意:可以使用其他比例在源记录中提供该值,应将其规范化为此比例。 原始值应存储在 ThreatOriginalRiskLevel 中
ThreatOriginalRiskLevel 可选 String 报告设备报告的风险级别。
ThreatField 可选 String 已识别威胁的字段。
ThreatConfidence 可选 ConfidenceLevel (Integer) 所识别的威胁的置信度,规范化为介于 0 和 100 之间的值。
ThreatOriginalConfidence 可选 String 已识别的威胁的原始置信度,由报告设备报告。
ThreatIsActive 可选 布尔值 如果确定的威胁被视为活动威胁,则为 True。
ThreatFirstReportedTime 可选 datetime 首次将 IP 地址或域标识为威胁。
ThreatLastReportedTime 可选 datetime 上次将 IP 地址或域标识为威胁的时间。

根键

不同的源使用不同的表示形式表示注册表项前缀。 对于 RegistryKeyRegistryPreviousKey 字段,请使用以下规范化前缀:

规范化键前缀 其他常见表示形式
HKEY_LOCAL_MACHINE HKLM, \REGISTRY\MACHINE
HKEY_USERS HKU, \REGISTRY\USER

值类型

不同的源使用不同的表示形式表示注册表值类型。 对于 RegistryValueTypeRegistryPreviousValueType 字段,请使用以下规范化类型:

规范化键前缀 其他常见表示形式
Reg_None None, %%1872
Reg_Sz String, %%1873
Reg_Expand_Sz ExpandString, %%1874
Reg_Binary Binary, %%1875
Reg_DWord Dword, %%1876
Reg_Multi_Sz MultiString, %%1879
Reg_QWord Qword, %%1883

架构更新

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

  • 添加了字段 EventSchema

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

  • 添加了字段 ActorScopeDvcScopeIdDvcScope

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

  • 添加了检查字段。

后续步骤

有关更多信息,请参阅: