你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
文件事件规范化架构用于描述文件活动,例如创建、修改或删除文件或文档。 此类事件由操作系统、文件存储系统(如Azure 文件存储)和文档管理系统(如 Microsoft SharePoint)报告。
有关Microsoft Sentinel规范化的详细信息,请参阅规范化和高级安全信息模型 (ASIM) 。
解析 器
部署和使用文件活动分析程序
从 Microsoft Sentinel GitHub 存储库部署 ASIM 文件活动分析程序。 若要跨所有文件活动源进行查询,请在查询中使用统一分析器 imFileEvent 作为表名。
有关使用 ASIM 分析程序的详细信息,请参阅 ASIM 分析程序概述。 有关文件活动分析程序的列表,Microsoft Sentinel提供现成的,请参阅 ASIM 分析程序列表
添加自己的规范化分析程序
为文件事件信息模型实现自定义分析程序时,使用以下语法命名 KQL 函数: imFileEvent<vendor><Product。
请参阅 管理 ASIM 分析程序 一文,了解如何将自定义分析程序添加到统一分析器的文件活动。
筛选分析程序参数
文件事件分析程序支持 筛选参数。 虽然这些参数是可选的,但它们可以提高查询性能。
以下筛选参数可用:
| 名称 | 类型 | 说明 |
|---|---|---|
| starttime | datetime | 仅筛选在此时间或之后发生的文件事件。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。 |
| endtime | datetime | 仅筛选在此时间或之前发生的文件事件。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。 |
| eventtype_in | 动态 | 仅筛选事件类型为所列值之一的文件事件,例如 FileCreated、 FileModified、 FileDeleted、 FileRenamed或 FileCopied。 |
| srcipaddr_has_any_prefix | 动态 | 仅筛选源 IP 地址前缀与任何列出的值匹配的文件事件。 前缀应以 .结尾,例如: 10.0.。 |
| actorusername_has_any | 动态 | 仅筛选参与者用户名具有任何所列值的文件事件。 |
| targetfilepath_has_any | 动态 | 仅筛选目标文件路径具有任何所列值的文件事件。 |
| srcfilepath_has_any | 动态 | 仅筛选源文件路径具有任何所列值的文件事件。 |
| hashes_has_any | 动态 | 仅筛选文件哈希与任何列出的值匹配的文件事件。 |
| dvchostname_has_any | 动态 | 仅筛选设备主机名具有任何所列值的文件事件。 |
例如,若要仅筛选过去一天的文件创建和修改事件,请使用:
_Im_FileEvent (eventtype_in=dynamic(['FileCreated','FileModified']), starttime = ago(1d), endtime=now())
规范化内容
有关使用规范化文件活动事件的分析规则的完整列表,请参阅 文件活动安全内容。
架构概述
文件事件信息模型与 OSSEM 进程实体架构保持一致。
文件事件架构引用以下实体,这些实体是文件活动的核心:
- 执行组件。 启动文件活动的用户
- ActingProcess。 执行组件用于启动文件活动的进程
- TargetFile。 对其执行操作的文件
- 源文件 (SrcFile) 。 在操作之前存储文件信息。
这些实体之间的关系最好演示如下: 执行组件 使用 代理进程执行文件操作,它将 源文件 修改为 目标文件。
例如: JohnDoe (Actor) 使用 Windows File Explorer (代理进程) 将 (源文件) 重命名new.doc为 old.doc (目标文件) 。
架构详细信息
通用字段
重要
ASIM 通用字段一文中详细介绍了所有架构通用的字段。
具有文件事件架构特定准则的字段
以下列表提到了具有文件活动事件特定准则的字段:
| Field | 类 | 类型 | 说明 |
|---|---|---|---|
| EventType | 强制 | 枚举 | 描述记录报告的操作。 支持的值包括: - FileAccessed- FileCreated- FileModified- FileDeleted- FileRenamed- FileCopied- FileMoved- FolderCreated- FolderDeleted- FolderMoved- FolderModified- FileCreatedOrModified |
| EventSubType | 可选 | 枚举 | 描述 有关 EventType 中报告的操作的详细信息。 每个事件类型支持的值包括: - FileCreated
-
Upload, Checkin- FileModified - Checkin- FileCreatedOrModified - Checkin - FileAccessed
-
Download, Preview, Checkout, Extended- FileDeleted
-
Recycled, Versions, Site |
| EventSchema | 强制 | 枚举 | 此处记录的架构名称为 FileEvent。 |
| EventSchemaVersion | 强制 | SchemaVersion (String) | 架构的版本。 此处记录的架构版本为 0.2.2 |
| 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 | 可选 | String | 目标文件文件夹或位置。 此字段应类似于 TargetFilePath 字段,不包含最后一个元素。 注意:如果日志源中可用的值且不需要从完整路径中提取该值,则分析程序可以提供此值。 |
| TargetFileExtension | 可选 | String | 目标文件扩展名。 注意:如果日志源中可用的值且不需要从完整路径中提取该值,则分析程序可以提供此值。 |
| TargetFileMimeType | 可选 | String | 目标文件的 Mime 或 Media 类型。 IANA 媒体类型存储库中列出了允许的值。 |
| TargetFileName | 建议 | String | 目标文件的名称,不带路径或位置,但扩展名(如果相关)。 此字段应类似于 TargetFilePath 字段中的最后一个元素。 |
| FileName | 别名 | TargetFileName 字段的别名。 | |
| TargetFilePath | 强制 | String | 目标文件的完整规范化路径,包括文件夹或位置、文件名和扩展名。 有关详细信息,请参阅 路径结构。 注意:如果记录不包含文件夹或位置信息,请仅在此处存储文件名。 例如: C:\Windows\System32\notepad.exe |
| TargetFilePathType | 强制 | 枚举 | TargetFilePath 的类型。 有关详细信息,请参阅 路径结构。 |
| FilePath | 别名 | TargetFilePath 字段的别名。 | |
| TargetFileMD5 | 可选 | MD5 | 目标文件的 MD5 哈希。 例如: 75a599802f1fa166cdadb360960b1dd0 |
| TargetFileSHA1 | 可选 | SHA1 | 目标文件的 SHA-1 哈希。 示例: d55c5a4df19b46db8c54c801c4665d3338acdab0 |
| TargetFileSHA256 | 可选 | SHA256 | 目标文件的 SHA-256 哈希。 示例: e81bb824c4a09a811af17deae22f22dd2e1ec8cbb00b22629d2899f7c68da274 |
| TargetFileSHA512 | 可选 | SHA512 | 源文件的 SHA-512 哈希。 |
| 散 列 | 别名 | 最佳可用目标文件哈希的别名。 | |
| HashType | 条件 | 枚举 | 存储在 HASH 别名字段中的哈希类型,允许的值为 MD5、SHA、 SHA256SHA512 和 IMPHASH。 如果 Hash 已填充,则为必需。 |
| TargetFileSize | 可选 | 长型 | 目标文件的大小(以字节为单位)。 |
源文件字段
以下字段表示同时具有源和目标(例如副本)的文件操作中源文件的相关信息。 如果操作涉及单个文件,则由目标文件字段表示。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| SrcFileCreationTime | 可选 | 日期/时间 | 创建源文件的时间。 |
| SrcFileDirectory | 可选 | String | 源文件文件夹或位置。 此字段应类似于 SrcFilePath 字段,不包含最后一个元素。 注意:如果该值在日志源中可用,并且不需要从完整路径中提取,则分析程序可以提供此值。 |
| SrcFileExtension | 可选 | String | 源文件扩展名。 注意:分析程序可以提供此值,该值在日志源中可用,并且不需要从完整路径中提取。 |
| SrcFileMimeType | 可选 | String | 源文件的 Mime 或 Media 类型。 IANA 媒体类型存储库中列出了支持的值。 |
| SrcFileName | 建议 | String | 源文件的名称,不带路径或位置,但扩展名(如果相关)。 此字段应类似于 SrcFilePath 字段中的最后一个元素。 |
| SrcFilePath | 建议 | String | 源文件的完整规范化路径,包括文件夹或位置、文件名和扩展名。 有关详细信息,请参阅 路径结构。 例如: /etc/init.d/networking |
| SrcFilePathType | 建议 | 枚举 | SrcFilePath 的类型。 有关详细信息,请参阅 路径结构。 |
| SrcFileMD5 | 可选 | MD5 | 源文件的 MD5 哈希。 例如: 75a599802f1fa166cdadb360960b1dd0 |
| SrcFileSHA1 | 可选 | SHA1 | 源文件的 SHA-1 哈希。 示例: d55c5a4df19b46db8c54c801c4665d3338acdab0 |
| SrcFileSHA256 | 可选 | SHA256 | 源文件的 SHA-256 哈希。 示例: e81bb824c4a09a811af17deae22f22dd2e1ec8cbb00b22629d2899f7c68da274 |
| SrcFileSHA512 | 可选 | SHA512 | 源文件的 SHA-512 哈希。 |
| SrcFileSize | 可选 | 长型 | 源文件的大小(以字节为单位)。 |
执行组件字段
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| ActorUserId | 建议 | String | Actor 的计算机可读字母数字唯一表示形式。 有关不同 ID 类型支持的格式,请参阅 User 实体。 例如: S-1-12 |
| ActorScope | 可选 | String | 定义 ActorUserId 和 ActorUsername 的范围,例如Microsoft Entra租户。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScope。 |
| ActorScopeId | 可选 | String | 范围 ID,例如Microsoft Entra目录 ID,其中定义了 ActorUserId 和 ActorUsername。 或者,有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScopeId。 |
| ActorUserIdType | 条件 | 枚举 | 存储在 ActorUserId 字段中的 ID 的类型。 有关允许值的列表和其他信息,请参阅架构概述一文中的 UserIdType。 |
| ActorUsername | 强制 | 用户名 (字符串) | 执行组件用户名,包括域信息(如果可用)。 有关不同 ID 类型支持的格式,请参阅 User 实体。 仅当域信息不可用时,才使用简单表单。 将“用户名”类型存储在 ActorUsernameType 字段中。 如果其他用户名格式可用,请将它们存储在 字段中 ActorUsername<UsernameType>。例如: AlbertE |
| 用户 | 别名 |
ActorUsername 字段的别名。 例如: CONTOSO\dadmin |
|
| 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 |
| 进程 | 别名 | ActingProcessName 的别名 | |
| ActingProcessId | 可选 | String | 进程 ID (执行进程的 PID) 。 例如: 48610176 注意:类型定义为字符串以支持不同的系统,但在 Windows 和 Linux此值必须是数值。 如果你使用的是 Windows 或 Linux 计算机,并且使用了其他类型,请确保转换值。 例如,如果使用了十六进制值,请将其转换为十进制值。 |
| ActingProcessGuid | 可选 | GUID (字符串) | 生成的唯一标识符 (操作过程的 GUID) 。 启用跨系统标识进程。 例如: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
源系统相关字段
以下字段表示有关启动文件活动的系统的信息,通常在通过网络传输时。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| SrcIpAddr | 建议 | IP 地址 | 当远程系统启动操作时,即此系统的 IP 地址。 例如: 185.175.35.214 |
| IpAddr | 别名 | SrcIpAddr 的别名 | |
| Src | 别名 | SrcIpAddr 的别名 | |
| SrcPortNumber | 可选 | 整数 | 当远程系统启动操作时,从中启动连接的端口号。 例如: 2335 |
| SrcHostname | 可选 | 主机名 (字符串) | 源设备主机名,不包括域信息。 如果没有可用的设备名称,请将相关的 IP 地址存储在此字段中。 例如: DESKTOP-1282V4D |
| SrcDomain | 可选 | 域 (字符串) | 源设备的域。 例如: Contoso |
| SrcDomainType | 条件 | DomainType |
SrcDomain 的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 DomainType。 如果使用 SrcDomain, 则是必需的。 |
| SrcFQDN | 可选 | FQDN (字符串) | 源设备主机名,包括域信息(如果有)。 注意:此字段支持传统的 FQDN 格式和 Windows 域\主机名格式。 SrcDomainType 字段反映所使用的格式。 例如: Contoso\DESKTOP-1282V4D |
| SrcDescription | 可选 | String | 与设备关联的描述性文本。 例如:Primary Domain Controller。 |
| SrcDvcId | 可选 | String | 源设备的 ID。 如果有多个 ID 可用,请使用最重要的 ID,并将其他 ID 存储在 字段中 SrcDvc<DvcIdType>。例如: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| SrcDvcScopeId | 可选 | String | 设备所属的云平台范围 ID。 SrcDvcScopeId 映射到 Azure 上的订阅 ID 和 AWS 上的帐户 ID。 |
| SrcDvcScope | 可选 | String | 设备所属的云平台范围。 SrcDvcScope 映射到 Azure 上的订阅 ID,以及 AWS 上的帐户 ID。 |
| SrcDvcIdType | 条件 | DvcIdType |
SrcDvcId 的类型。 有关允许值的列表和其他信息,请参阅架构概述一文中的 DvcIdType。 注意:如果使用 SrcDvcId ,则需要此字段。 |
| SrcDeviceType | 可选 | DeviceType | 源设备的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 DeviceType。 |
| SrcGeoCountry | 可选 | 国家/地区 | 与源 IP 地址关联的国家/地区。 例如: USA |
| SrcGeoRegion | 可选 | 地区 | 与源 IP 地址关联的区域。 例如: Vermont |
| SrcGeoCity | 可选 | 市/县 | 与源 IP 地址关联的城市。 例如: Burlington |
| SrcGeoLatitude | 可选 | Latitude | 与源 IP 地址关联的地理坐标的纬度。 例如: 44.475833 |
| SrcGeoLongitude | 可选 | Longitude | 与源 IP 地址关联的地理坐标的经度。 例如: 73.211944 |
代理应用程序字段
以下字段表示有关通过网络与远程系统进行通信以执行文件活动的本地应用程序的信息。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| ActingAppName | 可选 | String | 操作应用程序的名称。 例如: Facebook |
| ActingAppId | 可选 | String | 由报告设备报告的代理应用程序的 ID。 |
| ActingAppType | 可选 | AppType | 目标应用程序的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 AppType。 如果使用 TargetAppName 或 TargetAppId ,则此字段是必需的。 |
| HttpUserAgent | 可选 | String | 当远程系统使用 HTTP 或 HTTPS 启动操作时,将使用用户代理。 例如: Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135Safari/537.36 Edge/12.246 |
| NetworkApplicationProtocol | 可选 | String | 当远程系统启动操作时,此值是 OSI 模型中使用的应用程序层协议。 虽然此字段未枚举,并且接受任何值,但首选值包括: HTTP、 HTTPS、 SMB、FTP和 SSH例如: SMB |
目标应用程序字段
以下字段表示有关代表用户执行文件活动的目标应用程序的信息。 目标应用程序通常与网络文件活动相关,例如,使用 SaaS (Software 作为服务) 应用程序。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| TargetAppName | 可选 | String | 目标应用程序的名称。 例如: Facebook |
| 应用 | 别名 | TargetAppName 的别名。 | |
| TargetAppId | 可选 | String | 目标应用程序的 ID,由报告设备报告。 |
| TargetAppType | 条件 | AppType | 目标应用程序的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 AppType。 如果使用 TargetAppName 或 TargetAppId ,则此字段是必需的。 |
| TargetOriginalAppType | 可选 | String | 报告设备报告的目标应用程序的类型。 |
| TargetUrl | 可选 | URL (字符串) | 使用 HTTP 或 HTTPS 启动操作时,将使用 URL。 例如: https://onedrive.live.com/?authkey=... |
| Url | 别名 | TargetUrl 的别名 |
检查字段
以下字段用于表示由安全系统(如防病毒系统)执行的检查。 标识的线程通常与执行活动的文件相关联,而不是活动本身。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| RuleName | 可选 | String | 与检查结果关联的规则的名称或 ID。 |
| RuleNumber | 可选 | 整数 | 与检查结果关联的规则编号。 |
| Rule | 条件 | String | kRuleName 的值或 RuleNumber 的值。 如果使用 RuleNumber 的值,则类型应转换为字符串。 |
| ThreatId | 可选 | String | 文件活动中标识的威胁或恶意软件的 ID。 |
| ThreatName | 可选 | String | 文件活动中标识的威胁或恶意软件的名称。 例如: EICAR Test File |
| ThreatCategory | 可选 | String | 文件活动中标识的威胁或恶意软件的类别。 例如: Trojan |
| ThreatRiskLevel | 可选 | RiskLevel (整数) | 与标识的威胁关联的风险级别。 级别应为 介于 0 和 100 之间的数字。 注意:可以使用其他比例在源记录中提供该值,应将其规范化为此比例。 原始值应存储在 ThreatOriginalRiskLevel 中。 |
| ThreatOriginalRiskLevel | 可选 | String | 报告设备报告的风险级别。 |
| ThreatFilePath | 可选 | String | 标识了威胁的文件路径。 字段 ThreatField 包含 ThreatFilePath 表示的字段的名称。 |
| ThreatField | 条件 | 枚举 | 已识别威胁的字段。 值为 SrcFilePath 或 DstFilePath。 |
| ThreatConfidence | 可选 | ConfidenceLevel (Integer) | 所识别的威胁的置信度,规范化为介于 0 和 100 之间的值。 |
| ThreatOriginalConfidence | 可选 | String | 已识别的威胁的原始置信度,由报告设备报告。 |
| ThreatIsActive | 可选 | 布尔值 | 如果确定的威胁被视为活动威胁,则为 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 路径名称区分大小写,因此此类型表示该值区分大小写。 - 将此类型用于 AWS S3。 连接存储桶和键名称以创建路径。 - 将此类型用于Azure Blob 存储对象密钥。 |
| URL | https://1drv.ms/p/s!Av04S_*********we |
当文件路径作为 URL 可用时使用。 URL 不限于 http 或 https,任何值(包括 FTP 值)都是有效的。 |
架构更新
以下是架构版本 0.1.1 中的更改:
- 添加了字段
EventSchema。
以下是架构版本 0.2 中的更改:
- 添加了 检查字段。
- 添加了字段
ActorScope、、、HashType、TargetAppName、TargetAppIdSrcGeoRegionSrcGeoLatitudeSrcGeoLongitudeSrcGeoCountryTargetAppType、ActorSessionId、DvcScopeId和 。DvcScopeTargetUserScope - 添加了别名
Url、IpAddr、“FileName”和Src。
以下是架构版本 0.2.1 中的更改:
- 作为别名添加到
ApplicationTargetAppName。 - 添加了 字段
ActorScopeId - 添加了源设备相关字段。
以下是架构版本 0.2.2 中的更改:
- 添加了 字段
TargetOriginalAppType - 添加了表 中不可用的字段
ActingAppIdActingAppName和ActingAppType。ASimFileEventLogs
后续步骤
有关更多信息,请参阅: