一本书讲透混合云安全
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 红蓝对抗

“红蓝对抗”源自军事领域,是一种部队模拟对战的方法。在这个过程中,通过模仿对手的思维,运用不同技术、方法、概念以及实际演练,来构建攻击策略评估体系。实质上,网络上的红蓝对抗是人与人的对抗,并且利用像飞机、大炮等重武器一样的木马、0day武器取得空间上的优势。本书采用和西方一致的称谓,以红队代表攻击方,蓝队代表防守方(国内有人也把红队作为防守方)。除此之外,裁判组紫队负责收集和记录攻守双方的战斗信息,并根据报告信息进行评分、扣分及得分情况的判定。

红队往往会根据战场情况制定不同的作战方针。红队的ATT&CK模型包括侦察跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、目标达成,即攻破蓝队防线的7个阶段,如图1-3所示。

蓝队作为防守方,在平时积极构筑自己的从基础到高级的威胁防御体系,并在实战对抗中进行检验。蓝队的预防、检测、监测、响应、溯源是体系化安全能力建设的主要手段。

每次攻防战斗的前两步(PRE-ATT&CK)包括踩点、信息收集等,后五步(ATT&CK For Enterprise)更多是初始化、常驻、提权、横向移动等,构成一个完整的攻击链。

在网络安全领域,攻击方和防守方的较量从未停止过。知己知彼,百战百胜。为了取胜,蓝队需要研究红队的攻击思路来确定如何组织防守。就像战争一样,通常红队会采用正面攻击和侧翼包围的方式,蓝队会采取有针对性的防御措施,固守待援,并呼叫专业的安全厂商协助。然而,临时召集人员代替不了常态化的全员设防。演练的目的并不是取得胜利,更多的是回顾和提高能力,特别是进行溯源和反制能力的建设。在擂台上,没有一位拳击手会站着挨打。

图1-3 攻击链

本书的重点并不是探讨强大的红队进攻工具,而是关注蓝队的网络安全检测和响应能力。除了常规的防火墙、入侵检测、安全运营及威胁情报等,自动封锁、蜜罐、蜜签等也是蓝队有效的反制手段。

1.3.1 人的对抗

网络安全的实质是人与人的对抗、团队与团队的对抗、公司与公司的对抗、国家与国家的对抗等。过去,许多攻击者会在凌晨时分趁大家熟睡之际出手,但这种老套路已经被防守方有针对性地应对了。现在的网络攻击常常是由高水平的黑客团队,甚至高级持续性威胁(Advanced Persistent Threat,APT)组织实施的。与防守方的白帽子一样,这些黑客团队也在不断改变。APT攻击是指某组织对特定目标持续有效的攻击,这可能是出于政治或商业目的。

• A(Advanced,高级):APT攻击的方式较一般的黑客攻击要高明很多。攻击者在攻击前一般会花费大量时间去搜集情报,如业务流程、系统的运行情况、系统的安全机制、使用的硬件和软件、停机维护的时间等。

• P(Persistent,持续性):APT攻击通常是一种蓄谋已久的攻击。传统的黑客攻击通常持续几小时或几天,而APT攻击通常以年计,潜伏期可能是一年甚至更长的时间。

• T(Threat,威胁):APT攻击针对的是特定对象,目标非常明确,多数是大企业或政府组织,一般是为了获取敏感信息,对被攻击者来说是一种巨大的威胁。

在美国国家安全局对西北工业大学发起的网络攻击事件中,被称为“饮茶”的嗅探窃密类网络武器是导致大量敏感数据被窃的主要原因之一。这种攻击利用先进的手段和社会工程学方法,通过渗透和提权,长期潜伏在内部网络中,不断地收集各种信息,直至窃取到重要情报。

网络安全建设通常会从合规阶段开始,逐步发展到响应阶段,最后进入反制阶段,如图1-4所示。

传统的安全设计和防护以符合安全合规标准为主,以应对安全事件(威胁)为辅。然而,如果将合规误解为通过就行,不重视实战效果,这样下去容易出问题。众多网络安全事故显示,满足合规标准只能确保基础安全,解决基本问题,无法抵御APT等外部攻击。“磨刀不误砍柴工”,想要做好工作,就要先做好准备。

图1-4 网络安全建设阶段

弱者想要获得胜利,除了增强自身的能力,还需要使用好的工具作为武器来实现快速响应。安全工具一直在推陈出新,之前已有合规“老三样”——防火墙(FW)、入侵防御系统和防病毒(AV)软件,随后又有了下一代防火墙(NGFW)、抗D(Anti-DDoS)、安全运营中心(SOC/SIEM)等,近年来更是推出了网络检测与响应(NDR)系统、终端检测与响应(EDR)系统、托管检测与响应(MDR)系统、威胁情报平台(TIP)、态势感知(SA)平台等多种高端安全产品。这些产品形成了针对APT威胁防护的扩展检测和响应(XDR)体系。

如今,随着信息技术的不断发展,网络战已经成为现代战争中不可忽视的一部分。从网络战的角度来看,最理想的情况是依靠自身的强大,不战而屈人之兵。然而,现实往往不尽如人意,树欲静而风不止,未来难免会被迫主动出击。此时,跳出防守的局限,以进为退,不惹事也不怕事,便成为应对之策。搜集威胁情报、构建攻击者画像、识别工具特征等威慑和反制手段,必然是主动出击中的重要措施。在网络战中,谁善于利用这些手段,谁就能占得先机。

1.3.2 ATT&CK模型

攻击防御是网络安全领域的一大难题,如何有效地分析攻击者的行为模式和攻击技术一直是业内人士探讨的重要话题。在这个领域,一个备受瞩目的理论模型是非营利组织MITRE提出的对抗战术、技术和常识(Adversarial Tactics,Techniques,and Common Knowledges,ATT&CK)模型。该模型能够完整覆盖攻击链,用于分析攻击者的战术、技术及过程(Tactics,Techniques and Procedures,TTP),是一种有效的威胁分析模型。随着ATT&CK模型在厂商及企业中被广泛采用,它的知识库已经成为了解攻击者行为模型与攻击技术的权威。

ATT&CK模型旨在提供对抗行动和信息之间的依存关系,让防御者能够清晰地追踪攻击者采取每个行动的动机。自首次发布以来,ATT&CK模型不断发展和完善。截至2020年10月,最新版本的ATT&CK For Enterprise已经包含超过14个分类的战术和177个技术,而且这些技术包含着180万个变异后的过程。这是一个浩大的工程,体现了ATT&CK模型在信息安全领域的卓越地位和深远影响。其14种战术如表1-1所示。

表1-1 ATT&CK模型中的14种战术

在战术基础上,ATT&CK模型还整理了常见的APT战术和技术(https://mitre- attack.github.io/attack-navigator/),并对它们进行了编号。

例如,想了解APT10,在搜索框中输入APT10,并选取它作为威胁组织,可以发现APT10是一个已知的APT组织,自2009年以来一直活跃。该组织还被称为menuPass、Stone Panda、ChessMaster、Cloud Hopper和Red Apollo。如果想了解它们常用的攻击手段组合,在颜色板上选择绿色,可以看到更多技术。其中,最常见的攻击手法是利用网站漏洞进行攻击。图1-5是ATT&CK中某个APT组织攻击的跟踪样例。

在图1-5中,初始访问(Initial Access)是指利用9项技术之一来攻击对方网络,找到一个入口及入口载体。例如,利用鱼叉式网络钓鱼、公开应用程序漏洞、供应链失陷等方法,获取外围系统的访问权限,并提升权限,最后在该系统上执行对目标的攻击代码。在许多靶场练习中,练习者也会通过这种方式,使用公开可用的漏洞来获得对目标系统的访问。

ATT&CK模型中每一项攻击技术和子技术都会有相应的应对措施,以帮助防守者提升安全防护能力。目前,ATT&CK模型中已经有42项应对措施,包括防病毒、审计、代码签名、漏洞扫描、应用程序隔离、沙盒、漏洞利用防护、网络入侵防护、威胁情报计划、软件更新、操作系统配置、加密敏感信息、多因素认证等。在对抗中,网络攻击的溯源可能非常困难,尽管已经将APT组织与各种攻击和技术联系在一起,但APT组织的确切身份和攻击动机仍然是无法确定的,还需进行调查和辩论。

图1-5 ATT&CK中某个APT组织攻击的跟踪样例

痛苦金字塔(Pyramid of Pain)很好地描述了在攻击事件分析中各类威胁指标(Indicator of Compromise,IoC)的提取难度和价值。位于塔尖的TTP是痛苦金字塔中提取难度系数最高的一个IoC,需要大量的样本、经验和长时间的积累才能完成。位于塔底的攻击样本中的哈希(Hash)值是样本中最容易获取的值,如图1-6所示。

对于攻击检测,很多防御模型虽然会向防守者显示警报,但不提供引起警报事件的更多上下文。ATT&CK模型提供了对抗行动和信息情报之间的依存关系,防守者就可以追踪攻击者采取每项行动的动机,并了解这些行动的依存关系。

由于ATT&CK模型的应用潜力并没有得到充分挖掘,美国网络与基础设施安全局(CISA)和国土安全系统工程与发展研究所(HSSEDI)共同制定了一份《MITRE ATT&CK映射的最佳实践指南》,旨在帮助网络威胁分析师将攻击者的TTP映射到ATT&CK模型指引中,以提高防守者主动检测对手行为和共享行为情报的能力。

ATT&CK的官方网站(https://attack.mitre.org/versions/v8/#)上有很多有用的信息。

通过ATT&CK模型,防守者可以更好地掌握攻击的全貌,有针对性地应对攻击,并最终实现信息安全的目标。

图1-6 痛苦金字塔

1.3.3 黑盒测试

红队的攻击渗透人员需要具备较强的漏洞挖掘能力和漏洞感知能力,同时具备实战技能,针对在单个系统中发现的漏洞,能推断出其他系统是否也会出现类似问题。

蓝队防守人员需要熟悉自身系统,要擅长利用黑盒检测先于红队发现自身系统的漏洞和弱点。检测之前,对应用系统(包括系统的所有功能、与其他系统的调用关系、接口开放情况、系统架构等)进行跟踪了解。