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

利用事件指标更好地管理 SOC

注意

有关美国政府云中的功能可用性的信息,请参阅美国政府客户的云功能可用性中的 Microsoft Sentinel 表。

作为安全运营中心 (SOC) 管理员,需要随时可以获得总体效率指标和度量值,以衡量团队的表现。 需要按许多不同的条件来查看一段时间内的事件操作,如严重性、MITRE 技巧、平均会审时间、平均解决时间等等。 Microsoft Sentinel 现在使用 Log Analytics 中新的“SecurityIncident”表和架构以及附带的“安全运营效率”工作簿提供此数据 。 你将能够直观显示团队在一段时间内的表现,并使用此见解来提高效率。 还可以针对事件表来写入和使用自己的 KQL 查询,以创建符合特定审核需求和 KPI 的自定义工作簿。

使用安全事件表

“SecurityIncident”表内置于 Microsoft Sentinel 中。 可以在“日志”下的“SecurityInsights”集合中找到该表及其他表。 可以像在 Log Analytics 中的任何其他表一样对其进行查询。

安全事件表

每次创建或更新事件时,都会向表中添加一个新的日志条目。 这样可以跟踪对事件所做的更改,并允许更强大的 SOC 指标,但为此表构造查询时需要注意此点,因为可能需要删除事件的重复条目(取决于所运行的确切查询)。

例如,如果想要返回按事件编号排序的所有事件的列表,但只想返回每个事件的最新日志,则可以结合使用 KQL summarize 运算符arg_max() 聚合函数来执行此操作:

SecurityIncident
| summarize arg_max(LastModifiedTime, *) by IncidentNumber

更多示例查询

事件状态 - 给定时间框架内按状态和严重性显示所有事件:

let startTime = ago(14d);
let endTime = now();
SecurityIncident
| where TimeGenerated >= startTime
| summarize arg_max(TimeGenerated, *) by IncidentNumber
| where LastModifiedTime  between (startTime .. endTime)
| where Status in  ('New', 'Active', 'Closed')
| where Severity in ('High','Medium','Low', 'Informational')

按百分位排序的关闭时间:

SecurityIncident
| summarize arg_max(TimeGenerated,*) by IncidentNumber 
| extend TimeToClosure =  (ClosedTime - CreatedTime)/1h
| summarize 5th_Percentile=percentile(TimeToClosure, 5),50th_Percentile=percentile(TimeToClosure, 50), 
  90th_Percentile=percentile(TimeToClosure, 90),99th_Percentile=percentile(TimeToClosure, 99)

按百分位排序的会审时间:

SecurityIncident
| summarize arg_max(TimeGenerated,*) by IncidentNumber 
| extend TimeToTriage =  (FirstModifiedTime - CreatedTime)/1h
| summarize 5th_Percentile=max_of(percentile(TimeToTriage, 5),0),50th_Percentile=percentile(TimeToTriage, 50), 
  90th_Percentile=percentile(TimeToTriage, 90),99th_Percentile=percentile(TimeToTriage, 99) 

安全运营效率工作簿

为了补充 SecurityIncidents 表,我们提供了现成安全运营效率工作簿模板,可以使用该模板来监视 SOC 操作。 工作簿包含以下指标:

  • 随时间创建的事件
  • 通过关闭分类、严重性、所有者和状态创建的事件
  • 平均会审时间
  • 平均关闭时间
  • 随时间按严重性、所有者、状态、产品和策略创建的事件
  • 会审时间百分位数
  • 关闭时间百分位数
  • 每个所有者的平均会审时间
  • 最近活动
  • 最近关闭分类

通过从 Microsoft Sentinel 导航菜单选择“工作簿”并选择“模板”选项卡,可找到此新工作簿模板。从库中选择“安全运营效率”并单击“查看保存的工作簿”和“查看模板”按钮 。

安全事件工作簿库

安全事件工作簿完成

可以使用模板来创建自己的自定义工作簿,以满足特定需求。

SecurityIncidents 架构

架构的数据模型

字段 数据类型 说明
AdditionalData 动态 警报计数,书签计数,注释计数,警报产品名称和策略
AlertIds 动态 从中创建事件的警报
BookmarkIds 动态 已标记书签的实体
分类 string 事件关闭分类
ClassificationComment string 事件关闭分类注释
ClassificationReason string 事件关闭分类原因
ClosedTime datetime 上次关闭事件的时间戳 (UTC)
注释 动态 事件注释
CreatedTime datetime 创建事件的时间戳 (UTC)
说明 string 事件描述
FirstActivityTime datetime 第一个事件时间
FirstModifiedTime datetime 首次修改事件的时间戳 (UTC)
IncidentName string 内部 GUID
IncidentNumber int
IncidentUrl string 指向事件的链接
标签 动态 标记
LastActivityTime datetime 最后一个事件时间
LastModifiedTime datetime 上次修改事件的时间戳 (UTC)
(当前记录描述的修改)
ModifiedBy string 修改事件的用户或系统
所有者 动态
RelatedAnalyticRuleIds 动态 从中触发事件警报的规则
严重性 string 事件的严重性(高/中/低/信息)
SourceSystem string 常量 ('Azure')
Status string
TenantId string
TimeGenerated datetime 创建当前记录的时间戳 (UTC)
(修改事件时)
标题 string
类型 string 常量 ('SecurityIncident')

后续步骤