漫谈应急响应体系

目录 SOLUTION

三年没写博客了,不知道写啥,也不知道为啥不关站。转岗反入侵团队一年了,记录总结一下。

前几年从一线干到二线,今年又从二线干到一线。回来还是熟悉的味道,但久不经沙场,加上我现在只有三天的记性,手生了不少,更菜了。

这一年主要参与应急响应的工作,和小伙伴一起战时应对突发事件,平时建设响应能力,对应急响应体系也有了一些改观和思考。

之前在乙方的时候对应急响应的认识就是救火,颇具个人英雄主义,遇到困难冲上去解救”人质”。现在觉得应急响应也是一项系统工程,要有自动化、工程化、智能化的能力,才能让”超人”每天不是去救屋顶的猫咪,发生过的事件都可以通过剧本去处理,”超人”要做的是调试好剧本应对已知事件,更重要的是研究新型武器应对未知威胁。所以干应急响应的同学应该是偏研究性质,而不是处理同质、往复的事务性工作。

那么如何构建一个自动化、工程化、智能化的应急响应体系呢?借助一些OOP的思想,把日常应急响应的工作抽象成一个一个的模块,然后封装成一个一个的对象,每个对象完成特定的工作,不同对象之间相互协作,这样就可以把人的工作映射到机器的工作。那么应急响应要做哪些事情呢,可能大家的叫法和分类不同,我把这个流程定义成这几步:取证 -> 分析 -> 定性 -> 报告 -> 处置 – > 溯源,其中分析、定性、报告统称为调查,所以流程也可以是:取证 -> 调查 -> 处置 -> 溯源,下面对每个步骤进行描述:

  • 取证:分别通过在线和离线的方式,获取目标的实时状态和历史状态,作为后续分析的输入。取证获取的信息直接影响后续的定性,所以取证时需要对数据有效性和环境是否可信进行验证,防止取证的结果无效;
  • 调查:根据取证结果,对调查对象是否被入侵进行分析,并给出调查报告,调查又分为分析、定性和报告:
    • 分析:通过分析引擎和应急响应同学沉淀的分析规则,对取证结果进行分析,判断匹配项,每条规则有预设的权重;
    • 定性:根据分析阶段的规则命中情况和定性算法,判断调查结果是否被入侵,算法可以根据权重和各级别规则的命中情况来判断,另外定性阶段预设了攻击场景和TTP,根据规则命中情况分析攻击场景和TTP的相似度;
    • 报告:报告呈现同样重要,一方面报告的关键信息可以为后续的自动化处置提供输入,另一方面人工介入和审查时可以快速获取取证和调查的过程信息,提效作用是很明显的,这个阶段要把定性结论、置信度和场景预测等信息透出;
  • 处置:对调查目标进行定性后,就要进行处置了,处置包括止血、缓解、诱导、反制等等对抗手段,这些手段要像防御手段一样具备纵深,相互互补的同时,在同一条路径下需要不同能力的覆盖;
  • 溯源:完成处置后,如果是个复杂事件,可能还需要溯源,溯源的场景也可以沉淀,比如通过泄露的数据定位泄露源,通过内网机器IP、访问关系和历史基线定位外部攻击者等等。

以上能力抽象出来之后,下面一步是把人类语言转换成机器语言,之后就到最后一步,用自动化编排SOAR把所有对象给串起来,这样已知的事件就可以全链路自动化跑起来了。应急响应同学要做的是把重复劳动编成剧本,然后研究未知威胁。到某个阶段,已知事件都可以自动化完结,应急响应同学70%投入在未知威胁的研究,20%投入在能力建设,10%投入在事件排查,就是我认为的理想状态了,不管是对团队还是个人。

这套体系我们已经建设得差不多了,也已经应用在一些场景,希望能把这块工作做到自己认为的理想状态,比KPI更值得回味。

暂无评论

发表评论

邮箱地址不会被公开。 必填项已用*标注