高级安全信息模型 (ASIM) 注册表事件规范化架构参考(公共预览版)
注册表事件架构用于描述创建、修改或删除 Windows 注册表实体的 Windows 活动。
注册表事件特定于 Windows 系统,但由监视 Windows 的不同系统报告,例如 EDR(终结点检测和响应)系统、Sysmon 或 Windows 本身。
有关 Microsoft Sentinel 中规范化的详细信息,请参阅规范化和高级安全信息模型 (ASIM)。
重要
注册表事件规范化架构目前为预览版。 此功能不附带服务级别协议,不建议将其用于生产工作负荷。
Azure 预览版补充条款包含适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的其他法律条款。
分析器
若要使用统一了所有内置分析器的统一分析程序,并确保针对所有配置的源中运行分析,请在查询中使用“imRegistry”作为表名称。
有关 Microsoft Sentinel 直接提供的进程事件分析程序列表,请参考 ASIM 分析程序列表
从 Microsoft Sentinel GitHub 存储库部署统一分析称序和特定于源的分析程序。
有关详细信息,请参阅 ASIM 分析程序和使用 ASIM 分析程序。
添加自己的规范化分析器
为注册表事件信息模型实现自定义分析器时,请使用以下语法来命名 KQL 函数:imRegistry<vendor><Product>
。
将 KQL 函数添加到统一分析程序 imRegistry
,以确保使用注册表事件模型的任何内容也使用你的新分析器。
规范化内容
Microsoft Sentinel 提供了名为通过 IFEO 注册表项持久化的搜寻查询。 此查询适用于使用高级安全信息模型规范化的任何注册表活动数据。
有关详细信息,请参阅通过 Microsoft Sentinel 搜寻威胁。
架构详细信息
注册表事件信息模型与 OSSEM 注册表实体架构保持一致。
通用 ASIM 字段
重要
ASIM 通用字段一文详细介绍了所有架构的通用字段。
符合特定准则的通用字段
以下列表提及了符合进程活动事件特定准则的字段:
字段 | 类 | 类型 | 说明 |
---|---|---|---|
EventType | 必需 | Enumerated | 描述记录报告的操作。 对于注册表记录,支持的值包括: - RegistryKeyCreated - RegistryKeyDeleted - RegistryKeyRenamed - RegistryValueDeleted - RegistryValueSet |
EventSchemaVersion | 必需 | 字符串 | 架构的版本。 此处记录的架构版本为 0.1.2 |
EventSchema | 可选 | 字符串 | 此处所述的架构名称为 RegistryEvent 。 |
Dvc 字段 | 对于注册表活动事件,设备字段指的是发生注册表活动的系统。 |
重要
EventSchema
字段目前为可选项,但将于 2022 年 9 月 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 |
特定于注册表事件的字段
下表中列出的字段特定于注册表事件,但类似于其他架构中的字段,并遵循类似的命名约定。
有关详细信息,请参阅 Windows 文档中的注册表结构。
字段 | 类 | 类型 | 说明 |
---|---|---|---|
RegistryKey | 必需 | 字符串 | 与操作关联的注册表项,规范化为标准根密钥命名约定。 有关详细信息,请参阅根密钥。 注册表项类似于文件系统中的文件夹。 例如: HKEY_LOCAL_MACHINE\SOFTWARE\MTG |
RegistryValue | 建议 | 字符串 | 与操作关联的注册表值。 注册表值类似于文件系统中的文件。 例如: Path |
RegistryValueType | 建议 | 字符串 | 注册表值的类型,规范化为标准格式。 有关更多信息,请参阅值类型。 例如: Reg_Expand_Sz |
RegistryValueData | 建议 | 字符串 | 存储在注册表值中的数据。 示例: C:\Windows\system32;C:\Windows; |
RegistryPreviousKey | 建议 | 字符串 | 对于修改注册表的操作,原始注册表项规范化为标准根项命名。 有关详细信息,请参阅根密钥。 注意:如果操作更改了其他字段(例如值),但项保持不变,则 RegistryPreviousKey 将具有与 RegistryKey 相同的值。 示例: HKEY_LOCAL_MACHINE\SOFTWARE\MTG |
RegistryPreviousValue | 建议 | 字符串 | 对于修改注册表的操作,原始值类型规范化为标准格式。 有关更多信息,请参阅值类型。 如果类型未更改,则此字段具有与 RegistryValueType 字段相同的值。 示例: Path |
RegistryPreviousValueType | 建议 | 字符串 | 用于修改注册表的操作,为原始值类型。 如果类型未更改,则此字段将具有与 RegistryValueType 字段相同的值,规范化为标准格式。 有关更多信息,请参阅值类型。 示例: Reg_Expand_Sz |
RegistryPreviousValueData | 建议 | 字符串 | 原始注册表数据,用于修改注册表的操作。 示例: C:\Windows\system32;C:\Windows; |
用户 | Alias | ActorUsername 字段的别名。 示例: CONTOSO\ dadmin |
|
处理 | Alias | ActingProcessName 字段的别名。 示例: C:\Windows\System32\rundll32.exe |
|
ActorUsername | 必需 | 字符串 | 发起事件的用户的用户名。 示例: CONTOSO\WIN-GG82ULGC9GO$ |
ActorUsernameType | 条件逻辑 | Enumerated | 指定 ActorUsername 字段中存储的用户名的类型。 有关详细信息,请参阅用户实体。 示例: Windows |
ActorUserId | 建议 | 字符串 | Actor 的唯一 ID。 具体的 ID 取决于生成事件的系统。 有关详细信息,请参阅用户实体。 示例: S-1-5-18 |
ActorScope | 可选 | 字符串 | 在其中定义了 ActorUserId 和 ActorUsername 的范围(例如 Microsoft Entra 租户)。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScope。 |
ActorUserIdType | 建议 | 字符串 | ActorUserId 字段中存储的 ID 的类型。 有关详细信息,请参阅用户实体。 示例: SID |
“ActorSessionId” | 条件逻辑 | 字符串 | Actor 登录会话的唯一 ID。 示例: 999 注意:类型定义为字符串以支持不同的系统,但在 Windows 上,此值必须是数字。 如果你使用的是 Windows 计算机并且源发送其他类型,请务必转换值。 例如,如果源发送的是十六进制值,请将其转换为十进制值。 |
ActingProcessName | 可选 | 字符串 | 操作进程映像文件的文件名。 此名称通常被视为进程名称。 示例: C:\Windows\explorer.exe |
ActingProcessId | 必需 | 字符串 | 操作进程的进程 ID (PID)。 示例: 48610176 注意:类型定义为“字符串”以支持不同的系统,但在 Windows 和 Linux 上,此值必须是数字。 如果使用的是 Windows 或 Linux 计算机并使用了其他类型,请务必转换值。 例如,如果使用了十六进制值,请将其转换为十进制值。 |
“ActingProcessGuid” | 可选 | 字符串 | 为操作进程生成的唯一标识符 (GUID)。 示例: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
ParentProcessName | 可选 | 字符串 | 父进程映像文件的文件名。 此值通常被视为进程名称。 示例: C:\Windows\explorer.exe |
ParentProcessId | 必需 | 字符串 | 父进程的进程 ID (PID)。 示例: 48610176 |
“ParentProcessGuid” | 可选 | 字符串 | 父进程的生成的唯一标识符 (GUID)。 示例: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
根项
不同的源使用不同的表示形式表示注册表项前缀。 对于 RegistryKey 和 RegistryPreviousKey 字段,请使用以下规范化前缀:
规范化密钥前缀 | 其他常见表示形式 |
---|---|
HKEY_LOCAL_MACHINE | HKLM 、\REGISTRY\MACHINE |
HKEY_USERS | HKU 、\REGISTRY\USER |
值类型
不同的源使用不同的表示形式表示注册表值类型。 对于 RegistryValueType 和 RegistryPreviousValueType 字段,请使用以下规范化类型:
规范化密钥前缀 | 其他常见表示形式 |
---|---|
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 中的更改:
- 添加了字段
ActorScope
、DvcScopeId
和DvcScope
。
后续步骤
有关详细信息,请参阅: