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

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

进程事件规范化架构用于描述运行和终止进程的操作系统活动。 此类事件由操作系统和安全系统(例如 EDR (终结点检测和响应) 系统)报告。

OSSEM 定义的进程是表示程序正在运行的实例的包含和管理对象。 虽然进程本身不运行,但它们会管理运行和执行代码的线程。

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

解析 器

若要使用统一所有列出的分析程序并确保跨所有配置的源进行分析的统一分析程序,请在查询中使用下表名称:

  • imProcess 创建 需要进程创建信息的查询。 这些查询是最常见的情况。
  • imProcessTerminate 用于需要进程终止信息的查询。

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

Microsoft Sentinel GitHub 存储库部署身份验证分析程序。

有关详细信息,请参阅 ASIM 分析程序概述

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

实现自定义进程事件分析程序时,使用以下语法命名 KQL 函数: imProcessCreate<vendor><Product>imProcessTerminate<vendor><Product>ASim将 替换为im无参数版本。

按照管理 ASIM 分析程序中所述,将 KQL 函数添加到统 一分析程序

筛选分析程序参数

imvim* 分析程序支持筛选参数。 虽然这些分析器是可选的,但它们可以提高查询性能。

以下筛选参数可用:

名称 类型 说明
starttime datetime 仅筛选在此时间或之后发生的进程事件。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。
endtime datetime 筛选仅处理在此时间或之前发生的事件查询。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。
commandline_has_any 动态 仅筛选为其执行的命令行具有 任何 列出的值的进程事件。 列表的长度限制为 10,000 个项目。
commandline_has_all 动态 仅筛选为其执行的命令行具有 所有 列出的值的进程事件。 列表的长度限制为 10,000 个项目。
commandline_has_any_ip_prefix 动态 仅筛选执行其命令行具有 所有 列出的 IP 地址或 IP 地址前缀的进程事件。 前缀应以 .结尾,例如: 10.0.。 列表的长度限制为 10,000 个项目。
actingprocess_has_any 动态 仅筛选其操作进程名称(包括整个进程路径)具有任何列出的值的进程事件。 列表的长度限制为 10,000 个项目。
targetprocess_has_any 动态 仅筛选目标进程名称(包括整个进程路径)具有任何所列值的进程事件。 列表的长度限制为 10,000 个项目。
parentprocess_has_any 动态 仅筛选目标进程名称(包括整个进程路径)具有任何所列值的进程事件。 列表的长度限制为 10,000 个项目。
targetusername_hasactorusername_has string 仅筛选进程目标用户名 (的进程创建事件) ,或进程终止事件 (执行组件用户名) 具有任何列出的值。 列表的长度限制为 10,000 个项目。
dvcipaddr_has_any_prefix 动态 筛选仅处理设备 IP 地址与列出的任何 IP 地址或 IP 地址前缀匹配的事件。 前缀应以 .结尾,例如: 10.0.。 列表的长度限制为 10,000 个项目。
dvchostname_has_any 动态 仅筛选其设备主机名或设备 FQDN 具有任何所列值的进程事件。 列表的长度限制为 10,000 个项目。
eventtype string 仅筛选指定类型的进程事件。

例如,若要仅筛选从最后一天到特定用户的身份验证事件,请使用:

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

提示

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

规范化内容

有关使用规范化进程事件的分析规则的完整列表,请参阅 进程事件安全内容

架构详细信息

进程事件信息模型与 OSSEM 进程实体架构保持一致。

常见 ASIM 字段

重要

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

具有特定准则的通用字段

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

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

对于进程记录,支持的值包括:
- ProcessCreated
- ProcessTerminated
EventSchemaVersion 强制 SchemaVersion (String) 架构的版本。 此处记录的架构版本为 0.1.4
EventSchema 强制 String 此处记录的架构的名称为 ProcessEvent
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

处理特定于事件的字段

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

进程事件架构引用以下实体,这些实体是进程创建和终止活动的核心:

  • 参与者 - 启动进程创建或终止的用户。
  • ActingProcess - 执行组件用于启动进程创建或终止的进程。
  • TargetProcess - 新进程。
  • TargetUser - 其凭据用于创建新进程的用户。
  • ParentProcess - 启动执行组件进程的进程。

别名

字段 类型 说明
用户 别名 TargetUsername 的别名。

例如:CONTOSO\dadmin
进程 别名 TargetProcessName 的别名

例如:C:\Windows\System32\rundll32.exe
CommandLine 别名 TargetProcessCommandLine 的别名
散 列 别名 目标进程的最佳可用哈希的别名。

执行组件字段

字段 类型 说明
ActorUserId 建议 String Actor 的计算机可读字母数字唯一表示形式。 有关不同 ID 类型支持的格式,请参阅 User 实体

例如:S-1-12
ActorUserIdType 条件 枚举 存储在 ActorUserId 字段中的 ID 的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 UserIdType
ActorScope 可选 String 定义 ActorUserIdActorUsername 的范围,例如Microsoft Entra租户。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScope
ActorScopeId 可选 String 范围 ID,例如Microsoft Entra目录 ID,其中定义了 ActorUserIdActorUsername。 或者,有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScopeId
ActorUsername 强制 用户名 (字符串) 执行组件用户名,包括域信息(如果可用)。 有关不同 ID 类型支持的格式,请参阅 User 实体。 仅当域信息不可用时,才使用简单表单。

将“用户名”类型存储在 ActorUsernameType 字段中。 如果其他用户名格式可用,请将它们存储在 字段中 ActorUsername<UsernameType>

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

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

例如:999

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

如果你使用的是 Windows 计算机并使用了其他类型,请确保转换值。 例如,如果使用了十六进制值,请将其转换为十进制值。
ActorUserType 可选 UserType Actor 的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 UserType

注意:可以使用不同的术语在源记录中提供该值,这些术语应规范化为这些值。 将原始值存储在 ActorOriginalUserType 字段中。
ActorOriginalUserType 可选 String 原始目标用户类型(如果由报告设备提供)。

代理进程字段

字段 类型 说明
ActingProcessCommandLine 可选 String 用于运行执行进程的命令行。

例如:"choco.exe" -v
ActingProcessName 可选 string 执行进程的名称。 此名称通常派生自用于定义映射到进程的虚拟地址空间的初始代码和数据的图像或可执行文件。

例如:C:\Windows\explorer.exe
ActingProcessFilename 可选 String 的文件名部分, ActingProcessName不包含文件夹信息。

例如:explorer.exe
ActingProcessFileCompany 可选 String 创建表演流程图像文件的公司。

例如:Microsoft
ActingProcessFileDescription 可选 String 操作进程映像文件的版本信息中嵌入的说明。

例如:Notepad++ : a free (GPL) source code editor
ActingProcessFileProduct 可选 String 操作进程映像文件中版本信息中的产品名称。

例如:Notepad++
ActingProcessFileVersion 可选 String 操作进程映像文件的版本信息中的产品版本。

例如:7.9.5.0
ActingProcessFileInternalName 可选 String 操作进程映像文件的版本信息中的产品内部文件名。
ActingProcessFileOriginalName 可选 String 来自执行进程映像文件的版本信息的产品原始文件名。

例如:Notepad++.exe
ActingProcessIsHidden 可选 布尔值 指示执行进程是否处于隐藏模式。
ActingProcessInjectedAddress 可选 String 存储负责操作进程的内存地址。
ActingProcessId 强制 String 进程 ID (执行进程的 PID) 。

例如:48610176

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

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

例如:EF3BD0BD-2B74-60C5-AF5C-010000001E00
ActingProcessIntegrityLevel 可选 String 每个进程都有一个在其令牌中表示的完整性级别。 完整性级别确定保护或访问的进程级别。

Windows 定义了以下完整性级别: 系统。 Standard用户接收中等完整性级别,提升的用户会收到完整性级别。

有关详细信息,请参阅 强制完整性控制 - Win32 应用
ActingProcessMD5 可选 String 执行进程映像文件的 MD5 哈希。

例如:75a599802f1fa166cdadb360960b1dd0
ActingProcessSHA1 可选 SHA1 操作进程图像文件的 SHA-1 哈希。

例如:d55c5a4df19b46db8c54c801c4665d3338acdab0
ActingProcessSHA256 可选 SHA256 操作进程图像文件的 SHA-256 哈希。

示例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ActingProcessSHA512 可选 SHA512 操作进程图像文件的 SHA-512 哈希。
ActingProcessIMPHASH 可选 String 操作进程使用的所有库 DLL 的导入哈希。
ActingProcessCreationTime 可选 日期时间 开始执行过程的日期和时间。
ActingProcessTokenElevation 可选 String 一个标记,指示是否存在用户访问控制 (UAC) 应用于操作进程的特权提升。

例如:None
ActingProcessFileSize 可选 长型 运行执行进程的文件的大小。

父进程字段

字段 类型 说明
ParentProcessName 可选 string 父进程的名称。 此名称通常派生自用于定义映射到进程的虚拟地址空间的初始代码和数据的图像或可执行文件。

例如:C:\Windows\explorer.exe
ParentProcessFileCompany 可选 String 创建父进程映像文件的公司的名称。

例如:Microsoft
ParentProcessFileDescription 可选 String 父进程映像文件中的版本信息中的说明。

例如:Notepad++ : a free (GPL) source code editor
ParentProcessFileProduct 可选 String 父进程映像文件中版本信息中的产品名称。

例如:Notepad++
ParentProcessFileVersion 可选 String 父进程映像文件中的版本信息中的产品版本。

例如:7.9.5.0
ParentProcessIsHidden 可选 布尔值 指示父进程是否处于隐藏模式。
ParentProcessInjectedAddress 可选 String 存储负责父进程的内存地址。
ParentProcessId 建议 String 进程 ID (父进程的 PID) 。

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

例如:EF3BD0BD-2B74-60C5-AF5C-010000001E00
ParentProcessIntegrityLevel 可选 String 每个进程都有一个在其令牌中表示的完整性级别。 完整性级别确定保护或访问的进程级别。

Windows 定义了以下完整性级别: 系统。 Standard用户接收中等完整性级别,提升的用户会收到完整性级别。

有关详细信息,请参阅 强制完整性控制 - Win32 应用
ParentProcessMD5 可选 MD5 父进程映像文件的 MD5 哈希。

例如:75a599802f1fa166cdadb360960b1dd0
ParentProcessSHA1 可选 SHA1 父进程映像文件的 SHA-1 哈希。

例如:d55c5a4df19b46db8c54c801c4665d3338acdab0
ParentProcessSHA256 可选 SHA256 父进程映像文件的 SHA-256 哈希。

示例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ParentProcessSHA512 可选 SHA512 父进程映像文件的 SHA-512 哈希。
ParentProcessIMPHASH 可选 String 父进程使用的所有库 DLL 的导入哈希。
ParentProcessTokenElevation 可选 String 一个标记,指示是否存在用户访问控制 (UAC) 应用于父进程的特权提升。

例如:None
ParentProcessCreationTime 可选 日期时间 启动父进程的日期和时间。

目标用户字段

字段 类型 说明
TargetUsername 对于进程创建事件是必需的。 用户名 (字符串) 目标用户名,包括域信息(如果有)。 有关不同 ID 类型支持的格式,请参阅 User 实体。 仅当域信息不可用时,才使用简单表单。

将“用户名”类型存储在 TargetUsernameType 字段中。 如果其他用户名格式可用,请将它们存储在 字段中 TargetUsername<UsernameType>

例如:AlbertE
TargetUsernameType 条件 枚举 指定存储在 TargetUsername 字段中的用户名的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 UsernameType

例如:Windows
TargetUserId 建议 String 目标用户的计算机可读字母数字唯一表示形式。 有关不同 ID 类型支持的格式,请参阅 User 实体

例如:S-1-12
TargetUserIdType 条件 UserIdType 存储在 TargetUserId 字段中的 ID 的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 UserIdType
TargetUserSessionId 可选 String 目标用户的登录会话的唯一 ID。

例如:999

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

如果你使用的是 Windows 或 Linux 计算机,并且使用了其他类型,请确保转换值。 例如,如果使用了十六进制值,请将其转换为十进制值。
TargetUserSessionGuid 可选 String 报告设备报告的目标用户的登录会话的唯一 GUID。

例如:{12345678-1234-1234-1234-123456789012}
TargetUserType 可选 UserType Actor 的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 UserType

注意:可以使用不同的术语在源记录中提供该值,这些术语应规范化为这些值。 将原始值存储在 TargetOriginalUserType 字段中。
TargetOriginalUserType 可选 String 原始目标用户类型(如果由报告设备提供)。
TargetUserScope 可选 String 定义 TargetUserIdTargetUsername 的范围,例如Microsoft Entra租户。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScope
TargetUserScopeId 可选 String 范围 ID,如 Microsoft Entra 目录 ID,其中定义了 TargetUserIdTargetUsername。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScopeId

目标进程字段

字段 类型 说明
TargetProcessName 强制 string 目标进程的名称。 此名称通常派生自用于定义映射到进程的虚拟地址空间的初始代码和数据的图像或可执行文件。

例如:C:\Windows\explorer.exe
TargetProcessFilename 可选 String 的文件名部分, TargetProcessName不包含文件夹信息。

例如:explorer.exe
TargetProcessFileCompany 可选 String 创建目标进程映像文件的公司的名称。

例如:Microsoft
TargetProcessFileDescription 可选 String 目标进程映像文件中的版本信息中的说明。

例如:Notepad++ : a free (GPL) source code editor
TargetProcessFileProduct 可选 String 目标进程映像文件中版本信息中的产品名称。

例如:Notepad++
TargetProcessFileSize 可选 长型 运行负责事件的进程的文件的大小。
TargetProcessFileVersion 可选 String 目标进程映像文件中的版本信息中的产品版本。

例如:7.9.5.0
TargetProcessFileInternalName 可选 String 目标进程的映像文件的版本信息中的产品内部文件名。
TargetProcessFileOriginalName 可选 String 目标进程的映像文件的版本信息中的产品原始文件名。
TargetProcessIsHidden 可选 布尔值 指示目标进程是否处于隐藏模式。
TargetProcessInjectedAddress 可选 String 存储负责目标进程的内存地址。
TargetProcessMD5 可选 MD5 目标进程映像文件的 MD5 哈希。

例如:75a599802f1fa166cdadb360960b1dd0
TargetProcessSHA1 可选 SHA1 目标进程映像文件的 SHA-1 哈希。

例如:d55c5a4df19b46db8c54c801c4665d3338acdab0
TargetProcessSHA256 可选 SHA256 目标进程映像文件的 SHA-256 哈希。

示例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
TargetProcessSHA512 可选 SHA512 目标进程映像文件的 SHA-512 哈希。
TargetProcessIMPHASH 可选 String 目标进程使用的所有库 DLL 的导入哈希。
HashType 条件 枚举 存储在 HASH 别名字段中的哈希类型,允许的值为 MD5SHASHA256SHA512IMPHASH
TargetProcessCommandLine 强制 String 用于运行目标进程的命令行。

例如:"choco.exe" -v
TargetProcessCurrentDirectory 可选 String 执行目标进程的当前目录。

例如:c:\windows\system32
TargetProcessCreationTime 建议 日期时间 目标进程映像文件的版本信息中的产品版本。
TargetProcessId 强制 String 进程 ID (目标进程的 PID) 。

例如:48610176

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

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

例如:EF3BD0BD-2B74-60C5-AF5C-010000001E00
TargetProcessIntegrityLevel 可选 String 每个进程都有一个在其令牌中表示的完整性级别。 完整性级别确定保护或访问的进程级别。

Windows 定义了以下完整性级别: 系统。 Standard用户接收中等完整性级别,提升的用户会收到完整性级别。

有关详细信息,请参阅 强制完整性控制 - Win32 应用
TargetProcessTokenElevation 可选 String 指示是否存在用户访问控制 (UAC 的令牌类型,) 特权提升应用于已创建或终止的进程。

例如:None
TargetProcessStatusCode 可选 String 终止时目标进程返回的退出代码。 此字段仅对进程终止事件有效。 为保持一致性,字段类型为字符串,即使操作系统提供的值是数值。

检查字段

以下字段用于表示安全系统(如 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 已识别威胁的字段。
ThreatField 可选 String 已识别威胁的字段。
ThreatConfidence 可选 ConfidenceLevel (Integer) 所识别的威胁的置信度,规范化为介于 0 和 100 之间的值。
ThreatOriginalConfidence 可选 String 已识别的威胁的原始置信度,由报告设备报告。
ThreatIsActive 可选 布尔值 如果确定的威胁被视为活动威胁,则为 True。
ThreatFirstReportedTime 可选 datetime 首次将 IP 地址或域标识为威胁。
ThreatLastReportedTime 可选 datetime 上次将 IP 地址或域标识为威胁的时间。

架构更新

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

  • 添加了字段 EventSchema

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

  • 添加了字段 ActorUserTypeActorOriginalUserTypeTargetUserTypeTargetOriginalUserTypeHashType

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

  • 将字段 ParentProcessIdTargetProcessCreationTime 从必需更改为建议。

以下是架构版本 0.1.4 中的更改

  • 添加了字段 ActorScopeDvcScopeIdDvcScope

后续步骤

有关更多信息,请参阅: