前言
红队对于拥有成熟安全团队的组织来说,是一个重要的攻防协同团队。通过模拟真实攻击者的行为,红队能够:
-
防止安全事故 -
缩短防御方的响应时间 -
提升产品、系统乃至整个组织的安全态势
通过基于真实威胁情报模拟实际攻击者,红队提供了一个从黑客视角看世界的独特机会。同时,它也能让团队在冷静安全的环境中练习如何快速果断地应对实际事故。
红队的建设、维护和成长伴随着许多挑战。从选择最相关的威胁行为者进行模拟,到安全管理植入物和其他安全工具,再到如何有效地向高管和利益相关者传达高度技术性的见解,各种难题层出不穷。
本文将聚焦这些挑战,深入探讨它们为何困难,并通过 Google 团队的案例研究以及基于与全球众多头部大厂内部红队的对话,探讨如何解决这些问题。
开场故事:一个可疑的包裹
收到礼物总是令人开心的。某天,Google 的工程师收到了一个包裹,里面有信封、等离子球和 USB。工程师打开信封,看到一条友好的消息,祝贺他入职四周年。Google 制作过很多促销物品,但从未制作过等离子球,所以这引起了怀疑。收到这个包裹的是负责制作 Google Glass 的工程师,确实他入职已经四年了。实际上这是 Google 红队发送的。当插入 USB 时,键盘记录器就会启动。红队非常了解 Google 的情况,他们通过这个活动来验证是否能窃取机密信息。事实证明他们确实能够窃取信息,并且掌握了攻击路径构建所需的日志等信息。红队认为,即使只是观察会发生什么也是有价值的。幸运或不幸的是,这次活动提前结束了。工程师感到可疑并向安全团队报告了此事。他们实现了这个防护机制并将其开源。
Stefan 的自我介绍
我长期从事安全工作,从 2001 年开始,但安全团队在那之前就已经存在。不过当时是 20% 项目,Gmail 最初也是 20% 项目。我们后来增加了黑客团队,我从 2019 年开始负责红队。
红队的本质:定义与使命
安全团队很难就目标达成共识。Google 团队的使命宣言是:站在攻击者的立场思考并进行攻击,以便能够应对实际攻击者。寻找新的攻击向量也是使命之一。
美国陆军对红队的定义范围更广。Google 也有专注于特定领域(如 Android)的红队。站在敌人的角度思考。
容易混淆的概念:红队不是覆盖广泛领域的,而是为了达到特定目的而克服最小阻力的。渗透测试是寻找漏洞,而红队寻找漏洞是手段而非目的。
Google 有优秀的安全团队和漏洞赏金计划。个人认为红队在探索和应对两个方面作为蓝队的攻防协同团队很重要。不知道什么时候会遭受攻击,必须考虑到 0Day 的使用和内部威胁。红队不是要发现所有问题,而是要练习蓝队的 playbook,找出什么是看不见的,让蓝队能够快速行动。
红队需要能够适当解释具体风险,能够提供上下文。当有旧的 PHP 存在威胁时,每个人都只关心自己的资产。管理层对漏洞并不感兴趣。红队有优势,能够将漏洞串联起来形成实际攻击。优先级可能不高。
还有另一个方面:红队成本很高。演习可能需要数月,难度逐渐增加,成本也随之上升。没有保证能得到预期结果。敌人不会选择容易的道路。有一次进行了广泛的漏洞调查,但最终被完全无关的第三方软件利用。
重要的是信任。红队必须尽可能真实。有时可能会想做危险的事情。需要评估团队,需要确认是否能安全负责地开展工作。要提高红队的影响力,需要解释变化。红队扮演敌人的角色,讲述某个敌人如何达到目的的 story。早期只记录技术路径,添加了故事部分后,组织改进进展顺利。讲故事能创造共享体验,即使没有技术知识的人也能理解攻击者的视角。提高了吸引力,获得了更广泛的资源。
回想一下文章开头的等离子球,这个问题并不新鲜,纯文本和可见的等离子球,哪个更有影响力?
让红队成功的方法
如何讲述故事?在模拟谁?是国家支持的黑客活动家?不满的用户?企业间谍?动机很重要。决策取决于动机。如果是国家支持,会花更多时间。需要真实思考,需要能够讲述故事。讲述在哪里卡住了,哪里不顺利。能看出实际攻击者可能遇到困难的地方。即使作为红队不顺利,也能分享重要观点。信息接收者更容易想象。
协作的重要性
见过很多红队。有些团队运作得不太好。为什么?因为这是一个即使付钱也要扮演坏人的特殊工作。工作本身变得隐蔽,其他团队会产生敌意。就像真正的敌人一样,结果导致阻力增加,不被理解。
需要重视伙伴关系的红队。提供如何改进的建议,不是指出谁对谁错,而是扮演建设性的角色来促进进化和改进。加强团队的工作,与其他团队合作。让其他部门的人也能适当思考,让红队的工作更容易。
关键成功要素
检测和响应的协作很重要。红队和蓝队的对立很常见,但这是反模式。必须与蓝队合作,因为实际攻击者攻击时也是蓝队应对。
建立信任。与 Security Champion 建立关系。即使不频繁,也要就想法进行对话。成为红队的代言人。与威胁情报团队搞好关系。如果有实际的威胁情报就分享。能够就与真实攻击是否一致进行对话。
不要忘记法律。有些活动可能有合规风险,但要让法务站在我们这边。为此需要行为准则。红队需要自由度。需要让领导们知道边界在哪里,让他们放心。必须有绝对不能逾越的界限。绝对不碰用户数据。使用自己的数据。一定要在真实环境中测试。明确为控制风险要做什么。记录所有活动。虽然麻烦但能获得很大的灵活性。
团队建设与维护
红队需要什么技能?这是个真正困难的问题。找到一个人很容易,但组建团队时即使找相同背景的人也不顺利。每次都变得一样。红队需要能模拟各种攻击的各种人。不是技术和认证,而是经验很重要。
当结果出来时,蓝队的检测能力提高。工作变少。红队也会受到外部压力。导致倦怠。必须明确红队的使命。入侵不是目的,观察才重要。达到技术目标不是最重要的。收集在哪里被检测到,为什么失败的见解才重要。不是输赢的问题。
很多红队成员都倦怠了。作为文化要提供心理安全。让新人看到前辈时不会觉得自己最差。无论环境如何变化都要持续学习。不要持续不断地演习。通过工具开发等活动休息。过度加班不会有好结果。短期效果不如持续工作重要。 -> 题外话:安全行业很多年都没有新叙事了。
总结
红队作为蓝队的攻防协同团队,在组织安全建设中扮演着重要角色。通过模拟真实攻击者的行为,红队能够:
-
提高组织的安全认知 -
加强安全防护能力 -
促进团队协作 -
建立多元化的安全团队
感想
虽然这是关于如何让红队成功的讨论,但很多内容对非红队也适用。需要正确定义团队目标,并在公司内适当宣传。
以上内容编译自 Stefan
原文始发于微信公众号(RedTeam):Google 内部红队的运营与成长经验
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论