以ATTCK为例构建网络安全知识图

server/2024/12/14 18:44:30/

ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge )是一个攻击行为知识库和模型,主要应用于评估攻防能力覆盖、APT情报分析、威胁狩猎及攻击模拟等领域。本文简单介绍ATT&CK相关的背景概念,并探讨通过ATT&CK构建知识图的思考。

前言

随着攻击工具、方法的逐渐升级和复杂化,安全数据的大规模融合,攻防对抗愈加激烈。安全团队如何在浩瀚数据中有效发现高级威胁的蛛丝马迹,如何把网络安全专家的经验、知识有效转化为可复制可扩展的数据分析能力,如何将对抗高级威胁的“炼金术”逐步升级为科学淘金指南,如何将安全从业者从繁重的体力劳动中解放出来,愈发成为安全能力亟需突破的难点和重点,也是我们正在探索的方向。

正如医疗行业中治疗疑难杂症依赖医疗专家,网络空间高级威胁的防护和处置也依赖安全专家的经验与知识。不过,即使是最顶尖的外科医生,也离不开高度自动化、精准化的医疗设备辅助其完成复杂高难度的医疗任务,网络空间亦需要自动化平台与工具辅助从业者进行持续的攻防对抗。

“针对网络空间智能威胁分析技术的研究,目的不是设计一个如何炫目的概念,也难以实现一个放之四海皆可用的AI安全模型。回归到攻防的战场上,我们希望也能够得到的,是一个能吞吐海量异构多源数据,快速检测、推理、响应、追踪威胁事件的高度自动化的统一平台及工具集,辅助人进行安全的运营、研究和对抗。”在《智能威胁分析之图数据构建》文中,基于对网络安全数据分析中常用数据源的重新审视,提出了构建智能安全平台的图模型所需的环境、行为、情报、知识四张关键数据图,以支撑“智能化”安全研究工作的进一步开展。构建自动化的威胁分析能力,需要对网络安全大规模、多源、多维数据进行系统的梳理和组织,以实现基于各类型数据的关联挖掘能力。图的组织形式能够充分发挥网络数据的图属性,从存储、分析、可视化等多个环节提升安全数据分析的效率。

在环境、行为、情报、知识四张图中,知识图具有可归纳、可推理、可建模的属性,通过知识图内部的关联和与其他类型的图间关联,能够有效拓展威胁事件分析的上下文,支持威胁的检测、响应、溯源等复杂任务。ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge )是一个攻击行为知识库和模型,主要应用于评估攻防能力覆盖、APT情报分析、威胁狩猎及攻击模拟等领域。本文简单介绍ATT&CK相关的背景概念,并探讨通过ATT&CK构建知识图的思考。

一、 ATT&CK相关背景

经过数年的知识积累,ATT&CK已经从针对企业内网的、Windows平台的、终端侧的、post-compromise行为分析模型,拓展为多场景(企业内网、移动环境等)、多平台(Windows、Linux、macOS等)、针对多源数据(终端、网络、文件等)、攻击链全生命周期的行为分析模型。兼具丰富的实战效用和可拓展的顶层模型设计,ATT&CK越发得到安全业界的重点关注。关于ATT&CK的介绍已有很多,在此,我们从多个关键词的角度来分析简单分析其特性。

1.    MITRE

MITRE是美国的一家非盈利组织,在美国国防部、国土安全部等政府组织的支持下,运营了多个技术研究中心,涉及网络安全等多方面国防高科技领域。MITRE发起或者运营了多个网络安全领域的标准如STIX/TAXII 1.0(STIX/TAXII 2.0目前已由OASIS运营),知识库如CAPEC,MAEC,CWE,CVE,ATT&CK等,针对网络安全领域的威胁建模、攻击分类、威胁情报等多方面研究构建了一个较为完整的安全生态。

2.    APT

APT(Advanced Persistent Threat,高级持续性威胁)逐渐成为安全行业谈论的热门话题,而ATT&CK正诞生于对已知APT组织的分析过程中:ATT&CK发起自MITRE的FMX(Fort Meade eXperiment)实验环境,旨在通过攻防对抗数据的采集和分析,提升对APT检测能力。ATT&CK归类的攻击技术大部分源于公开的APT组织活动,其主要的信息来源包括:

  • 威胁情报报告
  • 会议报告、研讨会、社交媒体、博客、开源代码库、恶意软件样本等

可以说,ATT&CK知识库的数据基础决定了其具有更贴近真实攻击者行为的实战效果,同时对APT攻击组织的分析和相关威胁情报的关联有得天独厚的优势。MITRE目前已发起的两轮基于ATT&CK的厂商能力评估中,也是以已知APT(APT3和APT29)作为攻击模拟的范本。

3.    威胁建模和知识库

威胁建模是网络安全威胁分析的一个重要环节,ATT&CK的概念抽象层次,是其区分与其他威胁模型、威胁知识库的关键。MITRE公司对威胁模型和威胁知识库的概念抽象层次进行了粗粒度的划分,如下所示。划分到不同层次的模型、概念没有优劣之分。区别在于不同的抽象层次决定了模型的表达能力和能够覆盖的概念的粒度。较高层抽象可谓高屋建瓴,从宏观的角度给威胁事件定性、给风险评级。较底层的概念更贴近细节,能够给威胁威胁事件更确切实际的解释、指导和评估。

图1 知识模型抽象分层[3]

ATT&CK被划分为中层次模型,相对的,Cyber Kill Chain和STRIDE威胁模型可以划分为高层次模型,可以用来表达和理解高层次的攻击者目标和防护系统风险。这些高层模型抽象层次高,自然难以表达具体的攻击行为和攻击行为关联的具体的数据、防护措施、配置资源等。例如,我们可将某一IOC或攻击行为对应到攻击链的“C&C”阶段,这提醒防御方需要采取必要的措施了,但采取怎样的措施,攻击链模型是难以表达的。而在ATT&CK中,该IOC可能对应到战术 “Command and Control”,同时采用的是“Multi-hop Proxy”的技术手段以达成战术目标,至此,我们可以进一步获取针对该技术手段的一些通用的防护措施。当然,中层次的ATT&CK所描述的仍然是TTP的抽象,具体到实例化的行为描述,仍然需要细粒度的划分。

漏洞库及漏洞利用模型划分为低层次概念。我们可以认为CAPEC、CWE属于这个抽象层次。CAPEC(Common Attack Pattern Enumeration and Classification)关注的是攻击者对网络空间脆弱性的利用,其核心概念是攻击模式Attack Pattern。从攻击机制的角度,CAPEC通过多个抽象层次对攻击进行分类和枚举。其目标是全面的归类针对已知的应用程序脆弱性的攻击行为。相对而言,ATT&CK的目标不是对不同攻击战术目标下技术的穷尽枚举,而是通过APT等攻击组织的可观测数据提取共性的战术意图和技术模式。战术意图是CAPEC枚举库难以表达的。从攻击检测的角度来看,只有明确攻击技术的战术意图,才能进一步推测攻击的关联上下文信息,以支持攻击威胁的评估和响应。此外,通过提供攻击组织(group)和软件(software)信息,ATT&CK还能够串联起威胁情报和事件检测数据,打通对威胁事件的理解链路。

4.    STIX 2.0

Structured Threat Information Expression (STIX)是MITRE发起的威胁情报交换语言和标准。Trusted Automated Exchange of Intelligence Information (TAXII) 则是用于威胁情报安全传输的应用层协议。STIX 2.0目前已转交OASIS的网络威胁情报技术委员会(CTI TC)维护。为了促进威胁情报的共享,STIX 2.0设计了12种域对象(SDOs,STIX Domain Objects)和两类关系对象(SROs,STIX Relationship Objects)。12种SDO如下所示。

图2 STIX 2.0对象[5]

为什么说STIX 2.0是ATT&CK的一个关键词呢?首先,ATT&CK本身就是建立在威胁情报的验证与抽象之上,在威胁检测应用中,能够自然打通外部威胁情报与内部的行为分析与检测结果,实现检测告警的上下文扩充。其次,将ATT&CK作为知识库构建知识图,需要通过本体库(实体种类、实体关系、实体属性、关系属性等)的设计,实现兼容性和拓展性。例如,与CAPEC、CWE、CVE等分类模型和枚举库的兼容。STIX 2.0提供了描述网络空间威胁情报的对象构成方案,也同样对安全知识库的本体设计有参考价值。当然,STIX 2.0的对象构成可能难以适应不同的应用场景中实体的描述粒度,不过以其当前的使用范围和接纳程度来看,定制化的知识图架构也最好能够兼容该方案。

图3 ATT&CK与STIX 2.0映射

上图展示了ATT&CK Tactic(战术)、Technique(技术)、Group(组织)及Software(软件)所覆盖的STIX 2.0对象。与STIX 2.0的对应能帮助我们更好的理解ATT&CK对象的内涵,例如Group对应的是Intrusion Set这个对象。

  • ATT&CK Technique -> STIX Attack-Pattern
  • ATT&CK Tactic -> STIX Attack-Pattern.Kill-Chain-Phase, STIX Tool.Kill-Chain-Phase, STIX Malware.Kill-Chain-Phase
  • ATT&CK Group -> STIX Intrusion-Set
  • ATT&CK Software -> STIX Malware (OR) STIX Tool
  • ATT&CK Mitigation -> STIX Course-of-Action

目前ATT&CK知识库已可以通过STIX 2.0进行完整的表达。具体的内容可以查阅MITRE官方Github的cti项目[6]。

二、 安全知识图构建思考

通过图模型组织安全大数据,能够充分发挥网络数据的“图基因”,提升多源、异构安全数据分析的效率,例如能够大幅缩短多跳关联数据检索的时间,能够根据新的关键“链接”构建新的知识链条等等。通过威胁模型和安全知识库,构建网络安全知识图,能够在网络环境图、行为图、情报图之外,提供可推理、可拓展、可关联的威胁上下文,促进数据细节的多跳关联,支持威胁事件的检测、响应、溯源等任务。

图4 行为图与ATT&CK知识图的关联

上图是一个图数据构建实例化的简单示例。ATT&CK作为知识库内容以及威胁建模的框架,能够在一些核心节点上,将告警数据、漏洞扫描数据及威胁情报数据进行碰撞融合。大规模的数据所能够组成的数据将是一个复杂的网络结构,能够提供数据的多跳检索分析的数据基础,能够通过图算法模型进行综合的评估。

当然,实际环境下所构建的数据结构及关联远比上图复杂。环境、行为、情报、知识图的关联需要对各个图结构进行系统性的设计。以下讨论基于ATT&CK的内容构建知识图的几个关键问题思考。

1.    本体库设计

图结构设计的一个关键任务,就是设计合理的本体库。本体包括了图中实体(节点)类型、实体的属性类型以及实体间的关系类型,即表示图结构的抽象概念结构“类”。本体库的构建既要讲科学也要讲艺术。讲科学是指需要遵循一定的规范标准,同时契合适当的威胁模型和描述模型;讲艺术则指的是概念的抽取很多时候是一个仁者见仁,智者见智的过程,并且要符合特定应用场景下的指定需求。

ATT&CK知识库提供了四个核心的实体(战术, 技术, 软件, 组织)及其之间的关系;CAPEC则主要覆盖TTP、防护手段、脆弱性等概念;如果直接参照STIX 2.0,则需要覆盖十余种对象。攻防模拟、威胁狩猎、合规检查、风险评估、检测响应、APT演练分析等等不同的业务场景,ATT&CK本身所提供的概念类型是不可能完全覆盖的。因此,ATT&CK在知识图构建中可作为威胁检测行为模型的知识源和建模方法,而不是一个完备的网络安全知识图。构建可用、可拓展的知识图,在顶层本体结构系统设计的基础上,一方面需要整合吸收所需的公开知识库,另一方面,需要通过知识图谱的手段主动进行知识拓展和延伸。

2.    知识库的关联

以MITRE生态下多个知识库为例,包括CAPEC、CWE、ATT&CK等,有密切的联系,同时有不同的应用场景。CAPEC针对基于应用脆弱性的攻击,通过攻击模式的抽象和分类,构造了攻击行为的可查询词典[7]。CAPEC和ATT&CK是两种不同的攻击建模方式, ATT&CK更贴近威胁检测的实战。在下图中,我们通过STIX 2.0架构对比一下两者所处的位置。可以看出两大知识库在概念的表达上有交叉,又各具特点。

图5 ATT&CK、CAPEC、CWE与STIX 2.0映射对比

下图展示了ATT&CK与CAPEC攻击模式分类的关联关系。其中ATT&CK以战术目标为列组织成矩阵结构,CAPEC通过攻击模式的抽象组织成树形结构。以Discovery战术下的System Owner/User Discovery技术为例,与该技术关联的CAPEC攻击模式为Owner Footprinting,同时该攻击模式关联的CWE为Information Exposure。

图6 ATT&CK与CAPEC的映射关系例子

威胁检测的实践不断证明基于行为的检测更能够适应动态环境下的高级威胁分析,不过,特征+行为的组合检测能力,是当前威胁检测效率提升的关键。从知识库构建的角度讲,CAPEC+CWE和ATT&CK都是不可或缺的。MITRE生态的持续完善能够充分降低各个知识库之间建立关联的难度,例如,CAPEC和ATT&CK目前都能够纳入STIX 2.0的表达体系;同时,两大知识库之间也已建立了知识的关联引用,当前ATT&CK Enterprise对应的244个Attack Pattern中与CAPEC关联的有44个。

图7 MITRE针对金融服务机构的威胁事件模型[8]

在威胁建模和知识库积累方面,无论是基于已有的知识库还是通过知识图谱算法抽取知识,构建知识图,一方面需要兼容已有的标准和架构,另一方面,也需要根据实际的应用场景选定合适的知识范围。MITRE于2018年提出过一个针对金融服务机构的增强威胁模型[8]。该模型虽然采用了较老版本的ATT&CK和CAPEC知识库,但也为我们展示了两个模型知识库联合使用枚举攻击能力的案例。在这里我们简单看一下该拓展模型的事件归类方式。从上述表格的最后一列可以看到,该模型以CAL (Cyber Attack Lifecycle) 模型(与Kill Chain模型一致)为基础,把ATT&CK和CAPEC统一纳入到事件模型中,将Exploit阶段及其前后阶段进行了细粒度的扩充。具体设计细节可以参考相关文章。

3.    威胁模型升级

不同威胁检测方案、设备提供商对威胁事件的理解层次和粒度不一样,输出的事件日志也难以打通。ATT&CK的出现,为促进统一的知识抽象带来曙光,为提供商自身能力的验证、不同提供商之间检测能力的横向对比、技术能力的共享提供了全新的视角。在此,我们重点关注的是使用ATT&CK作为知识图,增强数据关联、提升威胁行为检测能力的应用场景。

无论是基于静态特征特征还是基于机器学习的异常行为检测,各个威胁检测能力提供商往往有自成体系的威胁分析模型和事件命名体系。除非企业方案设计之初即采用了最新的威胁模型,本地化的检测能力要想和ATT&CK等知识库进行关联,需要合理的映射机制。很多企业已将Kill Chain攻击链模型作为威胁建模的基础,因此转向全新威胁模型体系的过程必然会给整个企业的威胁检测架构带来一定的冲击。威胁模型的升级对相对成熟的安全能力提供商更不友好,因为这些企业往往已具备大规模的IOC库、异常行为库,并且对应着各种自定义的命名规范。专家校验和归类自然是必不可少的过程,同时也需要自动化的关联和归类手段。在统一的威胁模型和命名体系下,多源行为图、环境图、情报图才能够有效关联威胁知识图,获取理解行为模式、分析推理的基础知识,打通各类数据间的检索壁垒。

4.    攻击模拟与知识拓展

ATT&CK矩阵的构建,不是简单的抽取APT情报和相关报告。各种行为的提取依赖的是在特定的场景下复杂、真实网络环境下的攻击模拟与对抗的不断验证、补充、完善。此外,ATT&CK知识库也远未成熟,针对不同场景、不同领域的威胁行为的知识需要整个社区不断的积累和贡献。因此,将ATT&CK知识库转化成企业自身的知识图并用于威胁分析,能够提升企业自身的检测能力,但更重要的是需要企业建立自己的攻击模拟环境,验证、精炼、修正知识结构,发现新的知识关联,以适应指定场景下的威胁分析任务。目前,支持ATT&CK的攻击模拟或渗透工具已有不少,如MITRE Caldera[9],Endgame RTA[10]等开源项目。

搭建攻击模拟环境的要点,基于ATT&CK验证流程、设计分析算法以及创建新的ATT&CK知识概念,相关经验和手段我们可以通过官方文档深入研究。

三、 总结

网络安全大数据的分析给威胁的检测与响应带来机遇,也同样带来挑战。我们需要更加有效的数据收集,合理的数据组织,准确的数据分析以及丰富的可视化能力,支撑分析任务中的模拟、关联、知识沉淀等过程,进而逐步自动化安全防御能力。随着ATT&CK行为知识的积累和相关技术的日益完善,不止在攻击模拟、红蓝对抗领域,更多的检测响应、用户实体行为分析、威胁狩猎、防病毒等威胁分析产品和方案逐渐向战术-技术矩阵靠拢、对齐。以ATT&CK进行威胁建模并建立行为分析的知识库,并以图数据形式组织,能够打通数据间壁垒,加速威胁情报、原始日志、检测数据、扫描数据、威胁知识库等多源数据的融合分析。ATT&CK不仅仅是一个模型,一个字典矩阵,一个标尺,ATT&CK所促成的生态,将促进生态下组织内外部的数据交互和共享。本文从ATT&CK的相关概念出发,介绍了基于ATT&CK构建安全知识图的思考,不成熟之处,烦请专家指正。


http://www.ppmy.cn/server/150159.html

相关文章

Qt之截图存为图片或PDF打印(七)

Qt开发 系列文章 - Screenshot-To-PicOrPDF(七) 目录 前言 一、截图 二、功能实现 1.创建项目 2.新建类 3.编写类 1.定义头文件 2.相关功能函数 3.使用类 总结 前言 本文利用Qt平台,实现屏幕截图功能,并将截图复制、保…

Ubuntu中iptables默认是开启的吗

不,Ubuntu 中 iptables 默认不是开启的。 虽然 Ubuntu 系统默认安装了 iptables 软件包(你可以通过 dpkg -l iptables 或 which iptables 命令来验证),但这并不意味着 iptables 规则已经生效。实际上,iptables 的规则…

《从零开始:轻松入门数据结构的世界》

一、为什么数据结构如此重要? 数据结构就像是程序的骨架,它决定了数据在内存中的存储方式,以及我们如何对这些数据进行操作。一个好的数据结构可以大大提高程序的运行效率,减少内存消耗。我们将通过一个简单的比喻来理解这一点&a…

《Django 5 By Example》阅读笔记:p493-p520

《Django 5 By Example》学习第 17 天,p493-p520 总结,总计 28 页。 一、技术总结 1.internationalization(国际化) vs localization(本地化) (1)18n,L10n,g11n 以前总觉得这两个缩写好难记,今天仔细看了下维基百科…

OpenGL 几何着色器高级应用

几何着色器高级应用 概念回顾 几何着色器(Geometry Shader)是 OpenGL 管线中的可选着色器阶段,位于顶点着色器(Vertex Shader) 和光栅化阶段 之间。 其核心功能是基于输入的图元(如点、线或三角形),生成新的图元,或对输入的图元进行修改。 几何着色器的执行是以图元…

Apache Commons Utils 类库使用

Apache Commons Utils 是一组开源的 Java 工具类库,提供了许多在开发中常用且实用的功能,涵盖了字符串处理、集合操作、日期时间处理、文件操作等多个方面。下面是对 Apache Commons Utils 中一些主要工具类的详细介绍和使用示例。 1. Commons Lang (or…

C# 异常处理全解析:让程序告别崩溃噩梦

一、什么是异常? 异常是程序在运行过程中发生的错误或意外情况。当程序遇到无法正常执行的情形时,会抛出一个异常,以通知程序发生了错误。异常是程序中的一种事件,需要被捕获和处理,否则程序可能会崩溃或终止运行。 …

使用HashMap实现LRU

1. 使用LinkedList实现 import java.util.LinkedList;public class Main {public static void main(String[] args) throws Exception {cacheLRU cache new cacheLRU(3);cache.add(1);cache.add(2);cache.add(3);System.out.print(cache.get(1));System.out.print(cache.get(…