ATT&CK框架实践指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 ATT&CK框架实例说明

在上一节中,我们简要介绍了ATT&CK框架的对象关系,这些对象在具体的实际场景中是如何应用的呢?本节将通过一些实例,对ATT&CK框架的三个重要对象——战术、技术和子技术进行详细介绍。

1.3.1 ATT&CK战术实例

ATT&CK Enterprise框架由14项战术组成,每项战术下包含多项实现该战术目标的技术,每项技术中详细介绍了实现该技术的具体步骤。图1-13展示了ATT&CK框架的14项战术。

图1-13 ATT&CK框架的14项战术

下文将介绍攻击组织APT28和恶意软件WannaCry在执行攻击时使用这些战术的情况,从而对ATT&CK框架进行实例说明。

APT28是一个威胁组织,从2004年起开始从事攻击活动。在过去的几年中,APT28的攻击次数增长了十倍之多,是网络空间中攻击活动最多、行动最敏捷、最具活力的威胁组织之一。APT28的高级持续攻击水平达到了国家级水平。

目前,网络上有十几份与APT28相关的分析报告。通过分析APT28的取证报告,并将其映射到ATT&CK框架中,我们能更为清晰地了解该威胁组织。登录ATT&CK Navigator网站(详情请参见8.1.1节),在“multi-select”选项框的“威胁组织(threat groups)”下拉菜单中选择APT28,即可显示该威胁组织所使用的战术与技术。图1-14为APT28所覆盖战术与技术的相关页面,感兴趣的读者可登录网站浏览细节。

图1-14 APT28所涵盖的战术与技术

APT28在攻击中所使用的技术基本覆盖了ATT&CK所涉及的所有战术。下文将结合ATT&CK战术和Kill Chain对APT28所涉及的16项战术进行详细介绍。

1. 侦察

APT28通过多种技术进行侦察。一项攻击分析显示,APT28通过网络上暴露的默认凭证发现了一个远程桌面协议(RDP)端口。

2. 武器化

APT28经常注册虚假的域名用于网络钓鱼,域名中可能包括目标组织的名称。APT28还会在不同攻击中重复使用某些特定的服务提供商和组件。

APT28可以获取到许多未公开的0Day漏洞,而且还可以快速利用公开漏洞进行攻击。APT28可以利用广泛的恶意软件生态系统,其中包括适用于各种平台的多阶段病毒和远程访问木马(RAT)。

3. 社会工程

APT28经常使用社会工程法来诱导用户执行不安全的行为。基于侦察和先前获得的情报,APT28的社工诱饵非常具有针对性。APT28可以使用社会工程法来诱导用户单击指向恶意URL的链接或打开恶意文档,这通常会与漏洞利用结合使用。

APT28还会利用社会工程法来诱骗用户,获取电子邮件和VPN凭证,或完成恶意软件生态系统第一阶段的部署。APT28还使用了先进的社会工程技术(例如标签钓鱼)来获取凭证。另外,APT28利用基于OAuth的社会工程攻击,通过恶意应用程序获得对目标电子邮件的访问权限。这些攻击不仅是针对常见的云电子邮件提供商的用户进行的,而且还针对公司Webmail用户。

4. 载荷投递

APT28使用了两种主要的初始载荷投递方法(攻击向量),即鱼叉式网络钓鱼电子邮件和水坑式攻击。鱼叉式网络钓鱼电子邮件可以包含恶意文档或指向恶意网站的链接等形式的恶意负载。在水坑式攻击中,APT28入侵了一个合法网站,并向其中注入了恶意代码。当潜在目标访问APT28控制的网站时,APT28会使用指纹技术来确定该用户是否是有价值的攻击目标,根据其价值,ATP28可能会向用户展示合法网站、社会工程学诱饵、公开漏洞甚至是0Day,以部署APT28的恶意软件生态系统。

APT28使用的恶意软件生态系统通常分多个阶段进行载荷投递。在第一个载荷投递阶段,APT28会使用一个dropper[2]来部署一个有效载荷,例如,相对简单的远程访问木马(RAT),它能够为APT28提供命令和控制能力,但主要用于侦察。如果高价值目标已被感染病毒,则可以启动第二个载荷投递阶段,在此阶段,第一阶段恶意软件将接收到dropper,然后部署第二阶段恶意软件。多阶段设置有助于避免将更高级的恶意软件生态系统组件暴露给防病毒软件。

5. 漏洞利用

APT28因在攻击中频繁使用0Day漏洞而闻名。仅在2015年,该组织就使用了至少6个0Day。APT28另一个令人熟知的方式是,在其进入公有域后,能够迅速进行漏洞利用和PoC,并扩大漏洞利用的范围。这些漏洞可能已嵌入恶意文档中,也可以按命令和控制服务器的指令进行多次漏洞利用,而且已整合到漏洞利用包中。

APT28已利用的软件包括Adobe Flash、Internet Explorer、Java、Microsoft Word和Microsoft Windows。除了利用安全漏洞,APT28还利用了软件功能,例如APT28能够通过Microsoft Word宏执行不受信任的代码。漏洞利用通常用于部署第一阶段的恶意软件(Flash、Internet Explorer、Java和Microsoft Word),并提升在受感染系统中的访问权限(例如,Microsoft Windows)。对于公开的浏览器攻击框架(BeEF),APT28曾通过水坑攻击将其注入合法网站中,从而可以通过网站访问者的浏览器进行侦察。

6. 持久化

APT28已根据攻击向量的不同,通过不同技术实现了持久化。为了使恶意软件生态系统的组件实现持久化,APT28使用了诸如Run或ASEP注册表项、shell图标覆盖处理程序和所谓的Office Test之类的技术。该组织还通过将内核模式的rootkit隐藏恶意的Windows服务,并通过bootkit感染主引导记录(MBR)进行持久化。

此外,通过在单个系统上部署多个恶意软件组件,可以更好地维持权限,每个组件都可以单独提供对受感染系统发起控制。

为了能够持续访问控制鱼叉式钓鱼攻击目标的电子邮件,APT28使用了不同的技术。在基于OAuth的鱼叉式网络钓鱼攻击中,即使受影响用户的密码已更改,OAuth令牌也仍然有效,并可以提供完整的访问权限,直到用户明确将其撤销为止。在对电子邮件账户的其他鱼叉式网络钓鱼攻击中,即使被入侵用户更改了密码,由于APT28设置了电子邮件转发地址,也能够持续获取电子邮件内容。

7. 防御绕过

APT28的攻击方式并不是特别隐秘,这表明隐藏其活动踪迹并非是该组织的首要事务。在攻击基础设施时,APT28倾向于重复使用相同的服务提供商,这也再次说明隐藏踪迹并不是其首要事务。尽管如此,APT28的第一阶段恶意软件仍会检查是否存在特定的端点安全产品。该恶意软件还会禁用创建功能,删除潜在的取证证据,例如崩溃报告、事件记录和调试信息。一些恶意软件组件具有特定功能,可以删除文件,收集的数据在上传后也可以删除,还可以更改文件的时间戳来避免被检测出来。APT28还使用了用户账户控制(UAC)绕过技术。

8. 命令与控制

在APT28一开始攻陷系统后,APT28的恶意软件生态系统组件可以使用不同的方法来连接命令与控制服务器。通常,该恶意软件首先尝试是否可以通过HTTP(S)直接连接到Internet。如果无法进行直接连接,该恶意软件会尝试通过系统上配置的代理服务器或通过注入正在运行的浏览器来连接Internet。该恶意软件还可以使用电子邮件(SMTP和POP3)作为与C2(命令与控制)服务器的秘密通信渠道。在某次攻击中,APT28可能已通过第三方VPN凭证获得了对目标网络的远程访问权限。

9. 转移

APT28的恶意软件生态系统至少包含两个组件,这些组件可用于转到攻击者原来无法直接访问的系统。Xagent组件可以感染连接到失陷系统的USB驱动器,从而创建一个可以传输文件系统和注册表数据的伪网络。这样,当USB驱动器插入时,物理隔离网络中的数据通过受感染的USB驱动器传输到可联网的计算机。

Xtunnel组件由其开发人员命名,通常作为第二(甚至第三)阶段的恶意软件。该组件可以作为跳转到网络中其他系统的网络枢纽。TCP和UDP流量可以通过失陷系统从C2服务器随意传输到其他内部系统。APT28还使用VPN连接,将基于Kali(为渗透测试人员创建的Linux发行版)的系统加入可能使用了Xtunnel组件的目标网络。Xtunnel对APT28至关重要,因为它是目前已知的唯一一个被严重混淆的组件,并且该组件还在不断开发、持续增加新功能。

10. 发现

APT28在受感染系统上部署的第一阶段恶意软件的主要目的是用于“发现”,收集受感染系统的详细信息,包括计算机的物理位置和正在运行的进程列表。如果APT28对失陷系统很感兴趣,则可以在失陷系统上部署其他阶段的恶意软件生态系统。APT28还使用BeEF漏洞利用框架,通过用户浏览器访问恶意网站来达到“发现”的目标。

11. 执行

APT28采用了各种技术在本地或远程系统上执行攻击者控制的代码。部署的恶意软件组件可用于下载和执行其他组件。某些组件(例如Xagent)包含用于远程命令执行的内置功能。

APT28还可以使用py2exe将Python脚本转成可执行文件。用于本地执行代码的其他方法包括使用NSTask、launch、rundll32.exe和鲜为人知的技术,例如内核异步过程调用(APC)注入。专门用于在其他(远程)内部系统上执行代码的工具包括RemCOM,它是Windows Sysinternals套件中广泛使用的PsExec工具的开源替代品。

12. 权限提升

在部署第一阶段恶意软件组件之前或者在部署过程中,如果有需求,可以使用本地权限升级漏洞来获取系统权限。同样,恶意软件组件会滥用Windows功能来自动提升权限。APT28通常会先提升本地权限,然后利用恶意软件在系统上实现持久化,这就让恶意软件能够以更具入侵性的方式来获得持久化访问。APT28还使用了泄露的EternalBlue SMB漏洞来远程获取在其他内部系统上的权限,从而让未经身份验证的攻击者拥有系统权限。

13. 凭证访问

获取凭证在APT28的攻击中起到了关键作用。APT28已经利用鱼叉式网络钓鱼攻击获取了访问凭证,以便从外部访问Webmail环境和VPN。获得从外部访问Webmail环境和管理界面的权限后,APT28便可以直接收集和窃取机密信息或标识其他目标。获得的VPN凭证可以让APT28远程访问目标网络。

对于失陷系统,APT28采用了各种不同技术措施来获取对纯文本凭证的访问权限,包括使用开源工具mimikatz的自定义变体从内存中提取Windows单点登录密码,这需要系统级的访问权限。某些恶意软件组件也可以收集浏览器和电子邮件客户端等应用程序存储的凭证。内置的键盘记录功能可以用来获取未存储的凭证。在目标网络上,APT28使用了开源的Responder工具来欺骗NetBios名称服务(NBNS)以获取用户名和密码哈希。

14. 横向移动

APT28还使用了横向移动技术在目标组织中进行横向移动,以寻求对更多数据和高价值目标的访问。APT28用来执行横向移动的技术主要包括哈希传递(PtH),通过结合WinExe进行远程命令执行),利用用户的LM或NTLM密码哈希对其他内部系统进行身份验证。Xagent组件通过受感染的USB驱动器在隔离环境中传播到其他系统,这也可以视为横向移动的一种形式。

15. 收集

APT28从目标电子邮件账户和网络中收集了各种数据。通过访问外部可访问的电子邮件账户,APT28可以长时间偷偷地收集数据。恶意软件组件包含诸如按键日志记录、电子邮件地址收集、定期捕获屏幕截图、跟踪窗口焦点和抓取窗口内容以及检查是否存在iOS设备备份之类的功能。恶意软件还可以从本地和USB驱动器中收集文件和定义规则。APT28通常将收集的数据存储在磁盘的隐藏文件或文件夹中,这样可以防止在重新启动系统时丢失已获取的数据。

16. 数据窃取

通过将隐藏文件上传到C2服务器,APT28可以自动并定期批量传输已收集的数据。APT28还可以手动传输数据。C2服务器可以简单地充当中间代理,传输已收集的数据,这会产生额外的网络跳转,让防守方调查起来更加困难。通过设置电子邮件转发地址,APT28可以利用对鱼叉式网络钓鱼目标,从外部访问电子邮件环境来实现长期窃取数据的目标。

上文介绍了APT28在攻击中常用的战术和手法,但该攻击组织在具体的攻击中会如何利用这些战术和手法形成一个完整的攻击路径呢?一旦APT28将其恶意软件部署到目标组织的一个系统中后,任何直接或间接访问该系统的系统或应用都会成为APT28的攻击目标。如果将APT28的攻击向量和攻击路径进行逻辑组合,就可以形成几十条独特的攻击路径,通过这些路径可以成功地从目标组织中窃取数据。下面将分析APT28最常见的十种攻击路径。

第一种攻击路径主要是利用鱼叉式钓鱼邮件攻击,其中包含了侦察、武器化、载荷投递三个攻击步骤,如表1-4所示。APT28主要通过鱼叉式钓鱼邮件这个攻击向量来锁定攻击目标。有报告显示,APT28已掌握了广泛的恶意软件生态系统和漏洞利用程序,可在攻击中加以利用。

表1-4 APT28将鱼叉式钓鱼邮件作为攻击向量

第二种攻击路径主要是利用水坑网站攻击,其中包含了武器化和载荷投递这两个攻击步骤,如表1-5所示。例如,APT28利用漏洞向基础设施、网站等注入恶意代码,完成攻击载荷投放。

表1-5 APT28将水坑网站作为攻击向量

第三种攻击路径是通过社会工程法获取有效凭证,从而实现初始访问和持久化,如表1-6所示。例如,APT28通过假冒登录页面窃取用户访问凭证,然后再配合一些攻击技术完成持久化。

表1-6 APT28通过社会工程法获取有效凭证

第四种攻击路径是通过社会工程法进行感染,通过恶意URL链接、恶意文档等实现第一阶段的攻击载荷部署,然后再通过权限提升、持久化、防御绕过等战术进一步实现攻击目标,如表1-7所示。

表1-7 APT28通过社会工程法进行感染

第五种攻击路径是通过社会工程法及漏洞利用进行感染,实现第一阶段的攻击载荷部署,然后再通过权限提升、持久化、防御绕过等战术进一步实现攻击目标,如表1-8所示。

表1-8 APT28通过社会工程法和漏洞利用进行感染

在第六种攻击路径中,APT28前期需要通过发现、载荷投递、执行等战术获取文本凭证,然后实施后续的横向移动等战术,如表1-9所示。通常,APT28会通过哈希传递等技术获得对更高价值目标的访问权限。

表1-9 APT28通过获取本地凭证进行横向移动

在第7种攻击路径中,APT28前期需要通过恶意软件来投递一些攻击载荷,然后在系统内部进行移动,如表1-10所示。APT28利用失陷系统的漏洞进行后续的横向移动。

表1-10 APT28通过漏洞利用进行横向移动

在第八种攻击路径中,APT28将欺诈技术作为获取用户名和密码哈希的关键所在。在完成凭证访问之后,APT28就可以在内网通过横向移动获取更多数据和高价值目标的访问权限,如表1-11所示。

表1-11 APT28通过欺诈技术向网络上的目标移动

第九种攻击路径是通过已经感染的USB在未联网机器上进行传播,如表1-12所示。通过这种物理方式,APT28可以迅速影响不联网的设备,但是实施操作比较受限。

表1-12 APT28通过感染USB驱动向隔离目标移动

第十种攻击路径是APT28偷偷收集各类数据,例如通过电子邮件访问来窃取数据,获取足够多数据之后操纵ICT资产,如表1-13所示。

表1-13 APT28基于收集的数据进行目标操纵

1.3.1.2 恶意软件WannaCry的战术分析

WannaCry是一种勒索软件,首次出现在2017年5月的全球攻击中,在此次攻击中,中国包括医疗、电力、能源、银行、交通等在内的大量行业的内网遭受大规模感染。WannaCry包含类似于蠕虫的功能,可以利用SMB漏洞EternalBlue在计算机网络中传播。该勒索软件能够迅速感染全球大量主机,其原因是它利用了基于445端口的SMB漏洞MS17-010,微软公司在2017年3月份发布了该漏洞的补丁。

2017年4月14日,黑客组织“影子经纪人”(Shadow Brokers)公布的“方程式”组织(Equation Group)将该漏洞的利用程序作为一个网络武器,而使用这个勒索软件的攻击组织也借鉴了该网络武器,发动了此次全球性的大规模攻击事件。

当系统被WannaCry勒索软件入侵后,系统将弹出如图1-15所示的勒索对话框。WannaCry会加密系统中的照片、图片、文档、压缩包、音频、视频等几乎所有类型的文件,被加密的文件后缀名被统一修改为“.WNCRY”。该勒索软件使用英文、中文等28种文字对不同国家及地区的用户进行勒索。

WannaCry利用了“影子经纪人”泄露的EternalBlue漏洞进行传播,病毒运行的过程分为三步:主程序文件利用漏洞自传播并运行WannaCry勒索程序,WannaCry勒索程序将各类文件加密,勒索界面(@WanaDecryptor@.exe)显示勒索信息、解密示例文件。

图1-15 Wanna Decrypt0r 2.0程序的屏幕截图

登录ATT&CK Navigator网站(详情请参见8.1.1节),在“multi-select”选项框的“软件(software)”下拉菜单中选择WannaCry,即可显示该软件所使用的战术与技术。图1-16为WannaCry所覆盖的战术与技术的相关页面,感兴趣的读者可登录网站浏览细节。从图中我们可以看出,WannaCry覆盖了14个战术中的4个战术、10个技术(不包含子技术部分)。

图1-16 WannaCry覆盖战术和技术的示意图

WannaCry覆盖的十大攻击技术详解如表1-14所示,这些攻击技术大部分都集中在发现和横向移动两个战术上,这也表明APT28采用了大量“发现”战术之下的攻击技术,因而对被攻击的系统信息非常了解,这为后面“横向移动”战术的实现做了很好的铺垫。

表1-14 WannaCry使用的攻击技术

1.3.2 ATT&CK技术实例

技术和子技术是ATT&CK的基础,表示的是攻击者执行的单项动作或者攻击者通过执行动作而了解到的信息。每一项技术都包含技术名称、所属的战术、详细信息、缓解措施、检测方式和参考文献。图1-17为MITRE ATT&CK官网展示的“主动扫描(Active Scanning)”技术的相关页面。图中顶端的为该技术的名称,下方为该技术的详细介绍,右上方介绍了该技术的ID号码、子技术、所属战术、适用平台、数据源、创建时间和修改时间等信息。页面下面的三项内容则分别介绍了该技术缓解措施、检测方式以及该页面信息的参考文献。页面中参考文献的部分通过类似于维基百科的形式引用了相关的文章,供读者扩展阅读。

图1-17 “主动扫描(Active Scanning)”技术的相关页面

一项技术能否纳入ATT&CK框架中,需要权衡许多因素,所有的这些因素共同构成了知识库中一项技术的信息。

1. 技术命名

ATT&CK技术命名侧重于体现该技术的独特内容。就中级抽象而言,攻击者在使用某项技术时,技术名称体现的是攻击者在实现一定的战术目标时会采取的方法和手段。例如,凭证访问中的凭证转储技术,该技术是获得对新凭证访问权限的一种方法,而凭证可以通过多种方法进行转储。就低级抽象而言,技术名称体现的是该技术是如何被使用的,例如“防御绕过”中的Rundll32子技术,该子技术是“利用已签名的二进制文件代理执行”技术的一个具体执行方法。但是,对于那些已经在会议报告或文章中记录的技术,则倾向于使用行业认可的命名。

2. 技术抽象

技术抽象级别通常包括以下几类:

• 以通用方式应用于多个平台的通用技术(例如,利用互联网上应用程序的漏洞)。

• 以特定方式应用于多个平台的常规技术(例如进程注入,针对不同平台有多个用法)。

• 仅适用于一种平台的特定技术(例如Rundll32,这是Windows系统中已签名的二进制文件)。

首先,技术描述一般是与平台无关的行为,例如“命令与控制”战术下的许多技术。技术说明为一般性说明,并且根据需要提供了不同平台的使用示例,通过引用这些示例来获得详细信息。

此外,将那些通过不同方式实现相同或相似结果的技术归为一类,例如“凭证转储”。这些技术可以以特定方式应用于多个平台,因此在技术说明中会有针对不同平台的内容。这些技术通常包含技术变体,需要说明该技术变体是如何应用于特定平台的,例如进程注入技术。

MITRE ATT&CK还提出了子技术的概念,子技术是攻击者针对特定平台采取的特定方式。以Rundll32为例,该技术仅适用于Windows系统。这些子技术倾向于描述攻击者如何利用平台的某个组件。

3. 技术参考

ATT&CK还提供了技术参考,指导用户进一步研究或了解有关技术的详细信息。技术参考的作用主要体现在以下几个方面:技术背景、预期用途、通用使用示例、技术变体、相关工具和开源代码存储库、检测示例和最佳实践,以及缓解措施和最佳实践。

4. 攻击实践

ATT&CK还介绍了技术/子技术的其他信息,例如在野攻击中是否使用了某项技术,哪些人采用了某项技术以及产生的已知危害。这类信息有很多来源,其中主要来源渠道为以下几种。

公开报告的技术:公开来源的报告显示在“在野攻击”中使用了某项技术。

非公开报告的技术:非公开来源的报告显示了某项技术的使用情况,但在公开来源中也已了解到该技术的存在。

漏报的技术:某些技术可能正在使用,但由于某种原因未被报告,一般会根据来源的可信度再决定是否报告这些技术。

未报告的技术:没有公开或非公开的报告说明某项技术正在使用。这类技术可能包含红队已发表的最新进攻性研究技术,但尚不清楚攻击者是否在“在野攻击”中使用了该技术。

1.3.3 ATT&CK子技术实例

2020年7月,ATT&CK团队发布了新的抽象概念:子技术,并且对ATT&CK框架整体做了更新,子技术的示例图可参见图1-17。ATT&CK增加了子技术,这标志着ATT&CK知识库对攻击者行为的描述方式发生了重大转变。这种变化是因为随着ATT&CK的发展出现了一些技术抽象级别问题。有些技术涵盖的范围非常广泛,有些技术涵盖的范围却非常狭窄,只描述了非常具体的行为。这种技术涵盖范围的不同,不仅让ATT&CK难以可视化,而且随着ATT&CK日益庞大,一些技术背后的目的也变得让人难以理解。

子技术的提出给ATT&CK带来的改善主要包含以下几点:

• 让整个ATT&CK知识库内的技术抽象级别相同。

• 将技术的数量减少到可管理的水平。

• 修改后的结构可以更容易地添加子技术,而无须随着时间的推移对技术进行修改。

• 证明技术并非浅尝辄止,可以考虑用很多方式来执行这些技术。

• 简化向ATT&CK添加新技术领域的过程。

• 数据源更详细,可以说明如何在特定平台上观察某个行为。

1. 何为子技术

简单地说,子技术是更具体的技术。技术代表攻击者为实现战术目标而采取的广泛行动,而子技术是攻击者采取的更具体的行动。这就好比生物学上的分类方法“门纲目科属种”,分类中比“种”还细致的分法就是“亚种”。例如,老虎总共有八个亚种,包括东北虎、华南虎、孟加拉虎等,这种分类方式可以更细粒度地进行种类之间的关系建模。

以T1574技术(劫持执行流)为例,攻击者可以通过劫持操作系统运行程序来执行自己的恶意负载,然后实现持久化、防御绕过和提权,但是攻击者可以通过多种方式劫持执行流。在新版的ATT&CK框架中,T1574技术将一些具体技术汇总在一起,该技术拥有11个子技术。图1-18为MITRE ATT&CK网站上T1574技术及其子技术的截图。

图1-18 T1574技术包含11个子技术

有人质疑称“为什么不将子技术称为步骤(Procedures)?”MITRE ATT&CK认为,ATT&CK框架中已经存在步骤这个用法,它用来描述技术的在野使用情况。而且,子技术只是更具体的技术,技术和子技术都有自己对应的步骤。

在ATT&CK官网上,组织和软件页面已经更新,新的页面中涵盖了技术和子技术的映射关系,如图1-19所示。

图1-19 技术和子技术的映射关系

子技术编号采用的模式是,将ATT&CK技术ID扩展为“T技术编号.子技术编号”。如图1-20所示,进程注入技术编号仍然是T1055,但是进程注入子技术——进程替换的技术编号是T1055.012。

图1-20 子技术编号示例

2. 子技术的使用

打开子技术和技术的具体页面,它们所包含的信息几乎一样,都包括攻击技术描述、检测方式、缓解措施、数据源等。它们之间的根本区别在于技术与子技术之间的关系。

子技术与技术之间不存在一对多的关系。每个子技术只与单个父技术有关系,而不与其他父技术存在关系,这可以避免让整个模型关系变得复杂且难以维护。在个别情况下,子技术可能会有多个父技术,这是因为这些技术可能归属于不同的战术。例如,计划任务/作业的子技术既包含在持久化战术之中,也包含在权限升级战术之中。为了解决这种情况,不需要将子技术置于某种技术所属的所有战术之下。只要子技术在概念上属于某项技术(例如,在概念上属于一种进程注入的子技术应归类为进程注入),各子技术都可以用于确定某种技术属于哪个战术,但无须满足各项父技术所属的战术(例如,虽然进程注入同时属于“防御绕过”和“权限提升”这两个战术,但进程替换子技术用于了“防御绕过”,而并没有用于“权限提升”)。

此外,并不是所有技术都有子技术。从组织方式上来看,这种结构一致性是有道理的。但是实际上,这是很难实现的。尽管子技术的目的是提供更多关于如何使用技术的细节信息,但仍有一些技术没有分解成子技术,例如“双因素身份认证拦截”技术。

子技术通常是针对具体的操作系统或平台而定的,针对特定平台的子技术可以让该技术的内容更易于集中在特定平台上。但是,我们发现子技术并不都是针对具体的操作系统或平台而定的。这就会导致多个相同的子技术适用于不同的平台,例如,本地账户、域账户和默认有效账户分别适用于Windows、Mac、Linux等。网络使用通常与操作系统和平台无关,“命令与控制”战术下的网络通信技术便是如此。

技术中的某些信息将由其子技术继承。子技术的缓解措施和数据源信息也会向上传递给技术。

但技术和子技术之间不继承攻击组织和软件信息。当通过查看威胁情报来确定将一个例子映射到技术还是子技术时,如果可用的信息足够具体,可以将其分配给一个子技术,那么该信息将仅适用于子技术。如果信息模糊不清,不能确定一个子技术,那么可以将该信息映射到技术中。同一个信息不会映射到两个技术中,目的是减少冗余的关系。

[1]Kill Chain,网络杀伤链,是美国国防承包商洛克希德·马丁公司(Lockheed Martin)提出的网络安全威胁的杀伤链模型,内容包括成功进行网络攻击所需的七个阶段:侦察、武器化、载荷投递、漏洞利用、控制、执行和维持。

[2]dropper是一种启动后会从体内资源部分释放出病毒文件的木马程序。