1.1 MITRE ATT&CK是什么

一直以来,没有人能够很好地回答图1-1中的问题,直到MITRE ATT&CK的出现。自2015年发布以来,MITRE ATT&CK风靡信息安全行业,迅速被世界各地的许多安全厂商和信息安全团队采用,在他们看来,MITRE ATT&CK是近年来信息安全领域最有用和最急需的一个框架。ATT&CK提供了一种许多组织机构迫切需要的关键功能——用一种标准化的方法来开发、组织和使用威胁情报防御策略,实现企业合作伙伴、行业人员、安全厂商以相同的语言进行沟通和交流。下文我们将详细介绍MITRE ATT&CK框架。

1.1.1 MITRE ATT&CK框架概述

MITRE是一个向美国政府提供系统工程、研究开发和信息技术支持的非营利性组织。作为承接政府项目的第三方机构,MITRE公司管理着美国联邦政府投资研发中心(FFRDCS),于1958年从麻省理工学院林肯实验室分离出来后参与了许多最高机密的政府项目,其中包括开发FAA空中交通管制系统和AWACS机载雷达系统。MITRE在美国国家标准技术研究所(NIST)、美国国土安全部网络安全和信息保证办公室(OCSIA)等机构的资助下,开展了大量的网络安全实践。例如,MITRE公司在1999年发起了常见披露漏洞项目(CVE,Common Vulnera-bilities and Exposures)并维护至今。其后,MITRE公司还维护了常见缺陷列表(CWE,Common Weakness Enumeration)这个安全漏洞词典。

2013年,MITRE公司为了解决防守方面临的困境,基于现实中发生的真实攻击事件,创建了一个对抗战术和技术知识库,即Adversarial Tactics,Techniques,and Common Knowledge,简称ATT&CK。由于该框架内容丰富、实战性强,最近几年发展得炙手可热,得到了业内的广泛关注。图1-2显示了Google Trends上ATT&CK这个词语的热度发展趋势。

图1-2 ATT&CK框架的热度发展趋势

MITRE ATT&CK提供了一个复杂框架,介绍了攻击者在攻击过程中使用的180多项技术、360多项子技术,其中包括特定技术和通用技术,以及有关知名攻击组织及其攻击活动的背景信息和攻击中所使用的战术、技术。简单来说,MITRE ATT&CK是一个对抗行为知识库。该知识库具有以下几个特点:

• 它是基于真实观察数据创建的。

• 它是公开免费、全球可访问的。

• 它为蓝方和红队提供了一种沟通交流的通用语言。

• 它是由社区驱动发展的。

基于威胁建模的ATT&CK框架如图1-3所示。

图1-3 基于威胁建模的ATT&CK框架

在ATT&CK框架中,战术代表了实施ATT&CK技术的原因,是攻击者执行某项行动的战术目标。战术介绍了各项技术的环境类别,并涵盖了攻击者在攻击时执行活动的标准、标记等信息,例如持久化、发现、横向移动、执行和数据窃取等战术。

在ATT&CK框架中,技术代表攻击者通过执行动作来实现战术目标的方式。例如,攻击者可能会转储凭证,以访问网络中的有用凭证,之后可能会使用这些凭证进行横向移动。技术也表示攻击者通过执行一个动作要获取的“内容”。

ATT&CK框架自2015年发布以来,截至本书编写时已经更新了10个版本,战术从最初的8项发展到现在的14项,技术也从最初的60多项发展到现在的180多项,其中还包括360多项子技术。整体来说,ATT&CK由一系列技术领域组成。这些技术领域是指攻击者所处的生态系统,攻击者必须绕过这些系统限制方可实现其目标。迄今为止,MITRE ATT&CK已确定了三个技术领域——Enterprise(用于传统企业网络和云技术)、Mobile(用于移动通信设备)、ICS(用于工业控制系统),如表1-1所示。在各技术领域,ATT&CK定义了多个平台,即攻击者在各技术领域进行操作的系统。一个平台可以是一个操作系统或一个应用程序(例如,Microsoft Windows)。ATT&CK中的技术和子技术可以应用在不同平台上。

表1-1 ATT&CK技术领域

在刚开始推出Enterprise ATT&CK时,ATT&CK专注于攻击者入侵系统后的行为,大致对应Kill Chain[1]中从漏洞利用到维持的阶段。这符合防守方所处的情况,即防守方仅具有对自己网络的可见性,无法揭露攻击者入侵成功前的行为。在ATT&CK初次发布后,MITRE的一个独立团队希望按照Enterprise ATT&CK的格式向左移动,列出导致攻击者成功入侵的攻击行为,于是在2017年发布了PRE ATT&CK。图1-4展示了PRE ATT&CK与Kill Chain的对比图。

图1-4 PRE ATT&CK与Kill Chain的对比图

PRE ATT&CK框架发布后,ATT&CK社区中的一些人开始利用它来描述攻击者入侵成功前的攻击行为,但该框架的使用率并不高。同时,许多企业反映,Enterprise ATT&CK仅涵盖攻击者入侵成功后的行为,这在一定程度上限制了Enterprise ATT&CK的能力。对此,MITRE在2018年将PRE ATT&CK集成到Enterprise ATT&CK版本中(见图1-5),将PRE ATT&CK的“启动”和“威胁应对”战术纳入Enterprise ATT&CK的“初始访问”战术中。

图1-5 PRE ATT&CK与Enterprise ATT&CK合并

之前,MITRE称PRE ATT&CK+Enterprise ATT&CK涵盖了完整的Kill Chain。但实际上PRE ATT&CK还包括侦察前情报规划在内的多种战术。后来,MITRE的Ingrid Parker与ATT&CK团队合作制定了一个标准,以确定PRE ATT&CK中的哪些技术可以融入Enterprise ATT&CK中,具体标准包括以下内容。

技术性标准:攻击行为与电子设备/计算机有关,而不是与计划或人类情报采集有关。

可见性标准:攻击行为对某个地方的防守方可见,不需要国家级的情报能力,例如ISP或DNS厂商。

证明攻击者的使用情况:有证据表明某种攻击行为已被攻击者在“在野攻击”中使用。

根据以上标准进行筛选后,将PRE ATT&CK整合到Enterprise ATT&CK中成为两个新战术,如下所示。

侦察:重点关注试图收集信息以计划在未来进行攻击的攻击者,包括主动或被动收集信息以确定攻击目标的技术。

资源开发:重点关注试图获取资源以进行攻击的攻击者,包括攻击者为实现目标而获取、购买或破坏/窃取资源的技术。

精简后,PRE矩阵只包含侦察和资源开发这两个战术(见表1-2),战术下包含技术和子技术。虽然这些技术/子技术大部分没有缓解措施,但防守方可以参照这些攻击行为,做到一些暴露面的收缩。

表1-2 精简版本的PRE矩阵

Enterprise版本中除了涵盖常见的Windows、Linux、macOS等平台,随着越来越多的企业上云,还新增了云环境内容,包含Azure AD、Office 365、Google Workspace、SaaS、IaaS等平台。而网络环境中的矩阵主要涵盖了针对网络基础设施设备的攻击技术,包含AWS、GCP、Azure、Azure AD、Office 365、SaaS等平台。

近年来,容器作为一种使用便捷、可移植性强的基础设施,使用率日益攀升,但容器所面临的安全问题也日益严峻。MITRE在2021年4月发布的ATT&CK V9版本中公布了ATT&CK容器矩阵,受到了容器使用者的广泛关注。关于ATT&CK在容器安全领域的运用,本书第2章中会进行详细介绍。

此外,MITRE还创建了一个ATT&CK for ICS框架。ICS包括监督控制和数据采集(SCADA)系统以及其他控制系统配置,广泛用于电力、水务、燃气、化工、制药、食品以及其他各类制造行业(汽车、航空航天等)。在这些行业中,越来越多的企业开始使用信息技术解决方案来加强系统的相互连接和远程访问能力,不同领域的ICS也保持着各自的行业特性。同时,ICS中的执行逻辑往往会对现实世界产生直接影响,执行不当会导致包括人身安全受到威胁、自然环境污染、公共财产损毁在内的各种后果,对工作生产、人类活动、国家经济发展造成严重危害,ICS网络安全的重要性不言而喻。ATT&CK for ICS描述了攻击者在ICS网络攻击中各环节的战术、技术和步骤(TTP),从而帮助企业更好地进行风险评估,防范安全隐患。

针对不同平台的矩阵图,感兴趣的读者可以访问MITRE ATT&CK网站,单击导航栏“矩阵(Matrices)”,查看详细信息。

1.1.2 ATT&CK框架背后的安全哲学

ATT&CK框架之所以能够从各类安全模型和框架中脱颖而出,获得众多安全厂商的青睐,主要是因为其核心的三个概念性想法,具体内容如下所示。

攻击视角:保持攻击者的视角。

实践证明:通过实例介绍跟踪攻击活动的实际情况。

抽象提炼:通过抽象提炼,将攻击行为与防御对策联系起来。

1. 攻击视角

ATT&CK模型中介绍的战术和技术是从攻击者的视角出发的,而其他许多安全模型是从防守方的视角自上而下地介绍安全目标的(例如CIA模型),有的侧重漏洞评级(例如CVSS),有的侧重风险计算(例如DREAD)。ATT&CK使用攻击者的视角,相比于纯粹的防守方视角,更容易理解上下文中的行动和潜在策略。从检测角度而言,其他安全模型只会向防守方展示警报,而不提供引起警报事件的任何上下文。这只会形成一个浅层次的参考框架,并没有提供导致这些警报的原因,以及该原因与系统或网络上可能发生的其他事件的关系。

视角的转换带来的关键变化是,从在一系列可用资源中寻找发生了什么事情转变为按照ATT&CK框架将防守策略与攻击策略进行对比,预测会发生什么事情。在评估防守策略的覆盖范围时,ATT&CK会提供一个更准确的参考框架。ATT&CK还传达了对抗行动和信息之间的关系,这与使用何种防御工具或数据收集方法无关。然后,防守方就可以追踪了解攻击者采取每项行动的动机,并了解这些行动和动机与防守方在其环境中部署特定防御策略之间的关系。

2. 实践证明

ATT&CK所描述的活动大多数取材于公开报告的可疑高级持续威胁组织的行为事件,这为ATT&CK能够准确地描述正在发生或可能发生的在野攻击奠定了基础。攻击技术研究一般会研究攻击者和红队可能通过哪些技术来攻击企业网络,这些技术可能会绕过目前常用的防守方案。ATT&CK也会将进攻性研究中发现的技术纳入其中。由于ATT&CK模型与事件密切相关,因此该模型基于可能遇到的实际威胁,而不是那些仅存于理论中的威胁。

ATT&CK主要通过以下几个渠道来收集新技术相关的信息:

• 威胁情报

• 会议报告

• 网络研讨会

• 社交媒体

• 博客

• 开源代码仓库

• 恶意软件样本

因为很多企业发现的绝大多数事件并未进行公开报道,所以除了以上几个渠道,ATT&CK还会通过未报告的安全事件获得新技术相关的信息。未报告的安全事件可能包含有关攻击者的作战方式和攻击手法的宝贵信息。通常,需要将潜在的敏感信息或危害性信息与攻击技术区分开来,这有助于发现新技术或者技术变体,也便于展示统计数据,显示技术使用的普遍性。

3. 抽象提炼

ATT&CK框架与其他威胁模型之间的重要区别在于,其可以对相关的攻击战术和技术进行抽象提炼。ATT&CK是针对攻击者生命周期的高级抽象模型。Cyber Kill Chain®、Microsoft STRIDE等模型对于理解攻击过程和攻击目标很有用,但是这些模型不能有效地传达攻击者要采取哪些动作,一个动作与另一个动作之间的关系,动作序列与攻击战略目标的关系,以及这些动作与数据源、防御措施、配置和用于特定平台与领域的其他应对措施之间的关系。

与漏洞数据库相关的“低级抽象模型”介绍了漏洞利用的软件实例(通常也会提供代码示例),但真实攻击环境与这些软件的使用环境和使用方式相去甚远。同时,恶意软件库通常缺少有关恶意软件的使用方式和使用者的背景信息,而且也没有考虑将合法软件用于恶意目的的情况。

像ATT&CK这样的“中级对抗模型”将各个组成部分联系了起来。ATT&CK中的战术和技术定义了攻击生命周期内的对抗行为,信息详细到足以据此制定防御方案,诸如控制、执行、维持之类的高级概念被进一步细分为更详细的类别,可以对攻击者在系统中的每个动作进行定义和分类。此外,中级模型可以补充低级模型所不具备的上下文信息,这一点很有用。ATT&CK的重点是基于行为的技术,而不是基于漏洞利用和恶意软件的技术,因为漏洞利用和恶意软件种类繁多,除了常规漏洞扫描、快速修补和IoC,很难通过整体防御程序对其进行梳理。

漏洞利用和恶意软件对于攻击者很有用,但要充分了解它们的效用,必须了解在哪种环境下可以借此实现哪些目标。相比之下,中级模型的作用更大,它可以结合威胁情报和事件数据来显示谁在做什么,以及特定技术的使用普遍性。表1-3显示了低级、中级和高级抽象模型与威胁知识数据库之间抽象级别的比较。

表1-3 按抽象程度划分不同威胁知识数据库

ATT&CK技术抽象提炼的价值体现在以下两方面:

• 通过抽象提炼,ATT&CK形成一个通用分类法,让攻击者和防守方都可以理解单项对抗行为及攻击者的攻击目标。

• 通过抽象提炼,ATT&CK完成了适当的分类,将攻击者的行为和具体的防守方式联系起来。

1.1.3 ATT&CK框架与Kill Chain模型的对比

从ATT&CK框架的前期发展来看,ATT&CK模型在洛克希德·马丁公司提出的Kill Chain模型的基础上,构建了一套更细粒度、更易共享的知识模型和框架。如图1-6所示,2014年ATT&CK只有8项战术,基本上和Kill Chain模型的7个步骤一致。

图1-6 2014年的ATT&CK框架

现在整个Enterprise ATT&CK矩阵内容变得丰富,已发展为14项战术,其中,前两项战术——侦察和资源开发(由原来的PRE ATT&CK矩阵演变而来)覆盖了Kill Chain的前两个阶段,包含了攻击者利用特定目标网络或系统漏洞进行相关操作的战术和技术,后面的12项战术则覆盖了Kill Chain的后五个阶段(见图1-7)。

图1-7 Enterprise ATT&CK与Kill Chain的映射图

但是,ATT&CK的战术与Kill Chain的不同之处在于,攻击者在使用ATT&CK战术时不遵循任何线性顺序。相反,攻击者可以随意切换战术来实现最终目标。ATT&CK框架的14项战术没有高低之分,都同样重要。组织机构需要对当前防御策略的覆盖范围进行分析,评估其面临的风险,并采用措施来补足防御短板。

ATT&CK除了在Kill Chain的基础上更加细化,还介绍了在每个防御阶段可以使用的技术,而Kill Chain则没有这些内容。

1.1.4 ATT&CK框架与痛苦金字塔模型的关系

痛苦金字塔模型由IoC(Indicators of Compromise,失陷指标)组成,通过IoC进行组织分类并描述各类IoC在攻防对抗中的价值。TTPs是Tactics,Techniques and Procedures(战术、技术及步骤)的缩写,描述了攻击者从踩点侦察到获取数据这一过程中,每一步是如何完成任务的。

如图1-8所示,TTPs处于痛苦金字塔塔尖。对于攻击者,TTPs反映了攻击者的行为,表明攻击者调整TTPs所付出的时间和金钱成本是最为昂贵的。对于防守方,基于TTPs的检测和响应可以给攻击者造成更大的痛苦,因此TTPs也是痛苦金字塔中对防守方最有价值的一类IoC。但另一方面,这类IoC更加难以识别和应用。由于大多数安全工具并不太适合捕获TTPs,这也意味着,收集TTPs并将其应用到网络防御中的难度系数是最高的。而ATT&CK则是有效分析攻击行为(即TTPs)的威胁模型。

图1-8 Bianco提出的痛苦金字塔