应急响应 - 你该关注哪些指标?

背景

​ 回首2021年工作,主要重心是放在了安全运营上。既然负责安全运营自然也逃不开应急响应这一茬。在这个用数字“说话”的时代,那必须是要把应急响应KPI给整的明明白白的。领导们爱看,同行们也可以用来参考。

​ 首先需要明确的一点是,我个人是不排斥数字“说话”的,前提是大家对于应急响应KPI的理解必须一致。为什么这样说?主要是避免后期在复盘的时候在KPI的时间上进行过多的“Battle”。同时也是希望大家可以真正理解这些KPI的含义,更好的去制定这些KPI。

​ 今天这一篇文章主要就是介绍应急响应中的KPI。不过在讨论之前,还是得简单的介绍一下什么是应急响应。

应急响应

什么是应急响应?

​ “应急响应”对应的英文是“Incident Response”(IR),是一种处理安全事件、漏洞和网络威胁的结构化方法。通常是指一个组织为了应对各种意外事件的发生所做的准备以及在事件发生后所采取的措施

应急响应流程

​ 应急响应流程可以参考NIST发布的《计算机安全事件处理指南 (SP 800-61)》其中明确了应急响应4个阶段并细分出了6个步骤。

img

  • 准备阶段:人员、预案手册(Playbook)、工具;
  • 检测与分析阶段:确认安全事件类型,明确事件等级;
  • 遏制、根除和恢复阶段:立即止损,根据安全事件类型选择对应的遏制方法并制定恢复计划;
  • 事后总结:从本次的安全事件中改进流程,并将新数据反馈到应急响应流程的准备阶段。你应该询问、调查并记录以下问题的答案:
    • 发生了什么,在什么时候?
    • 事件响应小组对事件的处理情况如何?是否遵循了流程,是否足够?
    • 更早地发现还需要哪些信息?
    • 是否采取了任何导致损坏或阻碍恢复的错误操作?
    • 如果下次发生同样的事件,我们可以采取哪些不同的做法?
    • 我们能否与其他组织或其他部门更好地分享信息?
    • 我们是否学会了防止类似事件再次发生的方法?
    • 我们是否发现了类似事件的新预兆或迹象,以供将来观察?
    • 需要哪些额外的工具或资源来帮助预防或减轻类似事件?

应急响应指标

MTTD

  • 什么是MTTD?

    MTTD:平均检测时间(Mean time to detect )。MTTD是指从系统故障到检测或告警所需的平均时间。

  • 如何计算MTTD?

    MTTD = 故障与检测之间的总时间/事件数量

    例如:某系统在12:00发生故障,但直到12:10才有人注意到或被提醒,那么此时MTTD是10分钟。

MTTA

  • 什么是MTTA?

    MTTA:平均确认时间(Mean time to acknowledge)。MTTA是指从系统产生告警到人员开始注意并处理的平均时间。

  • 如何计算MTTA?

    MTTA = 检测与确认之间的总时间/事件数量

    例如:安全组件在12:10检测并发送告警后,应急响应人员在12:15开始处理该事件。那么此时MTTA是5分钟。

MTTI

  • 什么是MTTI?

    MTTI:平均调查时间(Mean time to investigate)。MTTI是指从确认一个安全事件到开始调查其原因和解决方案的平均时间。

  • 如何计算MTTI?

    MTTI = 确认告警与分析调查之间的总时间/事件数量

    例如:某安全运营人员在12:15开始处理告警并在12:30完成初步分析及拟定止损方案。那么此时MTTI是15分钟。

MTTC

  • 什么是MTTC?

    MTTC:平均遏制时间(Mean Time to contain)。MTTC是指安全团队找到威胁者并阻止他们进一步进入你的系统和网络所需的时间。

  • 如何计算MTTC?

    MTTC = 分析调查与快速止损之间的总时间/事件数量

    例如:自安全事件在12:10被检测到后,应急响应人员在12:45成功遏制了攻击者的利用方式并阻断了通讯隧道,有效地防止攻击者进行下一步入侵。

    注意:遏制可能是隔离一个电子邮件账户,重设一个用户密码,或关闭一个服务器。遏制是走向恢复的第一步。应急响应团队越快遏制住威胁行为者,越能降低企业受到更大风险的可能性。

MTTR

MTTR有4种不同的测量方法,这是由于R可以代表修复(repair)、恢复(recovery/restore)、响应(respond)和解决(resolve)。虽然这4个指标有重叠,但它们都有各自的含义和细微差别。安全人员通常关注的是平均响应时间这个指标。

  • 平均修复时间(Mean time to repair)

    • 什么是MTTR(平均修复时间)?

      MTTR是修复一个系统的平均时间。它包括维修时间和测试时间,直到系统再次完全运作。

    • 如何计算MTTR(平均修复时间)?

      MTTR = 将修复时间与恢复时间相加/修复次数

      例如:一周内有10次停电,修复系统花费了4个小时。四个小时是240分钟。240除以10是24。这意味着在这种情况下,修复的平均时间是24分钟。

      注意:平均修复时间并不总是与系统中断本身的时间相同。在某些情况下,修复这个动作是在产品故障或系统中断后的几分钟内开始。

  • 平均恢复时间(Mean time to recovery/restore)

    • 什么是MTTR(平均恢复时间)?

      MTTR(平均恢复时间)是指从产品或系统故障中恢复的平均时间。这包括从系统或产品发生故障到其重新完全运作的整个中断时间。

    • 如何计算MTTR(平均恢复时间)?

      MTTR = 将故障时间与恢复时间相加/故障数量

      例如:我们的系统在24小时内在两个独立事件中停机了30分钟。30除以2是15,所以我们的MTTR是15分钟。

      注意:这个指标它包括故障现象出现到告警发出的这段延迟时间与respond有着明显的区别。

  • 平均解决时间(Mean time to resolve)

    • 什么是MTTR(平均解决时间)?

      MTTR(平均解决时间)是指完全解决一个故障所需的平均时间。这不仅包括检测故障、诊断问题和修复问题的时间,还包括确保故障不会再次发生的时间。这个指标代表从“救火”到“防火”的转变。

    • 如何计算MTTR(平均解决时间)?

      MTTR = 将故障时间与完全解决之间的时间相加/故障数量

      例如:你的系统在24小时内的一次事件中总共瘫痪了两个小时,而团队又花了两个小时进行修复,以确保系统中断不会再次发生,这就是解决该问题的总时间。这意味着你的MTTR是四个小时。

      注意:MTTR 最常使用工作时间(8小时)计算(假设你在下班时将故障恢复,并在第二天上班时解决潜在问题,那么你的 MTTR 将不包括下班的16小时)。如果你的团队在能够7X24小时,或者有值班员工在下班后工作,那么这个指标将可以进行适当的微调。

  • 平均响应时间(Mean time to respond)

    • 什么是MTTR(平均响应时间)?

      MTTR(平均响应时间)是指从第一次收到警报时起,直到产品或系统从故障中恢复所需的平均时间。

    • 如何计算MTTR(平均响应时间)?

      MTTR = 检测告警与服务恢复之间的总时间/事件数量

      示例:如果你在一个40小时的工作周里发生了四起事件,并且在这些事件上总共花了一个小时(从警报到恢复),那么你那一周的MTTR将是15分钟。

      注意:平均响应时间不考虑问题已经存在但未被识别的时间。

举个“栗子”

应急响应KPI时间线

image-20220208010258629

  1. MTTD:告警群在12:05上报一起安全告警,(假设告警每5分钟同步一次到群里,理想情况下告警应近乎实时)。MTTD:5分钟(12:05 - 12:00 = 5
  2. MTTA:安全运营团队在12:10开始处理此告警并确认这是一起真实的网络入侵事件,同一时间应急响应团队介入。MTTA:5分钟(12:10 - 12:05 = 5
  3. MTTI:应急响应团队在12:25完成初步分析并根据已有应急预案拟定遏制方案。MTTI:15分钟(12:25 - 12:10 = 15
  4. MTTC:根据预案安全运营团队在12:35完成了安全组件的规则调整,并删除已识别的后门木马遏制了攻击者的利用“路径”。为后续的根除威胁争取到了充足的时间。MTTC:30分钟(12:35 - 12:05 = 30
  5. MTTR:12:50正式通知重新上线业务恢复对外服务。MTTR(Respond):45分钟(12:50 - 12:05 = 45)、MTTR(Recovery):50分钟(12:50 - 12:00 = 50);