序:
本文是实战化ATT&CK™系列专题文章的开篇,主要讲述当前网络空间安全的威胁形势、情报驱动防御和ATT&CK™模型等核心概念,旨在帮助读者深入理解ATT&CK™模型打下坚实的理论基础。
1.当前网络空间安全的威胁形势
2.情报驱动防御(Intelligence Driven Defense)
情报驱动防御,是一种以威胁为中心的风险管理战略,核心是针对对手的分析,包括了解对方的能力、目标、原则以及局限性,帮助防守方获得弹性的安全态势(resilient security posture),并有效指导安全投资的优先级(比如针对某个战役识别到的风险采取措施,或者高度聚焦于某个攻击对手或技术的安全措施)。
情报驱动防御必然是一个持续、迭代的过程,通过分析、协同发现指标,利用“指标”(indicator)去检测新的攻击活动,在调查过程又获得更丰富的指标。所谓弹性,是指从完整杀链看待入侵的检测、防御和响应,可以通过前面某个阶段的已知指标遏制链条后续的未知攻击;针对攻击方技战术重复性的特点,只要防守方能识别到、并快于对手利用这一特点,必然会增加对手的攻击成本。
指标(indicator)和失陷指标(IOCs,Indicators of Compromise)
(一)、指标(Indicator)为“情报”的基本要素,用于客观描述入侵的信息,具体分为三类:
原子指标(Atomic):为保持其在入侵语境下的意义、不能再做分拆的指标,如IP地址、email地址以及漏洞编号。
计算指标(Computed):从事件中所涉及数据派生出的指标。常用计算指标包括Hash值和正则表达式。
行为指标(Behavioral):计算和原子指标的集合,通常受到指标数量和可能组合逻辑的限制。举例来说,可能是一段类似这样的描述,“入侵者最初使用后门,匹配“正则表达式”以某“频率”访问某个“IP地址”,一旦访问建立,就会用另一后门(MD5 hash值)进行替换。”
(二)、失陷指标(IOCs,Indicators of Compromise)
1.失陷指标的生成,是以结构化的方式记录事件的特征和证物的过程。IOC包含从主机和网络角度的所有内容,而不仅仅是恶意软件。它可能是工作目录名、输出文件名、登录事件、持久性机制、IP地址、域名甚至是恶意软件网络协议签名。)。2.IOC不仅查找特定的文件和系统信息,还使用详细描述恶意活动的逻辑语句。3.Mandiant博客“Combat the APT by Sharing Indicators of Compromise7”中,作者Matt Frazier 介绍了一个基于XML 语言的IOC 实例化,并且可以使用免费的Mandiant 工具读取和创建IOC。
痛苦金字塔模型(The Pyramid of Pain )
痛苦金字塔模型由IOCs组成,同时也用于对IOCs进行分类组织并描述各类IOCs在攻防对抗中的价值。TTPs即Tactics, Techniques and Procedures(战术、技术以及过程)的简称,指对手从踩点到数据泄漏以及两者间的每一步是“如何”完成任务的。TTPs处于痛苦金字塔塔尖。于攻击方,TTPs反映了攻击者的行为,调整TTPs 所需付出的时间和金钱成本也最为昂贵。于防守方,基于TTPs的检测和响应可能给对手造成更多的痛苦,因此TTPs 也是痛苦金字塔中对防守最有价值的一类IOCs。但另一方面,这类IOCs 更加难以识别和应用,由于大多数安全工具并不太适合利用它们,也意味着收集和应用TTPs到网络防御的难度系数是最高的。而ATT&CK™模型是有效分析对手行为(也即TTPs)的威胁分析技术。
3.1)MITRE公司
最早其主要做国防部的威胁建模,主要是情报分析,从事反恐情报的领域(起源是911后美国情报提升法案),后续延申到网络空间安全领域,其最大的特色就是分类建模,STIX情报架构就是MITRE构建,SITX1.0版本又很浓的反恐情报分析影子。到了STIX2.0阶段,其发现仅仅用TTP很难描述网络空间网络攻击和恶意代码,因此,在STIX2.0中,引入攻击和恶意代码2个相对独立的表述,攻击采用capec,恶意代码采用meac,但是capec和meac过于晦涩,其又在2015年发布了ATT&CK™模型及建模字典,用来改进攻击描述。
3.2)ATT&CK模型(ATT&CK™)
ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge,对手战术、技术及通用知识库)是一个反映各个攻击生命周期的攻击行为的模型和知识库。
ATT&CK™对对手使用的战术和技术进行枚举和分类之后,能够用于后续对攻击者行为的“理解”,比如对攻击者所关注的关键资产进行标识,对攻击者会使用的技术进行追踪和利用威胁情报对攻击者进行持续观察。ATT&CK™也对APT组织进行了整理,对他们使用的TTP(技术、战术和过程)进行描述。
特点:
对手在真实环境中所使用的TTP
描述对手行为的通用语言
免费、开放、可访问
社区驱动
目前ATT&CK模型分为三部分,分别是PRE-ATT&CK,ATT&CKMatrixfor Enterprise(包括Linux、macOS、Windows)和ATT&CKMatrixfor Mobile(包括iOS、Android),其中PRE-ATT&CK覆盖攻击链模型的前两个阶段(侦察跟踪、武器构建),ATT&CKMatrixfor Enterprise覆盖攻击链的后五个阶段(载荷传递、漏洞利用、安装植入、命令与控制、目标达成),ATT&CKMatrixfor Mobile主要针对移动平台。
PRE-ATT&CK包括的战术有优先级定义、选择目标、信息收集、发现脆弱点、攻击性利用开发平台、建立和维护基础设施、人员的开发、建立能力、测试能力、分段能力。
ATT&CK Matrixfor Enterprise包括的战术有访问初始化、执行、常驻、提权、防御规避、访问凭证、发现、横向移动、收集、命令和控制、数据获取、影响。
ATT&CK Matrixfor Mobile主要针对移动平台。
ATT&CK模型中的TTP(战术、技术和过程)及它们之间的关系。
TTP的定义:(来源:美国国家标准技术研究所)
TTP即对手的行为。战术是对此行为的最高级别描述,而技术在战术的上下文中提供更详细的行为描述,而过程是在技术的上下文中更低级别,更详细的描述。
- 战术:对手的技术目标(如,横向移动)
- 技术:如何实现目标(如,PsExec)
- 过程:具体技术实施(如,使用PsExec实现横向移动的过程)
举例:
如果攻击者要访问的网络中的计算机或资源不在其初始位置,则需借助“横向移动攻击”战术。比较流行的一种技术是将Windows内置的管理共享,C$和ADMIN$,用作远程计算机上的可写目录。实现该技术的过程是利用PsExec工具创建二进制文件,执行命令,将其复制到远端Windows管理共享,然后从该共享处开启服务。另外,即使阻止执行PsExec工具,也不能完全消除Windows管理共享技术的风险。这是因为攻击者会转而使用其他过程,如PowerShell、WMI等工具。
威胁知情的防御强调:了解对手(Who)的战术(Why)、技术(How)和过程(TTPs)是成功进行网络防御的关键。因此我们可以通过ATT&CK™模型来对攻击者的TTP进行检测、防御和响应。
笔者将通过四篇文章来进行详细讨论:
Groups,用于跟踪由公共和私人组织在其威胁情报报告中报告的已知APT组织。
比如:APT3、APT29、Cobalt Group
参见:https://attack.mitre.org/groups/
Software,指对手使用的工具(tools),实用程序(utilities)和恶意软件(malware)。
工具(tools):比如:PsExec, Metasploit, Mimikatz
实用程序(utilities):Net, netstat, Tasklist
恶意软件(malware):PlugX, CHOPSTICK
参见:https://attack.mitre.org/software/
天御攻防实验室:专注威胁感知、威胁猎杀、高级威胁检测,Adversary Simulation、Adversary Detection、Adversary Resilience
本文作者:天御实验室
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/111095.html