最近在很多地方都提到了这个攻击框架,相关的介绍文档虽然各种角度都有,但很难通过一篇文章对框架有个整体了解,同时具体的落地实战方向也并不清晰,于是决定根据官方文档以及一些个人经验写篇概述性的文章。
ATT&CK是由MITRE机构开发的攻击模型框架,其全称为Adversarial Tactics, Techniques, and Common Knowledge(对抗性战术,技术以及公共知识库),是一个基于现实世界所观察到的攻击向量所组成的一个公开的对抗性战术和技术知识库,其可被用于私营机构、阅批部门、网络安全产品和服务社区作为特定威胁模型和方法的开发基础
在当今复杂的网络环境中,各种攻击技术与防御技术迭代而生,互相博弈,而这也逐渐显露出了两方面的问题。
首先,单一的攻击手段逐渐已经失去了有效性。在实际的生产应用环境中,基本已经很难利用某一基础通用漏洞对重要的业务资产产生影响,大多数企业已经初具安全意识,这当然是一个非常好的发展趋势,但这却在无形中增加了信息安全人才培养的难度。信安作为计算机中的一个特殊分支,学习的内容广而杂,非常容易迷失方向。而传统的基于目标实践的培养方式在过去很好的激发了一代又一代网安人的成长,他们常常利用所学到的为数不多的知识就能发动一次有效的攻击(比如曾经的SQL漏洞满天飞,3389跑远控,MSF打内网),而这对于现阶段的网络环境已经变得不切实际了。因此非常需要这样一个类似于指导方案的框架出现,使学习者能够明白学习目标是什么,所需的知识是什么,而ATT&CK框架正是提供了一个这样的索引,系统归纳总结了攻击路径中的各个宏观结构以及技术细节,具有很强的学习意义。
另一方面,现如今大量的APT攻击层出不穷,数据泄露事件频发,各类恶意软件大肆横行,企业与机构在这样的态势下越发显得疲于应对。而ATT&CK的出现正有利于这一问题的解决,通过从宏观到微观的角度,使用通用语言对各种攻击环节与行为进行具体描述,方便企业与机构据此对自身资产进行一个完整有效的安全评估,隔绝各种可能的入侵风险,这对于整个信息产业的发展都起着弥足轻重的作用。
同时,最近威胁情报这一概念也逐渐进入了人们的视野,ATT&CK通过使用定义结构化语言也为动态情报系统的发展奠定了基础,更多的相关内容可以查看文中的应用方向章节
MITRE机构是一个有官方资助背景的研发中心,实力非常雄厚,其构成可以看下这张表
资助者国家安全工程中心国防部先进航空系统研发中心联邦航空管理局企业现代化中心国税局和退伍军人事务部国土安全系统工程与发展研究所国土安全局司法工程与现代化中心美国法院行政办公室医疗保险和医疗补助服务与现代化医疗联合中心医疗保险和医疗补助服务中心国家网络安全联邦资助研发中心国家标准和技术研究所
在介绍版本差异之前,先讲一下ATT&CK的总体架构。当我们提到ATT&CK时表示的含义可以分为两个方面:狭义上的和广义上的。广义上的ATT&CK是指包含攻击技术,缓解技术和公共知识库等多方面的集合,而大多数情况下,我们使用这个词汇所表达的含义往往是狭义上的,单单表示其攻击框架的内容,而这一框架内容总体又可以分为三个维度
Matrices:矩阵维度切分各个安全领域,形成宏观视角
Tactics:战术维度,定义攻击流程的各个环节类型
Techniques:技术维度,完成攻击环节的具体细节及技术
不同版本的ATT&CK内容存在一定差异,其更新周期约为半年,目前最新的版本为v8,本篇文章也是基于这一最新版本的
在上个v7版本中,ATT&CK将Matrices共分为了4大类
PRE-ATT&CK 前攻击阶段,主要为信息搜集与武器构建
ATT&CK for Enterprise 针对企业的攻击链
ATT&CK for Mobile 针对移动平台的攻击链
ATT&CK for Industrial Control Systems 针对工控系统的攻击链
下面的两张图列举前两类中的战术内容
PRE-ATT&CKTactics: 15? Techniques: 148
ATT&CK for Enterprise Tactics: 12? Techniques: 156
在最新的v8版本中发生的变动还是比较大的,ATT&CK变更为了3大类,PRE-ATT&CK 被合并到了ATT&CK for Enterprise中,具体内容为:
ATT&CK for Enterprise 针对企业的攻击链
ATT&CK for Mobile 针对移动平台的攻击链
ATT&CK for Industrial Control Systems 针对工控系统的攻击链
其中的许多战术名称也发生了变化,其详细内容在后文中介绍
想查看更多历史版本的相关信息可以查看此网页:https://attack.mitre.org/resources/versions/
Cyber Kill Chain是由Lockheed Martin开发的攻击链框架,确定了攻击者必须完成什么才能实现他们的目标,其展示的七个步骤增强了对于攻击的可见性,并丰富了分析师对攻击者TTPs(Tactics, Techniques and Procedures,战术、技术和程序)的了解,它同时也是 Intelligence Driven Defense模型的一部分。因为总共由七个步骤组成,所以也被称为七步杀链
很明显的看出,KillChain主要是从宏观角度对实际攻击场景中的各步骤进行定义,缺乏技术细节
PTES是一种渗透测试标准,旨在提供一种通用语言描述的渗透测试执行范围和标准,始于2009年初,由一些创始成员围绕渗透测试行业讨论所得,参与者可以查看此列表。
其内容由7个主要部分组成,但该标准实际上并没有提供关于执行实际渗透测试的技术要求,但有一份相关的实践技术指南:http://www.pentest-standard.org/index.php/PTES_Technical_Guidelines
PTES本身只是一种标准规范,其所对应的技术指南虽然包含了大量具体的细节,但随着信息技术的发展也逐渐显得匮乏与落后。相较于ATT&CK来说,这一标准的不足还是比较明显的,无论是宏观还是微观角度都有一定的差距,且缺乏通用的符号语言用于定义攻击链中的环节,但作为一份早期的渗透测试标准还是有非常高的参考意义的
该框架是ODNI Cyber Threat Framework的扩展,并参考了ATT&CK,用于帮助NSA使用通用技术词典标准化攻击行为分类及描绘,相较于ATT&