目录
一、背景
首先看看百度百科对红蓝对抗的介绍如下:
“红蓝对抗” 是指“蓝军”模拟真实攻击,“红军”负责应对处置,双方在对抗中,不断提升“红军”处置各类突发警情的能力。
用一句话总结:红蓝对抗就是通过攻击方模拟真实攻击行为,去验证防守方实际防护能力,最终实现提高整体防护水平的一种演练方法。
网络安全领域特点也符合攻击对抗的特点,慢慢地这种原来在军事活动上使用的演练方法,也在网络安全领域流行起来。你不知别人怎么攻击,怎么能防护住攻击?以攻促防成了大家的共识。
(ps:国外红蓝对抗中,攻击队叫:Red Team(红队);防守队叫:Blue Team(蓝队),刚好和国内相反,还挺有意思的,记住国外叫队,国内叫军就好)
二、玩法
要把红蓝演练开展起来,梳理了比较重要的5点内容:
1、目的&方案
每次红蓝对抗开始前,都需要提前确认好演练想要达成的目的,然后再基于这个目的设计演练的场景方案。例如目的是想验证和发现公司云服务的业务风险,基于云服务特点设计出盗取用户云端数据或拿下服务服务器等演练目标。
2、评估机制
演练结果评估机制,例如比较通用的打分制,攻击方拿到什么结果获取什么分数,防守方发现和阻止攻击行为也会得到对应加分,最后通过分数量化攻防双方的结果。
3、人员
确定演练的人员,主要分为攻击方和防守方。有些时候还有有紫队这个角色,负责整体演练的组织保证以及评审打分,相当于有一个第三方角色在攻防中间。
4、开展过程
攻击过程(这只是个逻辑过程,实际情况可能是多个环节往复)
信息收集 》边界突破 》权限突破 》横向移动
5、结果闭环
1.演练前攻防双方基于演练进行各自的准备工作。
2.演练中组织者要及时跟进攻防双方的进展,比如攻击方一直无法突破边界进入内部,这时就要灵活处理比如单独开通一个通道供攻击方使用,避免整个演练下来什么有价值的风险都没有发现。对于防守方如果在很早就被打穿了也可以增加攻击范围和途径,尽快发现更多问题。这些能提前预知到的场景可以提前制定预案,演练过程中可能发生更多意想不到的,随时关注变化及时解决问题才能保证演练效果可控。
3.演练后针对风险和问题复盘和修复也是十分重要的,如果问题发现了,但是没跟进好,导致没有彻底修复,这和问题没有被发现没有本质区别。
三、落地
根据笔者接触到的情况来看,企业红蓝演练落地和演进情况。
阶段一:一个人攻击队
企业起步做红蓝演练时,会从搞渗透测试团队中选小部分能力比较强的人组成攻击队,可能就一个人。这时候防守队基本不会投入人力,让安全运营团队的人兼任就行,演练后核对下哪些攻击行为被检测出来了,哪些没有被检测出来,从而优化检测策略。这时可能防守队不会干预攻击队的行为,因为攻击队能力比较有限,干预了就玩不成了。演练的靶标确定也是根据攻击队自己能力确认。
阶段二:三五成群
随着对攻击队人员投入,攻击队里开始出现人员分工,每个人负责自己擅长的部分,团队合作,把靶标拿下。攻击队也慢慢开始积累自己的武器库以及一些技术上的沉淀,能比较高效地进行风险发现和利用。这时候把该发现的风险也发现,防守方也把问题修复得差不多了。红蓝演练进入一个瓶颈期。
阶段三:外部资源引入
这时候引入外部红蓝服务资源,可能是一个解决方案,通过与行业一流的攻击队交流合作,评估内部攻击队的瓶颈点,以及安全能力水位情况,重新审视红蓝演练这个事情,把人力聚焦在关键方向上,突破瓶颈。
阶段四:演练及服务
企业有专门的攻击团队承接业务侧提出的演练需求。攻击团队也会制定自己的攻击演练计划,帮忙业务发现更多安全风险。
阶段五:能力变现
演练能力输出,帮忙其他企业开展红蓝演练,并将安全由成本部门变成为公司盈利的部门。
四、困难
困难一:价值呈现
演练可以通过主动方式测试业务安全性,然后将结果呈现给业务看,让业务了解到面临的安全风险,从而更好地推动各项安全工作的开展。但是将演练结果转换成业务容易了解的内容对于搞攻击搞技术的人来说是有困难的,他们可能会说通过这个漏洞可以拿下业务的服务器权限。但是对于拿下服务会产生什么业务危害就不会当重点说,更不会在演练中针对验证这些危害了。
困难二:团队合作
刚起步的红蓝演练,更多是个人依靠经验开展,如果没有比较良好的团队合作机制,很可能就变成一部分人一直在干活,一部分人什么也没有干。最后得到的结果也不会特别好。
困难三:能力积累
攻击队是需要持续的能力积累的,需要提供环境或机会让攻击队能有持续技术输入,才能保护持续成果输出。例如增加技术培训,组织参加安全类的大赛,多元化锻炼攻击队的技术能力和思维方式,攻击有时候思维方式比技术能力要重要。