本章为该系列的第16篇,也是事中迎战的第6篇。如果说体现攻击队综合能力的方式是打攻防,那对于防守方来说,体现综合能力的方式就是应急响应。
今天不讲理论,本篇通过一个虚构的应急案例,来看看前几篇所讲的内容如何应用在实战中。我觉得如果攻击方死盯着一个目标打,是一定会突破的,我们在做防守工作的时候一定要有这样的意识。
后面的内容当故事看就行了,且听我慢慢道来,如有雷同,纯属巧合。
像往常一样,大家盯着监控聊着八卦,突然一条情报让所有人都不困了,从攻击现场传出来的情报,听说我们已被攻破。虽然这个时候情报真真假假,但是特殊时期宁可信其有不可信其无,多做些准备总是没坏处的。
这个时候,最坐不住的是领导,领导借助自己的情报优势,提供了一些线索,组织大家展开排查。这时一线监控人员对历史告警进行逐项排查。看了一圈后大家心都凉了,因为每一条告警都完成了闭环处置,没有发现异常,难道说遇到了猪猪侠所说的“无感出局”?
然后赶紧调整排查方向,不能只看告警了,需要对原始日志进行分析。原始日志可比告警大出好几个量级。说实话,没什么好方法,只能一条一条看,大海里捞针一样……
不过功夫不负有心人,一组奇怪的流量引起了大家的注意,超长和加密的数据,与正常业务流量有很大差别,顺着这条线索对源ip进行了排查,发现了大量类似的网络请求,随即升级到二线分析研判组进行深入分析,最后定性为攻击事件,先把ip封了吧。
攻击队采用了多种绕过方式组合利用,导致全程一条告警都没有,说实话,“让防守方无感出局”以前我是不相信的,现在真是刷新了我的认知。
二线研判完成定性之后,还要进一步分析攻击者到底做了什么,看看我们的问题到底在哪,有什么损失。攻击流量中有很多混淆,分析起来非常困难,于是我们转变思路,用流量日志+应用日志进行进一步分析。应用日志量也不小,不过已经掌握了payload的特点,可以通过编写脚本对日志文件进行批量处理。说干就干,这时已经凌晨2点了,线索就是兴奋剂,大家颇有不搞清楚不睡觉的状态,脚本调试完毕后,在几十G的日志中提炼出攻击数据,去除了垃圾字段,最后攻击payload终于水落石出。
图片
拿着payload对目标系统进行验证,完了,真的存在漏洞,赶紧联系处置组修复漏洞,把漏洞成因给系统负责人讲清楚后,立即对功能代码进行修复。同时,安全运营人员针对攻击特征配置了防护规则,可以有效检测和阻断攻击流量。
很多人为此彻夜不眠,历时48小时,事件处置完毕,整个过程报告组全程参与,最后输出应急响应报告,至此,应急结束。
最后聊聊我对攻与防关系的看法。
在赛场上遇到这种高水平对抗是一件幸运的事,虽然应急的过程很痛苦,但感觉酣畅淋漓,人生能有几回搏,这不就算一次。
如果有攻击队搞你,你会不会对其恨之入骨,想要鱼死网破?我见过很多防守单位都是这样,被攻击之后恨不得要了攻击人员的命,我觉得这是没有格局的做法,攻击队拿出毕生所学帮我们发现安全问题,我们应该感谢才是,平时我们投入多少预算都不一定有这样的机会历练。
攻防赛场上,对手用尽全力这是对我们的尊重,双方队员都拿出看家本领,打的有来有回,这样的比赛才精彩,也能真正达到演习的目的。我们都不喜欢看放水的比赛,对不对。
每一次应急响应都是一次螺旋提升,别抱怨为什么攻击队搞我们,更不要把攻击队当成敌人,没有他们,就没有今天的我们。可能我们整个安全生涯都不一定能遇到几次这样的应急事件,经过实战打磨,我们的人员能力和防护水位都会有提升,我向高水平的攻击队致敬。
原创 十九线菜鸟学安全