高级安全信息模型 (ASIM) 文件事件规范化架构参考(公共预览版)

文件事件规范化架构用于描述创建、修改或者删除文件或文档等文件活动。 此类事件由操作系统、文件存储系统(例如 Azure 文件存储)和文档管理系统(例如 Microsoft SharePoint)报告。

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

重要

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

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

分析器

部署和使用文件活动分析程序

Microsoft Sentinel GitHub 存储库部署 ASIM 文件活动分析程序。 若要跨所有文件活动源进行查询,请使用统一分析程序 imFileEvent 作为查询中的表名称。

有关使用 ASIM 分析程序的详细信息,请参阅 ASIM 分析程序概述。 有关 Microsoft Sentinel 直接提供的文件活动分析程序列表,请参考 ASIM 分析程序列表

添加自己的规范化分析器

为文件事件信息模型实现自定义分析器时,请使用以下语法来命名 KQL 函数:imFileEvent<vendor><Product

若要了解如何将自定义分析程序添加到文件活动统一分析程序,请参阅管理 ASIM 分析程序一文。

规范化内容

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

架构概述

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

文件事件架构引用以下对于文件活动极为重要的实体:

  • Actor。 启动文件活动的用户
  • ActingProcess。 由操作者 (Actor) 用来启动文件活动的进程
  • TargetFile。 对其执行了操作的文件
  • 源文件 (SrcFile)。 在执行操作之前存储文件信息。

下面最适当地演示了这些实体之间的关系:操作者使用操作进程执行文件操作,而操作进程将源文件修改为目标文件 。

例如:JohnDoe(操作者)使用 Windows File Explorer(操作进程)将 new.doc(源文件)重命名为 old.doc(目标文件) 。

架构详细信息

通用字段

重要

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

符合文件事件架构特定准则的字段

以下列表提及了符合文件活动事件特定准则的字段:

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

支持的值包括:

- FileAccessed
- FileCreated
- FileModified
- FileDeleted
- FileRenamed
- FileCopied
- FileMoved
- FolderCreated
- FolderDeleted
- FolderMoved
- FolderModified
- FileCreatedOrModified
EventSubType 可选 Enumerated 描述有关 EventType 中报告的操作的详细信息。 每个事件类型支持的值包括:
- FileCreated - UploadCheckin
- FileModified - Checkin
- FileCreatedOrModified - Checkin
- FileAccessed - DownloadPreviewCheckoutExtended
- FileDeleted - RecycledVersionsSite
EventSchema 必需 字符串 此处记录的架构名称为 FileEvent。
EventSchemaVersion 必需 字符串 架构的版本。 此处记录的架构版本为 0.2.1
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

目标文件字段

以下字段表示有关文件操作中目标文件的信息。 如果操作涉及单个文件,例如 FileCreate,则它由目标文件字段表示。

字段 类型 说明
TargetFileCreationTime 可选 日期/时间 创建目标文件的时间。
TargetFileDirectory 可选 字符串 目标文件所在的文件夹或位置。 此字段应类似于 TargetFilePath 字段,但不包含最后一个元素。

注意:如果此值已在日志源中提供,而不需要从完整路径中提取,则分析器可以提供此值。
TargetFileExtension 可选 字符串 目标文件扩展名。

注意:如果此值已在日志源中提供,而不需要从完整路径中提取,则分析器可以提供此值。
TargetFileMimeType 可选 Enumerated 目标文件的 Mime 或媒体类型。 IANA 媒体类型存储库中列出了允许的值。
TargetFileName 建议 字符串 目标文件的名称,不带路径或位置,但带有扩展名(如果相关)。 此字段应类似于 TargetFilePath 字段中的最后一个元素。
FileName Alias TargetFileName 字段的别名。
TargetFilePath 必需 字符串 目标文件的完整规范化路径,包括文件夹或位置、文件名和扩展名。 有关详细信息,请参阅路径结构

注意:如果记录中不包含文件夹或位置信息,则仅在此处存储文件名。

示例: C:\Windows\System32\notepad.exe
TargetFilePathType 必需 Enumerated TargetFilePath 的类型。 有关详细信息,请参阅路径结构
文件路径 Alias TargetFilePath 字段的别名。
TargetFileMD5 可选 MD5 目标文件的 MD5 哈希。

示例: 75a599802f1fa166cdadb360960b1dd0
TargetFileSHA1 可选 SHA1 目标文件的 SHA-1 哈希。

示例:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
TargetFileSHA256 可选 SHA256 目标文件的 SHA-256 哈希。

示例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
TargetFileSHA512 可选 SHA512 源文件的 SHA-512 哈希。
哈希 Alias 最佳可用目标文件哈希的别名。
HashType 建议 字符串 哈希别名字段中存储的哈希的类型,允许的值为 MD5SHASHA256SHA512IMPHASH。 如果 Hash 已填充,则为必填字段。
TargetFileSize 可选 Long 目标文件的大小,以字节为单位。

源文件字段

以下字段表示有关同时具有源和目标(如副本)的文件操作中的源文件的信息。 如果操作涉及单个文件,则它由目标文件字段表示。

字段 类型 说明
SrcFileCreationTime 可选 日期/时间 创建源文件的时间。
SrcFileDirectory 可选 字符串 源文件所在的文件夹或位置。 此字段应类似于 SrcFilePath 字段,但不包含最后一个元素。

注意:如果此值已在日志源中提供,而不需要从完整路径中提取,则分析器可以提供此值。
SrcFileExtension 可选 字符串 源文件扩展名。

注意:如果此值已在日志源中提供,而不需要从完整路径中提取,则分析器可以提供此值。
SrcFileMimeType 可选 Enumerated 源文件的 Mime 或媒体类型。 IANA 媒体类型存储库中列出了支持的值。
SrcFileName 建议 字符串 源文件的名称,不带路径或位置,但带有扩展名(如果相关)。 此字段应类似于 SrcFilePath 字段中的最后一个元素。
SrcFilePath 建议 字符串 源文件的完整规范化路径,包括文件夹或位置、文件名和扩展名。

有关详细信息,请参阅路径结构

示例: /etc/init.d/networking
SrcFilePathType 建议 Enumerated SrcFilePath 的类型。 有关详细信息,请参阅路径结构
SrcFileMD5 可选 MD5 源文件的 MD5 哈希。

示例: 75a599802f1fa166cdadb360960b1dd0
SrcFileSHA1 可选 SHA1 源文件的 SHA-1 哈希。

示例:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
SrcFileSHA256 可选 SHA256 源文件的 SHA-256 哈希。

示例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
SrcFileSHA512 可选 SHA512 源文件的 SHA-512 哈希。
SrcFileSize 可选 Long 源文件的大小,以字节为单位。

参与者字段

字段 类型 说明
ActorUserId 建议 字符串 参与者的计算机可读的唯一字母数字表示形式。 有关不同 ID 类型的受支持格式,请参阅用户实体

示例: S-1-12
ActorScope 可选 字符串 在其中定义了 ActorUserIdActorUsername 的范围(例如 Microsoft Entra 租户)。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScope
ActorScopeId 可选 字符串 在其中定义了 ActorUserIdActorUsername 的范围 ID(例如 Microsoft Entra 目录 ID)。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScopeId
ActorUserIdType 条件逻辑 字符串 ActorUserId 字段中存储的 ID 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 UserIdType
ActorUsername 必需 字符串 参与者的用户名,包括域信息(如果可用)。 有关不同 ID 类型的受支持格式,请参阅用户实体。 仅当未提供域信息时才使用简单格式。

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

示例: AlbertE
用户 Alias ActorUsername 字段的别名。

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

示例: Windows
“ActorSessionId” 可选 字符串 Actor 登录会话的唯一 ID。

示例: 999

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

如果使用的是 Windows 计算机并使用了其他类型,请务必转换值。 例如,如果使用了十六进制值,请将其转换为十进制值。
ActorUserType 可选 UserType 操作者的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 UserType

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

操作进程字段

字段 类型 说明
ActingProcessCommandLine 可选 字符串 用于运行操作进程的命令行。

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

示例: C:\Windows\explorer.exe
处理 Alias ActingProcessName 的别名
ActingProcessId 可选 字符串 操作进程的进程 ID (PID)。

示例: 48610176

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

如果使用的是 Windows 或 Linux 计算机并使用了其他类型,请务必转换值。 例如,如果使用了十六进制值,请将其转换为十进制值。
“ActingProcessGuid” 可选 string 操作进程的生成的唯一标识符 (GUID)。 可用于跨系统标识进程。

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

以下字段表示有关系统启动文件活动(通常通过网络执行时)的信息。

字段 类型 说明
SrcIpAddr 建议 IP 地址 当远程系统启动操作时此系统的 IP 地址。

示例: 185.175.35.214
IpAddr Alias SrcIpAddr 的别名
Src Alias SrcIpAddr 的别名
SrcPortNumber 可选 整数 当远程系统启动操作时,从中启动连接的端口号。

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

以下字段表示通过网络进行文件活动时有关网络会话的信息。

字段 类型 说明
HttpUserAgent 可选 字符串 当远程系统通过 HTTP 或 HTTPS 启动操作时使用的用户代理。

例如:
Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/42.0.2311.135
Safari/537.36 Edge/12.246
NetworkApplicationProtocol 可选 字符串 当远程系统启动操作时,此值是 OSI 模型中使用的应用程序层协议。

虽然这不是一个枚举字段并接受任何值,但首选的值包括:HTTPHTTPSSMBFTPSSH

示例: SMB

目标应用程序字段

以下字段表示有关目标应用程序代表用户执行文件活动的信息。 目标应用程序通常与网络文件活动相关,例如使用 Saas(软件即服务)应用程序。

字段 类型 说明
TargetAppName 可选 字符串 目标应用程序的名称。
应用程序 Alias TargetAppName 的别名。
TargetAppId 可选 字符串 目标应用程序的 ID,由报告设备报告。
TargetAppType 可选 AppType 目标应用程序的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 AppType

如果使用了 TargetAppNameTargetAppId,则此字段是必填的。
TargetUrl 可选 字符串 通过 HTTP 或 HTTPS 启动操作时使用的 URL。

示例: https://onedrive.live.com/?authkey=...
Url Alias TargetUrl 的别名

检查字段

以下字段用于表示由防病毒系统等安全系统执行的检查。 标识的线程通常与执行活动的文件相关联,而不是与活动本身相关联。

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

示例:EICAR Test File
ThreatCategory 可选 字符串 在文件活动中识别到的威胁或恶意软件的类别。

示例:Trojan
ThreatRiskLevel 可选 整数 与已识别的威胁关联的风险级别。 级别应是介于 0 和 100 之间的数字。

注意:可以在源记录中使用不同的标度提供值,而使用的标度应规范化为此标度。 原始值应存储在 ThreatRiskLevelOriginal 中。
ThreatOriginalRiskLevel 可选 String 报告设备报告的风险级别。
ThreatFilePath 可选 字符串 已识别出威胁的文件路径。 字段 ThreatField 包含 ThreatFilePath 表示的字段的名称。
ThreatField 可选 Enumerated 已识别出威胁的字段。 该值为 SrcFilePathDstFilePath
ThreatConfidence 可选 整数 已识别威胁的可信度,规范化为 0 到 100 之间的值。
ThreatOriginalConfidence 可选 字符串 报告设备报告的已识别威胁的原始可信度。
ThreatIsActive 可选 Boolean 如果已识别的威胁被视为活动威胁,则为 True。
ThreatFirstReportedTime 可选 datetime IP 地址或域首次被识别为威胁的时间。
ThreatLastReportedTime 可选 datetime 上次将 IP 地址或域识别为威胁的时间。

路径结构

应规范化路径以便与以下格式之一相匹配。 值在规范化后的格式将反映在相应的 FilePathType 字段中。

类型 示例 说明
Windows 本地 C:\Windows\System32\notepad.exe 由于 Windows 路径名称不区分大小写,因此,此类型意味着值不区分大小写。
Windows 共享 \\Documents\My Shapes\Favorites.vssx 由于 Windows 路径名称不区分大小写,因此,此类型意味着值不区分大小写。
Unix /etc/init.d/networking 由于 Unix 路径名称区分大小写,因此,此类型意味着值区分大小写。

- 对于 Azure Blob 存储对象密钥,请使用此类型。
URL https://1drv.ms/p/s!Av04S_*********we 在以 URL 形式提供文件路径时使用。 URL 并不限于 http 或 https,任何值(包括 FTP 值)都是有效的。

架构更新

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

  • 添加了字段 EventSchema

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

  • 添加了检查字段
  • 添加了字段 ActorScopeTargetUserScopeHashTypeTargetAppNameTargetAppIdTargetAppTypeSrcGeoCountrySrcGeoRegionSrcGeoLongitudeSrcGeoLatitudeActorSessionIdDvcScopeIdDvcScope
  • 添加了别名 UrlIpAddr、“FileName”和 Src

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

  • 添加 Application 作为 TargetAppName 的别名。
  • 添加了字段 ActorScopeId
  • 添加了源设备相关字段。

后续步骤

有关详细信息,请参阅: