高级安全信息模型 (ASIM) 警报架构参考

Microsoft Sentinel 警报架构旨在将各种产品中的安全相关警报进行规范化,成为 Microsoft 高级安全信息模型 (ASIM) 中的标准化格式。 此架构专门介绍安全事件,确保跨越不同数据源,进行一致且高效的分析。

警报架构表示各种类型的安全警报,例如威胁、可疑活动、用户行为异常和合规性违规。 这些警报是由不同的安全产品和系统报告的,包括但不限于 EDR、防病毒软件、入侵检测系统、数据丢失防护工具等。

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

重要

警报规范化架构目前为预览版。 服务级别协议未随此功能一起提供。 建议不要将它用于生产工作负载。

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

分析器

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

统一分析程序

若要使用统一所有 ASIM 现成分析程序的分析程序,并确保分析可在所有配置源上运行,请使用 _Im_AlertEvent 筛选分析程序或 _ASim_AlertEvent 无参数分析程序。 你还可以使用工作区部署的 imAlertEventASimAlertEvent 分析程序,方法是从 Microsoft Sentinel GitHub 存储库进行部署。

有关详细信息,请参阅内置 ASIM 分析程序和工作区部署的分析程序

添加自己的规范化分析器

为警报信息信息模型开发自定义分析程序时,请使用以下语法来命名 KQL 函数:

  • vimAlertEvent<vendor><Product>(对于参数化分析程序)
  • ASimAlertEvent<vendor><Product>(对于常规分析程序)

若要了解如何将自定义分析程序添加到警报统一分析程序,请参阅管理 ASIM 分析程序

筛选分析程序参数

警报分析程序支持各种筛选参数,以提高查询性能。 尽管这些参数是可选的,但它们可以增强查询性能。 可使用以下筛选参数:

名称 Type 说明
starttime datetime 仅筛选在此时间或之后启动的警报。
endtime datetime 仅筛选在此时间或之前启动的警报。
ipaddr_has_any_prefix 动态 仅筛选“DvcIpAddr”字段位于其中一个列出的值中的警报。
hostname_has_any 动态 仅筛选“DvcHostname”字段位于其中一个列出的值中的警报。
username_has_any 动态 仅筛选“Username”字段位于其中一个列出的值中的警报。
attacktactics_has_any 动态 仅筛选“AttackTactics”字段位于其中一个列出的值中的警报。
attacktechniques_has_any 动态 仅筛选“AttackTechniques”字段位于其中一个列出的值中的警报。
threatcategory_has_any 动态 仅筛选“ThreatCategory”字段位于其中一个列出的值中的警报。
alertverdict_has_any 动态 仅筛选“AlertVerdict”字段位于其中一个列出的值中的警报。
eventseverity_has_any 动态 仅筛选“EventSeverity”字段位于其中一个列出的值中的警报。

架构概述

警报架构用于多种类型的安全事件,这些事件共享相同的字段。 这些事件使用 EventType 字段进行标识:

  • 威胁信息:与各种类型的恶意活动(如恶意软件、钓鱼、勒索软件和其他网络威胁)相关的警报。
  • 可疑活动:针对不一定为确认威胁、但有些可疑且值得进一步调查的活动来发出警报,例如多次失败的登录尝试或访问限制文件。
  • 用户行为异常:指示可能预示安全问题的异常或意外用户行为(例如异常登录时间或异常数据访问模式)的警报。
  • 合规性违规:与不符合法规或内部策略相关的警报。 例如,使用开放公共端口、容易受到攻击的 VM(云安全警报)。

重要

若要保持警报架构的关联性和有效性,应仅映射与安全相关的警报。

警报架构引用以下实体来捕获有关警报的详细信息:

  • Dvc 字段用于捕获与警报关联的主机或 IP 的详细信息
  • User 字段用于捕获与警报关联的主机或 IP 的详细信息。
  • 同样,ProcessFileUrlRegistryEmail 字段用于捕获与警报相关的进程、文件、Url、注册表和电子邮件的重要详细信息。

重要

  • 生成特定于产品的分析器时,当警报包含有关安全事件或潜在威胁的信息,而且主要详细信息可以直接映射到可用的警报架构字段,请使用 ASIM 警报架构。 警报架构非常适合捕获没有大量特定于实体的字段的摘要信息。
  • 但是,如果你发现自己由于缺少直接字段匹配而将必需字段置于“AdditionalFields”中,请考虑使用更专用的架构。 例如,如果警报包含与网络相关的详细信息,例如多个 IP 地址,包括 SrcIpAdr、DstIpAddr、PortNumber 等,则可以选择使用 NetworkSession 架构作为警报架构。 专用架构还提供专用字段,用于捕获与威胁相关的信息,从而提高数据质量和促进高效分析。

架构详细信息

通用 ASIM 字段

以下列表提到了具有特定警报事件准则的字段:

字段 类型 说明
EventType 必需 Enumerated 事件的类型。

支持的值是:
-Alert
EventSubType 建议 Enumerated 指定警报事件的子类型或类别,从而在更宽泛的事件分类中提供更精细的详细信息。 此字段有助于区分检测到的问题的性质,从而改进事件优先级排序和响应策略。

支持的值包括:
- 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 Alias DvcIpAddr 字段的别名或友好名称。
Hostname Alias DvcHostname 字段的别名或友好名称。
EventSchema 必需 string 用于事件的架构。 此处所述的架构为 AlertEvent
EventSchemaVersion 必需 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 Alias string EventUid 字段的别名或友好名称。
AlertName 建议 string 警报的标题或名称。
例如,Possible use of the Rubeus kerberoasting tool
AlertDescription Alias string EventMessage 字段的别名或友好名称。
AlertVerdict 可选 Enumerated 警报的最终确定或结果,指示警报是确认为威胁,还是被视为可疑,或者作为误报解决。

支持的值是:
- True Positive(确认为法律规定的威胁行为)
- False Positive(错误地标识为威胁)
- Benign Positive(当事件确定为无害时)
- Unknown(不确定或不确定的状态)
AlertStatus 可选 Enumerated 指示警报的当前状态或进度。

支持的值是:
- Active
- Closed
AlertOriginalStatus 可选 string 原始系统报告的警报状态。
DetectionMethod 可选 Enumerated 提供有关特定检测方法、技术或导致生成警报的数据源的详细信息。 通过此字段,我们可以更深入地了解警报的检测或触发方式,有助于了解检测上下文和可靠性。

支持的值包括:
- 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:上述类别未涵盖的所有其他检测方法。
规则 Alias 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 建议 Enumerated 在警报中指明的威胁或恶意软件的类别。

支持的值为:MalwareRansomwareTrojanVirusWormAdwareSpywareRootkitCryptominorPhishingSpamMaliciousUrlSpoofingSecurity Policy ViolationUnknown
ThreatOriginalCategory 可选 string 由发起系统报告的威胁类别。
ThreatIsActive 可选 布尔 指示威胁当前是否处于活动状态。

支持的值为:TrueFalse
ThreatRiskLevel 可选 int 与威胁关联的风险级别。 级别应是介于 0 和 100 之间的数字。

注意:可以在源记录中使用不同的标度提供值,而使用的标度应规范化为此标度。 原始值应存储在 ThreatRiskLevelOriginal 中。
ThreatOriginalRiskLevel 可选 string 发起系统报告的风险级别。
ThreatConfidence 可选 int 已识别威胁的可信度,规范化为 0 到 100 之间的值。
ThreatOriginalConfidence 可选 string 发起系统报告的置信度。
IndicatorType 建议 Enumerated 指标的类型或类别

支持的值是:
-Ip
-User
-Process
-Registry
-Url
-Host
-Cloud Resource
-Application
-File
-Email
-Mailbox
-Logon Session
IndicatorAssociation 可选 Enumerated 指定指标是与威胁相关,还是直接受到威胁的影响。

支持的值是:
-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 条件逻辑 Enumerated 用户 ID 的类型,例如 GUIDSIDEmail

支持的值是:
- GUID
- SID
- Email
- Username
- Phone
- Other
用户名 建议 string 与警报关联的用户的名称,包括域信息(如果可用)。

例如 Contoso\JSmithjohn.smith@contoso.com
用户 Alias string Username 字段的别名或友好名称。
UsernameType 条件逻辑 UsernameType 指定 Username 字段中存储的用户名的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UsernameType

例如,Windows
UserType 可选 UserType 参与者的类型。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserType

例如,Guest
OriginalUserType 可选 string 报告设备报告的用户类型。
UserSessionId 可选 string 与警报关联的用户会话的唯一 ID。

例如,a1bc2de3-fh4i-j5kl-6mn7-op8qr9st0u
UserScopeId 可选 string 在其中定义了 UserId 和 Username 的范围 ID,例如 Microsoft Entra Directory ID。

例如,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&amp;q=u#f

注册表字段

如果警报包含有关注册表实体的详细信息,请使用以下字段来捕获特定注册表相关信息。

字段 类型 说明
RegistryKey 可选 string 与警报关联的注册表项,规范化为标准根密钥命名约定。

例如,HKEY_LOCAL_MACHINE\SOFTWARE\MTG
RegistryValue 可选 string 注册表值。

例如,ImagePath
RegistryValueData 可选 string 注册表值的数据。

例如,C:\Windows\system32;C:\Windows;
RegistryValueType 可选 Enumerated 注册表值的类型。

例如,Reg_Expand_Sz

电子邮件字段

如果警报包含有关电子邮件实体的详细信息,请使用以下字段来捕获特定电子邮件相关信息。

字段 类型 描述
EmailMessageId 可选 string 与警报关联的电子邮件消息的唯一标识符。

例如,Request for Invoice Access
EmailSubject 可选 string 电子邮件的主题。

例如,j5kl6mn7-op8q-r9st-0uv1-wx2yz3ab4c

架构更新

下面是各个不同架构中的更改:

  • 版本 0.1:初始版本。