安全之红蓝对抗简介
什么是红蓝对抗
在军事领域,演习是专指军队进行大规模的实兵演习,演习中通常分为红军、蓝军,演习多以红军守、蓝军进攻为主。类似于军事领域的红蓝军对抗,网络安全中,红蓝军对抗则是一方扮演黑客(蓝军),一方扮演防御者(红军)。在国外的话,进行渗透攻击的团队经常称做红队,在国内称为蓝队实际上应该是比较准确的叫法。
红蓝对抗的目的
安全是一个整体,正如木桶定律,最短的木板是评估木桶品质的标准,安全最薄弱环节也是决定系统好坏的关键。而网络红蓝军对抗的目的就是用来评估企业安全性,有助于找出企业安全中最脆弱的环节,提升企业安全能力的建设。
红蓝对抗关注点
其实红蓝对抗点没有统一的标准,因为很多会涉及到业务以及内网攻击的场景,所以个人认为红蓝团队比较适合甲方团队自己组建,这样信息资源比较可控,做的也会更细致。例如曾经在中小型互联网公司做的红蓝对抗点:
- 外网web安全
- 办公网安全
- IDC主机安全
- DB专项
这边web安全的关注点会不同于渗透测试的团队,例如红蓝团队就会关注一些敏感文件泄漏、管理后台暴露、waf有效性、waf防御效果、违规使用的框架等。再例如办公网安全红蓝团队还会关注安全助手的一些问题,也就是说红蓝团队关注的不仅是应用服务的漏洞,各个安全组件的效果、漏洞都会关注到。
上面都是按照一个个大项来进行,其实还有的红蓝团队是按项目来分,比如说xx支付业务红蓝对抗,给你域名或者ip,让你自由发挥,不限方法拿到目标flag(例如xx支付的数据或者机器权限等),这个过程不要求测的全,以结果为导向。然后红队(防御方)尽可能复盘补漏,把不完善的地方都补齐。后面可以继续进行对抗演练,继续找出薄弱点,这边很考验红队的技术和业务的了解程度,能从蓝队的攻击链路中,找出尽可能多的脆弱点,做出防御策略。所以,我觉得红蓝对抗还是得根据公司的规模、安全人员的比例、技术人员的素养做制定,都按同一套标准是不会适用所有公司的。我的建议就是中小规模公司的红蓝对抗点尽可能覆盖全,尽可能找出全量的脆弱点让红队的人员进行修复后进行新一轮对抗。而大公司就可以不用考虑面面俱到,以夺取目标结果为导向,脆弱点由红队自己发现,红队自己修复,而后周期的进行红蓝对抗。可以看出大公司的红蓝对抗更类似于APT攻击,这也正是大公司蓝队喜欢招APT人员的关系。
红蓝对抗测试的方法
如果是中小型的互联网企业的话,我的方法是先预先讨论好并记录下脑图,然后
- 按专项测试
- 每个专项包含很多点,按点排期测试
- 报告撰写,漏洞闭环
- 例行扫描
- 持续跟进,复盘测试
因为中小型企业个人认为还是以全为主,尽可能把漏洞修复完。大型公司可以大量的人力投入,业务也繁多,还是以结果导向,漏洞的薄弱点由红队确认,所以方法就没有统一的标准。
红蓝对抗注意事项
- 测试前提前报备
- 有可能会影响到业务的操作时候务必提前沟通
- 漏洞的确认按照公司的规范制度制定
- 漏洞和业务沟通确认后再发工单修复
- 漏洞闭环
这边需要注意的是测试需要提前报备,免得事后被业务捅,更要注意的是测试千万不要影响到业务。 还有经常有点大家会忽略的是,一定要进行漏洞闭环,发现漏洞而不去解决漏洞等于无效漏洞。
红蓝对抗所需技术
红蓝对抗不同于渗透测试,红蓝对抗测试的范围很广泛,不仅需要渗透技术,还需要逆向、脚本编程、各种绕过黑魔法等。所以,红蓝对抗不仅需要渗透测试的人才,也需要逆向的工程师,甚至是区块链安全工程师、数据安全方向的工程师等,所以说其实在大公司更容易开展红蓝对抗,因为大公司人才更加齐全。红蓝对抗也需要团队的协作,一个人是比较难完成的,更好的方式,不同的团队进行红蓝对抗,每个团队攻击的方法思路也不尽相同,更能模拟真实的场景攻击,对于红队查缺补漏也更有帮助。如下,是用到的一小部分工具:
- Python
- IDA
- JEB
- Masscan
- Nmap
- Metasploit
- 搜集的各类样本
总结:
红蓝对抗一定要区别于渗透测试,渗透测试这是每个公司的标配。红蓝对抗的价值在于挖掘渗透测试不关注的漏洞或者渗透测试无法覆盖的点,并且持续的对抗,不断帮助业务提升安全能力,完善自己的安全防御。根据自己做的红蓝对抗经验来说,我们发现办公安全助手的漏洞、waf的部署缺和绕过缺陷以及HIDS一些缺陷等。其实这些东西渗透测试很少会去涉及和考虑,而红蓝对抗的作用就显现,这些风险的发现对于自身的安全防御是有很大的帮助的,因为你挖漏洞只是修修补补,而做这些红蓝对抗发现的问题,则是解决一类的问题。对于这种方式的对抗,老大也认可,自己也有很有满足感,所以对于红蓝对抗,其实是很适合互联网安全团队去尝试组建的。