近日,ATT&CK团队发布了新的抽象概念:子技术,并且对ATT&CK框架整体做了更新。过去ATT&CK框架针对不同技术存在抽象程度不一的问题,例如某些技术非常具体,某些技术则非常概括,有些技术只是某种技术具体类型。现在,随着子技术的出现彻底解决技术抽象级别的问题。
新版本ATT&CK框架
新版ATT&CK(for Enterprise)包含156项技术(原来是266个技术)和272项子技术。对于旧版ATT&CK技术,有部分技术被保留下来,有部分降级为子技术,有部分与其它技术或者子技术合并,也有部分被弃用。
何为子技术
相比技术而言,子技术是一种更加具体的技术。这就好比,生物学上分类方法,“门纲目科属种”,分类比“种”还细致的分法就是“亚种” 。例如,老虎总共有八个亚种,包括东北虎、 华南虎、孟加拉虎等。这种分类方式可以更细粒度进行种类之间的关系建模。
以T1574技术(劫持执行流)为例,攻击者可以通过劫持操作系统运行程序来执行自己的恶意负载,然后实现持久化、防御绕过和提权。但是攻击者可以通过多种方式劫持执行流。在新版的ATT&CK框架中,T1574技术将一些具体技术归拢到一起,该技术拥有11个子技术。
T1574技术包含11个子技术
子技术编号采用模式是,将ATT&CK技术ID扩展为T[technique].[子技术]。例如,进程注入仍然是T1055,但是子技术进程注入:动态链接库注入是T1055.001。
子技术编号模式
子技术特点
打开子技术和技术具体页面,其所包含信息几乎一样,包括攻击技术描述、检测、环节、数据源等。其根本区别在于他们之间的关系,任何一个子技术都拥有唯一个父技术。但是子技术与技术之间并不存在一对多关系。但对于横跨多个战术的子技术需要特别说明下,子技术并不需要考虑其父技术归属于哪个战术。例如,进程注入(T1055)属于“防御绕过”和“提权”两个战术下面的技术,其对应的子技术进程镂空(T1055.012)是唯一的。
此外,并不是所有技术都拥有子技术。虽然每一个子技术通常作用是提供更多关于父技术具体使用的信息,但仍然有一些技术没有突破到子技术,或者没有必要归纳到更高级别的技术。例如,双因子身份认证拦截就是一个例子。
子技术会继承父技术一些信息,包括缓解措施和数据源信息等。但是攻击组织和恶意软件相关实例在子技术和技术之间并不存在继承关系。例如在审核相关威胁情报时,如果提供信息足够详细,足以将其关联到子技术,则可以映射到子技术上。如果信息是不明确的,以至于子技术不能被识别,那么该信息将被映射到该技术。为了减少冗余关系,不应该将同一攻击实例映射到两者之上。
写在最后
ATT&CK子技术概念使得整个框架几乎重构,基于ATT&CK框架设计的流程、工具等都需要做出对应调整,以及包括人们使用习惯都需要一个熟悉过程。目前ATT&CK官网仍然支持用户可以选择旧版本使用。
但是从长远来看,子技术利远大于弊。子技术出现,让ATT&CK框架更加精炼,主要表现为以下几个方面:
使整个知识库的技术抽象层次属于同一个层级
将技术的数量控制在可管理的水平,避免爆发式增长
通过便捷式新增子技术更新,来减少对技术本身修改
通过使用重复技术,简化向ATT&CK新增技术域难度,例如新增cloud、ICS等
更加详细描述在不同平台上检测攻击技术所涉及的数据源及描述。