初识ATT&CK框架
Posted xiaoxiaojinglinger
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识ATT&CK框架相关的知识,希望对你有一定的参考价值。
版权声明:本文为CSDN博主「美创安全实验室」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_38103658/article/details/106077779
初识ATT&CK框架
前言:
ATT&CK这一概念自2014年提出时起,作为安全分析领域中的前沿研究一直在默默地发挥着自己的影响,但是由于其概念在当时过于超前以至于并没有引起多大反响,直至2019年的红蓝对抗赛这才把ATT&CK框架重新推回到了安全圈的C位上,接下来的三期内容,美创安全实验室将为大家带来ATT&CK模型的独家解读,好了,废话不多说Let‘s go!
但是要是想完全弄懂ATT&CK模型到底是什么,那么有一个相关概念以及问题必须要先弄懂。还请大家耐心看完。
什么是威胁情报?
威胁情报又称IOC(Indicator of compromise)。一般为网络流量中或者操作系统上观察到的能高度表明计算机被入侵的痕迹,例如某某病毒的Hash值、C&C服务器的IP地址等等。简单来说,威胁情报就像是当计算机被入侵时所表现出来的某种特征,我们将这些威胁情报搜集起来整理成库,当计算机再次表现出库中的某些特征的时候我们就可确定计算机已经被入侵了,这样我们可以制定更好的安全策略来规避以上问题。
那么是不是只要有足够的 IOC,我们就可以规避所有风险?
众所周知,在网络安全领域中白帽子相比于黑帽子来说是处于弱势的一方,那么造成这种“安全难做”情况的根本原因在于攻守双方的信息不对称。但是当白帽子掌握了足够多的IOC之后是否能守住黑客的所有攻击呢,答案当然是不可能的。即使白客拥有某黑客之前攻击产生的所有IOC,但是当黑客随便更改一下IP地址或者域名就可以产生新的IOC,且成本低廉。如果不知道黑客的攻击手法或者入侵行为仅靠IOC的信息量,并不能规避所有的风险。
Ok,现在我们得到结论:IOC能够帮助我们指定更好的安全策略,而且IOC信息量的多少也能影响最终防护效果,但IOC并不能表达攻击者如何与受害系统交互,且只能表示是否受害而无法体现其过程。 因此,为了解决上述问题,ATT&CK模型也就油然而生了。
ATT&CK模型简介:
ATT&CK全称是Adversarial Tactics, Techniques, and Common Knowledges,即对抗战术、技术和常识。从这个组合名称就可以看出,ATT&CK不是单单某一项技术,而是很多战术、技术、知识的汇总或者集合,可以看作是一个更加底层的“知识库”。“战术”指的是ATT&CK的技术原因,是攻击者执行行动的战术目标,涵盖了攻击者在操作期间所做事情的标准和更高级别的表示。而“技术”指的是攻击者通过执行动作实现战术目标的方式,或者执行动作而获得的内容。在ATT&CK矩阵中可以到看到战术和技术的关系,可能有很多种方法或技术可以实现战术目标,因此每种战术类别有很多种技术。
ATT&CK的关注点从单点IOC信息转移到了上下文信息,并用更加标准和抽象的方式总结形成了包含:初始访问、驻留、横向移动、命令控制等阶段。ATT&CK完美解决了IOC无法描述攻击过程的这一痛点,他对攻击性操作进行细分和分类,形成一种完善统一的参照标准,极大的减少了安全分析中整理总结的成本。
目前ATT&CK模型由三部分组成,如下图:
- PRE-ATT&CK:攻击前的准备,例如优先级定义、目标选择、信息收集、发现脆弱点、攻击性利用开发平台,建立和维护基础设施、人员的开发、建立能力和分段能力等。
- Enterprise:攻击时的部分已知技术手段,例如访问初始化、执行、常驻、提权、防御规避、访问凭证、发现、横向移动、收集、数据获取、命令和控制等。
- Mobile:移动端的部分已知技术手段、移动框架和Enterprise类似,只是适用的平台不同。
ATT&CK for Enterprise将网络安全事件划分为12个阶段。初始访问阶段、执行阶段、持久化阶段、提权阶段、防御规避阶段、凭证访问阶段、发现阶段、横向移动阶段、采集阶段、命令与控制阶段、渗出阶段、影响阶段。攻击手法和各阶段的映射关系如下图所示:
ATT&CK对安全分析的帮助
ATT&CK早在2014年提出以来就全世界的安全分析领域中如火如荼的发挥着影响,尤其是近两年的热度呈指数级增长,如下图所示。众所周知ATT&CK框架是从攻击战术和技术两方面来构建知识资源库的,而这也正好是安全分析中研究的重点。但是在安全分析中一直存在着两大难题:上下文检测以及统一标准的缺失。
先来谈谈上下文检测,目前分析、检测的基础还是以IOC为主,例如病毒样本的HASH值、域名、IP、注册表、流量等信息都属于IOC特征信息,IOC只能表示“是与否”、“黑与白”,它反映的是现在所处的状态和发生的事件,是不具备能表达“攻击过程”这种具有方向性的特性的。 除此之外,IOC还有一个缺点就是不稳定性,特别是Hash、IP这种,攻击者可以轻易改变。许多时候,多个 IOC 其实表达的是同一个攻击过程。IOC 方便检测、但是不善于描述攻击。
其次再来谈一谈统一标准的缺失,在安全研究领域一直有一些比较有先见之明的能人,他们在几年以前就一直在尝试推动建立能被更多人认可的标准模型,例如面对威胁信息分享的模型时,MITRE定义了STIX模型;以及更加著名的洛克希德·马丁定义的杀伤链 Lockheed Martin Cyber Kill Chain。其实无论是Kill Chain(杀伤链)还是SITX模型等等都具有很高的现实意义,虽然他们能在一定程度上帮助分析人员在威胁建模,防御检测方面提供比较完善的理论支持。但是现阶段没有成熟的方法,将攻击描述规范化向分析模型映射。特别是TTP(战术、技术、过程)方面,目前还没有统一的描述标准,信息交换方面存在沟通成本。
从上面的研究中我们可以看出,无论是IOC还是SITX模型都在尝试用一个个攻击节点来描述一个完整的攻击过程,而此时ATT&CK的横空出世就像是胶水一样,很好的将每个节点粘合到了一起。丰富且适用的字典可以帮助 IOA、SITX 或其他的一些实践方法进行落地,让攻击描述可以聚焦于更加抽象的过程总结,而不必纠结这个攻击的实际步骤。并且采用统一的描述方法,可以更好的进行信息交换,降低数据转入转出成本,提高信息适用性和可拓展性。 并且运用时拿攻击步骤在到 ATT&CK Enterprise中去对应就够了,匹配效率比总结效率高得多。
ATT&CK和态势感知
ATT&CK的关注点是上下文连贯的动作,而态势感知又恰好是根据在一段时间和空间中观察到的元素,同时理解这些元素的意义并预测这些元素在将来的状态,这一点与ATT&CK可以说是不谋而合。
为了防止有同学不清楚态势感知的感念,先说一下何为态势感知,所谓态势感知,总共分为三个阶段:观察、理解和预测。观察就是收集可观测对象的状态和事件,理解就是规整观察到的对象反映出的问题,预测是观察到的对象对未来的影响。通过态势感知我们就可以根据用户提供的上下文信息来动态决定我们的安全策略。
在态势感知系统中,观察数据的分类、归并、关联分析等阶段可以借助ATT&CK对其进行沉淀和格式化表达,使用ATT&CK可以更好地对融合的信息进行综合分析。ATT&CK和杀伤链模型有密切的联系,杀伤链模型同样也适用于态势感知系统中的某些功能。但是需要强调的是:杀伤链预测不等同于态势预测。
杀伤链还原是对已发生攻击事件的复盘推演,而态势预测是对未来可能发生的事情进行预测。杀伤链分析的对象是攻击线,而态势感知分析的对象网络环境。杀伤链预测的结果可以反馈给态势感知系统形成态势预测的资料。ATT&CK可以帮助杀伤链还原量化指标,杀伤链还原可以帮助态势感知进行态势理解和行为预测。
总结:
本期的ATT&CK模型简介到这里就结束了,下一期美创安全实验室将继续给大家带来ATT&CK系列文章的第二篇,有关ATT&CK的落地与应用知识的分享,希望大家继续关注。
以上是关于初识ATT&CK框架的主要内容,如果未能解决你的问题,请参考以下文章