你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft Sentinel警报架构旨在将来自各种产品的安全相关警报规范化为Microsoft高级安全信息模型 (ASIM) 的标准化格式。 此架构仅侧重于安全事件,确保跨不同数据源进行一致且高效的分析。
警报架构表示各种类型的安全警报,例如威胁、可疑活动、用户行为异常和合规性违规。 这些警报由不同的安全产品和系统报告,包括但不限于 EDR、防病毒软件、入侵检测系统、数据丢失防护工具等。
有关Microsoft Sentinel规范化的详细信息,请参阅规范化和高级安全信息模型 (ASIM) 。
解析 器
有关 ASIM 分析程序的详细信息,请参阅 ASIM 分析程序概述。
统一分析器
若要使用统一所有 ASIM 现成分析程序的分析程序,并确保分析跨所有配置的源运行,请使用 _Im_AlertEvent 分析程序。
开箱即用的特定于源的分析程序
有关Microsoft Sentinel现成提供的警报分析程序列表,请参阅 ASIM 分析程序列表。
添加自己的规范化分析程序
为警报信息模型 开发自定义分析程序 时,使用以下语法命名 KQL 函数:
-
vimAlertEvent<vendor><Product>用于参数化分析程序 -
ASimAlertEvent<vendor><Product>用于常规分析程序
请参阅 管理 ASIM 分析程序 一文,了解如何将自定义分析程序添加到警报统一分析程序。
筛选分析程序参数
警报分析程序支持各种 筛选参数 以提高查询性能。 这些参数是可选的,但可以提高查询性能。 以下筛选参数可用:
| 名称 | 类型 | 说明 |
|---|---|---|
| starttime | datetime | 仅筛选在此时间或之后开始的警报。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。 |
| endtime | datetime | 仅筛选在此时间或之前启动的警报。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。 |
| ipaddr_has_any_prefix | 动态 | 仅筛选 “DvcIpAddr” 字段位于所列值之一的警报。 |
| hostname_has_any | 动态 | 仅筛选 “DvcHostname” 字段位于所列值之一的警报。 |
| username_has_any | 动态 | 仅筛选“ 用户名” 字段位于所列值之一的警报。 |
| attacktactics_has_any | 动态 | 仅筛选 “AttackTactics” 字段位于所列值之一的警报。 |
| attacktechniques_has_any | 动态 | 仅筛选 “AttackTechniques” 字段位于所列值之一的警报。 |
| threatcategory_has_any | 动态 | 仅筛选 “ThreatCategory” 字段位于所列值之一的警报。 |
| alertverdict_has_any | 动态 | 仅筛选 “AlertVerdict” 字段位于所列值之一的警报。 |
| eventseverity_has_any | 动态 | 仅筛选 “EventSeverity” 字段位于所列值之一的警报。 |
架构概述
警报架构提供多种类型的安全事件,这些事件共享相同的字段。 这些事件由 EventType 字段标识:
- 威胁信息:与各种类型的恶意活动(如恶意软件、网络钓鱼、勒索软件和其他网络威胁)相关的警报。
- 可疑活动:针对不一定是确认威胁但可疑且需要进一步调查的活动的警报,例如多次失败的登录尝试或访问受限文件。
- 用户行为异常:指示可能提示安全问题的异常或意外用户行为的警报,例如异常登录时间或异常数据访问模式。
- 合规性违规:与不符合法规或内部策略相关的警报。 例如,使用开放公共端口公开的 VM 容易受到攻击, (云安全警报) 。
重要
若要保留警报架构的相关性和有效性,只应映射与安全相关的警报。
警报架构引用以下实体来捕获有关警报的详细信息:
-
Dvc 字段用于捕获有关与警报关联的主机或 IP 的详细信息
-
用户 字段用于捕获与警报关联的用户的详细信息。
- 同样,“进程”、“文件”、“Url”、“注册表”和“Email”字段分别用于捕获与警报关联的进程、文件、URL、注册表和电子邮件的关键详细信息。
重要
- 生成特定于产品的分析程序时,当警报包含有关安全事件或潜在威胁的信息时,请使用 ASIM 警报架构,并且主要详细信息可以直接映射到可用的警报架构字段。 警报架构非常适合捕获没有大量实体特定字段的摘要信息。
- 但是,如果发现自己由于缺少直接字段匹配而将基本字段置于“AdditionalFields”中,请考虑使用更专用的架构。 例如,如果警报包含与网络相关的详细信息,例如多个 IP 地址,例如 SrcIpAdr、DstIpAddr、PortNumber 等,则可以选择 NetworkSession 架构,而不适用于警报架构。 专用架构还提供专用字段,用于捕获威胁相关信息、提高数据质量和促进高效分析。
架构详细信息
常见 ASIM 字段
以下列表提到了具有警报事件特定准则的字段:
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| EventType | 强制 | 枚举 | 事件的类型。 支持的值为: - Alert |
| EventSubType | 建议 | 枚举 | 指定警报事件的子类型或类别,在更广泛的事件分类中提供更精细的详细信息。 此字段有助于区分检测到的问题的性质,改进事件优先级和响应策略。 支持的值包括: - Threat (表示可能危及系统或网络)- Suspicious Activity (标记看似异常或可疑的行为或事件,但尚未确认为恶意)- Anomaly (识别与正常模式的偏差,这些偏差可能指示潜在的安全风险或操作问题)- Compliance Violation (突出显示违反法规、策略或合规性标准的活动) |
| EventUid | 强制 | string | 一个计算机可读的字母数字字符串,用于唯一标识系统中的警报。 例如 A1bC2dE3fH4iJ5kL6mN7oP8qR9s |
| EventMessage | 可选 | string | 有关警报的详细信息,包括其上下文、原因和潜在影响。 例如 Potential use of the Rubeus tool for kerberoasting, a technique used to extract service account credentials from Kerberos tickets. |
| IpAddr | 别名 | 字段的 DvcIpAddr 别名或友好名称。 |
|
| 主机名 | 别名 | 字段的 DvcHostname 别名或友好名称。 |
|
| EventSchema | 强制 | 枚举 | 用于事件的架构。 此处记录的架构为 AlertEvent。 |
| EventSchemaVersion | 强制 | SchemaVersion (String) | 架构的版本。 此处记录的架构版本为 0.1。 |
所有通用字段
下表中显示的字段对所有 ASIM 架构都是通用的。 上面指定的任何准则都覆盖字段的一般准则。 例如,字段通常可能是可选的,但对于特定架构是必需的。 有关每个字段的详细信息,请参阅 ASIM 通用字段 一文。
| 类 | 域 |
|---|---|
| 强制 |
-
EventCount - EventStartTime - EventEndTime - EventType - EventUid - EventProduct - EventVendor - EventSchema - EventSchemaVersion |
| 建议 |
-
EventSubType - EventSeverity - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType |
| 可选 |
-
EventMessage - EventOriginalType - EventOriginalSubType - EventOriginalSeverity - EventProductVersion - EventOriginalUid - EventReportUrl - EventResult - EventOwner - DvcZone - DvcMacAddr - DvcOs - DvcOsVersion - DvcAction - DvcOriginalAction - DvcInterface - AdditionalFields - DvcDescription - DvcScopeId - DvcScope |
检查字段
下表介绍了提供与警报关联的规则和威胁的关键见解的字段。 它们共同有助于丰富警报的上下文,使安全分析师更容易了解其起源和重要性。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| AlertId | 别名 | string | 字段的 EventUid 别名或友好名称。 |
| AlertName | 建议 | string | 警报的标题或名称。 例如 Possible use of the Rubeus kerberoasting tool |
| AlertDescription | 别名 | string | 字段的 EventMessage 别名或友好名称。 |
| AlertVerdict | 可选 | 枚举 | 警报的最终确定或结果,指示警报是被确认为威胁、被视为可疑还是被解决为误报。 支持的值为: - True Positive (已确认为合法威胁)- False Positive (错误地标识为威胁)- Benign Positive 当事件确定为无害) 时, (- Unknown (不确定或不确定的状态) |
| AlertStatus | 可选 | 枚举 | 指示警报的当前状态或进度。 支持的值为: - Active- Closed |
| AlertOriginalStatus | 可选 | string | 发起系统报告的警报状态。 |
| DetectionMethod | 可选 | 枚举 | 提供有关导致警报生成的特定检测方法、技术或数据源的详细信息。 此字段可更深入地了解警报的检测或触发方式,有助于了解检测上下文和可靠性。 支持的值包括: - EDR:用于监视和分析终结点活动以识别威胁的终结点检测和响应系统。- Behavioral Analytics:检测用户、设备或系统行为异常模式的技术。- Reputation:基于 IP 地址、域或文件的信誉进行威胁检测。- Threat Intelligence:外部或内部情报源提供有关已知威胁或攻击者战术的数据。- Intrusion Detection:监视网络流量或活动是否存在入侵或攻击迹象的系统。- Automated Investigation:分析和调查警报的自动化系统,减少手动工作负荷。- Antivirus:基于签名和启发式检测恶意软件的传统防病毒引擎。- Data Loss Prevention:侧重于防止未经授权的数据传输或泄漏的解决方案。- User Defined Blocked List:用户定义用于阻止特定 IP、域或文件的自定义列表。- Cloud Security Posture Management:用于评估和管理云环境中安全风险的工具。- Cloud Application Security:保护云应用程序和数据的解决方案。- Scheduled Alerts:基于预定义计划或阈值生成的警报。- Other:上述类别未涵盖的任何其他检测方法。 |
| Rule | 别名 | string | RuleName 的值或 RuleNumber 的值。 如果使用 RuleNumber 的值,则类型应转换为字符串。 |
| RuleNumber | 可选 | int | 与警报关联的规则编号。 例如 123456 |
| RuleName | 可选 | string | 与警报关联的规则的名称或 ID。 例如 Server PSEXEC Execution via Remote Access |
| RuleDescription | 可选 | string | 与警报关联的规则的说明。 例如 This rule detects remote execution on a server using PSEXEC, which may indicate unauthorized administrative activity or lateral movement within the network |
| ThreatId | 可选 | string | 警报中标识的威胁或恶意软件的 ID。 例如 1234567891011121314 |
| ThreatName | 可选 | string | 警报中标识的威胁或恶意软件的名称。 例如 Init.exe |
| ThreatFirstReportedTime | 可选 | datetime | 首次报告威胁的日期和时间。 例如 2024-09-19T10:12:10.0000000Z |
| ThreatLastReportedTime | 可选 | datetime | 上次报告威胁的日期和时间。 例如 2024-09-19T10:12:10.0000000Z |
| ThreatCategory | 建议 | 枚举 | 警报中标识的威胁或恶意软件的类别。 支持的值为:、、、、 Trojan、VirusSpywareAdwareCryptominorPhishingWormRootkit、Spam、MaliciousUrl、、 Security Policy ViolationSpoofingRansomwareMalwareUnknown |
| ThreatOriginalCategory | 可选 | string | 发起系统报告的威胁类别。 |
| ThreatIsActive | 可选 | 布尔值 | 指示威胁当前是否处于活动状态。 支持的值为: True、 False |
| ThreatRiskLevel | 可选 | RiskLevel (整数) | 与威胁关联的风险级别。 级别应为介于 0 和 100 之间的数字。 注意:可以使用其他比例在源记录中提供该值,应将其规范化为此比例。 原始值应存储在 ThreatRiskLevelOriginal 中。 |
| ThreatOriginalRiskLevel | 可选 | string | 原始系统报告的风险级别。 |
| ThreatConfidence | 可选 | ConfidenceLevel (Integer) | 所识别的威胁的置信度,规范化为介于 0 和 100 之间的值。 |
| ThreatOriginalConfidence | 可选 | string | 原始系统报告的置信度级别。 |
| IndicatorType | 建议 | 枚举 | 指示器的类型或类别 支持的值为: - Ip- User- Process- Registry- Url- Host- Cloud Resource- Application- File- Email- Mailbox- Logon Session |
| IndicatorAssociation | 可选 | 枚举 | 指定指示器是链接到威胁还是受到威胁的直接影响。 支持的值为: - Associated- Targeted |
| AttackTactics | 建议 | string | 攻击策略 (名称、ID 或与警报关联的) 。 首选格式: 例如: Persistence, Privilege Escalation |
| AttackTechniques | 建议 | string | 攻击技术 (与警报关联的名称、ID 或两者) 。 首选格式: 例如: Local Groups (T1069.001), Domain Groups (T1069.002) |
| AttackRemediationSteps | 建议 | string | 缓解或修正已识别的攻击或威胁的建议操作或步骤。 例如 1. Make sure the machine is completely updated and all your software has the latest patch.2. Contact your incident response team. |
用户字段
本部分定义与与警报关联的用户的标识和分类相关的字段,并明确受影响的用户及其标识的格式。 如果警报包含的多个与用户相关的其他字段超过了此处映射的内容,则可以考虑专用架构(如身份验证事件架构)是否更适合完全表示数据。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| UserId | 可选 | string | 与警报关联的用户的计算机可读字母数字唯一表示形式。 例如 A1bC2dE3fH4iJ5kL6mN7o |
| UserIdType | 条件 | 枚举 | 用户 ID 的类型,例如 GUID、 SID或 Email。支持的值为: - GUID- SID- Email- Username- Phone- Other |
| Username | 建议 | 用户名 (字符串) | 与警报关联的用户的名称,包括域信息(如果有)。 例如 或 Contoso\JSmithjohn.smith@contoso.com |
| 用户 | 别名 | string | 字段的 Username 别名或友好名称。 |
| UsernameType | 条件 | UsernameType | 指定字段中存储 Username 的用户名的类型。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UsernameType。例如 Windows |
| UserType | 可选 | UserType | Actor 的类型。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserType。 例如 Guest |
| OriginalUserType | 可选 | string | 报告设备报告的用户类型。 |
| UserSessionId | 可选 | string | 与警报关联的用户会话的唯一 ID。 例如 a1bc2de3-fh4i-j5kl-6mn7-op8qr9st0u |
| UserScopeId | 可选 | string | 范围 ID,例如Microsoft Entra目录 ID,其中定义了 UserId 和 Username。 例如 a1bc2de3-fh4i-j5kl-6mn7-op8qrs |
| UserScope | 可选 | string | 定义 UserId 和 Username 的范围,例如Microsoft Entra租户。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScope。 例如 Contoso Directory |
处理字段
本部分允许使用指定字段捕获与警报中涉及的进程实体相关的详细信息。 如果警报包含超出此处映射的其他详细进程相关字段,则可以考虑专用架构(如进程事件架构)是否更适合完全表示数据。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| ProcessId | 可选 | string | 与警报关联的进程 ID (PID) 。 例如 12345678 |
| ProcessCommandLine | 可选 | string | 用于启动进程的命令行。 例如 "choco.exe" -v |
| ProcessName | 可选 | string | 进程的名称。 例如 C:\Windows\explorer.exe |
| ProcessFileCompany | 可选 | string | 创建进程映像文件的公司。 例如 Microsoft |
文件字段
本部分可用于捕获与警报中涉及的文件实体相关的详细信息。 如果警报包含超出此处映射的其他详细文件相关字段,则可以考虑专用架构(如文件事件架构)是否更适合完全表示数据。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| FileName | 可选 | string | 与警报关联的文件的名称,不包含路径或位置。 例如 Notepad.exe |
| FilePath | 可选 | string | 目标文件的完整规范化路径,包括文件夹或位置、文件名和扩展名。 例如 C:\Windows\System32\notepad.exe |
| FileSHA1 | 可选 | string | 文件的 SHA1 哈希。 例如 j5kl6mn7op8qr9st0uv1 |
| FileSHA256 | 可选 | string | 文件的 SHA256 哈希。 例如 a1bc2de3fh4ij5kl6mn7op8qrs2de3 |
| FileMD5 | 可选 | string | 文件的 MD5 哈希。 例如 j5kl6mn7op8qr9st0uv1wx2yz3ab4c |
| FileSize | 可选 | long | 文件的大小(以字节为单位)。 例如 123456 |
URL 字段
如果警报包含有关 Url 实体的信息,则以下字段可以捕获与 URL 相关的数据。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| Url | 可选 | string | 警报中捕获的 URL 字符串。 例如 https://contoso.com/fo/?k=v&q=u#f |
注册表字段
如果警报包含有关注册表实体的详细信息,请使用以下字段捕获与注册表相关的特定信息。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| RegistryKey | 可选 | string | 与警报关联的注册表项,规范化为标准根密钥命名约定。 例如 HKEY_LOCAL_MACHINE\SOFTWARE\MTG |
| RegistryValue | 可选 | string | 注册表值。 例如 ImagePath |
| RegistryValueData | 可选 | string | 注册表值的数据。 例如 C:\Windows\system32;C:\Windows; |
| RegistryValueType | 可选 | 枚举 | 注册表值的类型。 例如 Reg_Expand_Sz |
Email字段
如果警报包含有关电子邮件实体的信息,请使用以下字段捕获与电子邮件相关的特定详细信息。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| EmailMessageId | 可选 | string | 与警报关联的电子邮件的唯一标识符。 例如 Request for Invoice Access |
| EmailSubject | 可选 | string | 电子邮件的主题。 例如 j5kl6mn7-op8q-r9st-0uv1-wx2yz3ab4c |
架构汇报
下面是各种架构版本中的更改:
- 版本 0.1:初始版本。