前一篇文章分享了S&P2019《HOLMES: Real-time APT Detection through Correlation of Suspicious Information Flows》,基于可疑信息流的实时APT检测。这篇文章将详细介绍和总结基于溯源图的APT攻击检测安全顶会内容,花了作者一个多月时间。希望这篇文章对您有所帮助,这些大佬是真的值得我们去学习,献上小弟的膝盖~fighting!
本次分享主要是作者对APT攻击部分顶会论文阅读的阶段性总结,将从以下四个方面开展,包括APT攻击背景知识、APT攻击检测研究、基于溯源图的APT攻击检测方法对比、下一步工作及讨论。其重点是对基于溯源图的APT攻击检测进行总结。同时,由于作者科研能力和英文还较弱,写得不好或理解不到位的地方,还请各位老师和博友指正和批评,谢谢!
文章目录:
《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期待与您前行,加油~
前文推荐:
1.什么是APT攻击?
APT攻击(Advanced Persistent Threat,高级持续性威胁) 是利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式。APT攻击也称为定向威胁攻击,指某组织对特定对象展开的持续有效的攻击活动。这种攻击活动具有极强的隐蔽性和针对性,通常会运用受感染的各种介质、供应链和社会工程学等多种手段实施先进的、持久的且有效的威胁和攻击。
2.APT攻击的特点 上图的表格展示了APT攻击和普通攻击的区别。可以简单地将APT攻击特点总结为:
3.APT攻击检测存在的困难 下图展示了2016到2020年,亚太地区AP攻击事件的停留时间,可以看到其潜伏期很长,想要发现一起APT攻击极为困难。同时,传统APT攻击检测存在一定的缺陷,包括:
接着补充下两个辅助APT攻击的经典知识框架,它们分别是 kill-chain Model 和 ATT&CK Model。它们既能帮助我们理解、检测和溯源APT攻击流程,又在论文中作了相应的贡献,现已被广泛用于APT攻击检测领域研究,后面会详细介绍。
最后展示了常见APT组织。
该部分从APT攻击检测相关研究、基于异常检测的方法和基于溯源图的方法三个方面介绍,重点以基于溯源图的方法为主。
APT攻击检测研究方法的分类很多,作者这里仅将其分成了两大块(不一定合适),主要和作者阅读的论文相关,也欢迎大家交流分类方法。即:
我们先看看图中下半部分基于 溯源图(Provenance Graph)
的APT检测方法。主要包括:
(1)伊利诺伊大学芝加哥分校团队
首先,USENIX’17提出的 SLEUTH
,将溯源图应用于APT攻击检测领域。然后,该团队紧接着在2019年CCS会议上提出 Poirot
,在S&P’19上提出 Holmes
,该方法融合了Kill Chain和ATT&CK框架。此外,在2021年EurS&P提出 Extrator
,并引入外部知识。
(2)伊利诺伊大学香槟分校团队
另一个研究溯源图的团队来自伊利诺伊大学香槟分校,他们分别在NDSS’20提出了 UNICORN
和 ProvDetector
,同时在2020年的S&P上提出 RapSheet
,它融合了ATT&CK框架。
(3)普渡大学团队
第三个团队是来自普渡大学,当然各团队之间有很多合作团队。他们的核心成果包括NDSS’13提出的 BEEP
,NDSS’16提出的 ProTracer
和USENIX’21提出的 ATLAS
。
整个基于溯源图的APT检测方法是在Baseline的基础上不断优化,包括溯源图+引入外部知识、溯源图+融合ATT&CK框架、因果关系图+NLP等。后面的论文和框架图作者会更详细的介绍,从而梳理出溯源图方法的研究路线。另外,基于异常检测的方法图中也列举了部分方法。
基于异常检测的方法这里简单例举了利用C&C域名、数学模型、恶意流量和恶意行为实现APT攻击检测的框架图,如下图所示。
上述传统APT攻击检测方法主要存在的缺陷包括:
结合上述原因,产生了改进方法,即:
接下来开始详细介绍基于溯源图的APT攻击检测方法。
第一篇论文是USENIX’17的 SLEUTH
。
Md Nahid Hossain, et al. SLEUTH: Real-time Attack Scenario Reconstruction from COTS Audit Data. USENIX’17 - https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-hossain.pdf - 石溪大学、伊利诺伊大学芝加哥分校
这篇文章的主要贡献如下:
整个SLEUTH的框架图如下图所示,核心内容如下:
同时,依赖关系图中的节点和关系表示如下:
接着介绍它的警报(Alarms)计算策略,以下四个会引发警报,包括:
下图是攻击场景的重构,它是对FireFox浏览器漏洞的场景还原。
整个场景还原如下:它的入口点是在firefox.exe位置,首先它会去接收IP地址,然后fork下载器(dropper),接着它会发送请求到443端口;接下来会多次调用cmd执行命令,如whoami、netstat、hostname等,并将数据写入到指定路径的thumbs.db文件中;然后执行git.exe实现数据过滤操作;最后执行burnout.bat批处理文件清除场景的痕迹。
整个实验采用 DARPA TC
数据集实验,它有8个攻击场景重构及攻击阶段映射,该论文对每个场景进行了图还原,涉及阶段如下图所示:
实验统计了APT攻击场景每个阶段的实体数量:关键文件、网络连接、执行程序等,如下图所示。
其他实验效果如下,建议读者阅读原文。
最后,简单总结SLEUTH与传统方法的区别:
补充:DARPA TC是经典的APT攻击检测数据集 美国国防高级研究计划局(Defense Advanced Research Projects Agency, DARPA)运营了多个重量级的网络空间安全研究项目,召集了诸多美国顶级研究机构参与,可谓是集中力量办大事。其中,透明计算(Transparent Computing, TC)项目正是期望通过基于终端数据的采集与分析增强终端上系统细粒度行为的可视能力,以实现企业级网络空间APT检测、取证等关键任务。 现代操作系统的功能逻辑越来越复杂,计算系统的低透明度成为精细化记录、分析、预测系统级别行为的重要限制,而封闭的系统黑盒为具有高隐蔽性、高对抗性的APT攻击者提供了绝佳的潜伏场所。为了打开系统行为黑盒,实现在较低开销下提供系统各层级软件模块行为可见性,DAPRA组织了Transparent Computing项目。该项目的目标技术及系统需实现:
基于以上能力的实现,TC项目旨在完成细粒度系统级行为的关联,实现在大规模行为中识别异常与恶意意图,发现潜在的APT或其他高级威胁,并提供完整的溯源分析与相关损失评估。同时,TC项目能够实现网络推理能力与企业规模网络监控和管控系统的整合,以增强关键节点的安全策略有效性。 从2016年10月到2019年5月,DARPA TC项目共组织了5次较大规模的红蓝对抗交战演习(Engagement)。在每次对抗中,TC总共划分为5个技术域(Technical Areas, TAs),其时间跨度超过20天。TA5.1实现了包括Carbanak、Uroburos、DustySky、OceanLotus、njRAT、HawkEye、DeputyDog等多种恶意软件在攻防平台中的投放。DARPA TC的攻击模拟展现了参与团队在APT技战术的深厚积累。
参考绿盟的文章并强烈推荐: https://www.nsfocus.com.cn/html/2020/21_0824/605.html
第二篇论文是来自CCS’19的 Poirot
。
Sadegh M, et al. Poirot: Aligning Attack Behavior with Kernel Audit Records for Cyber Threat Hunting. CCS’19 - https://dl.acm.org/doi/pdf/10.1145/3319535.3363217 - 伊利诺伊大学芝加哥分校、密歇根大学迪尔伯恩分校
这篇文章的主要贡献如下:
整个Poirot的框架图如下图所示,核心内容如下:
接下来补充查询图(Query Graph)构建的过程。相当于给你一篇APT分析报告,它会自动生成对应的查询图,如下图所示,A执行B的exe程序,并写入C,然后写入D注册表,再向E发送请求。
对应的匹配过程如下图所示,Gq表示查询图,Gp表示溯源图。个人理解,DARPA TC数据会生成溯源图,然后和查询图匹配出来两个对应的结果子图,如最右边所示。从而更好地发现那部分子图是在实施APT攻击。
该方法还包括两种类型的对齐:node alignment和graph alignment。
由于作者能力有限且理解不够,一些细节未能很好地表达,还请见谅。建议大家去阅读原文,这些公式及算法非常重要,当然我也会继续努力提升自己的阅读能力,多向这些大佬学习并力争撰写好的论文,共勉。
实验结果如下图所示,比如不同恶意软件(如海莲花OcenLotus)对应的查询图以及对其过程。
其他的实验结果如下,比如选择阈值的对比结果,这也将决定对齐算法的分数。
实验结果表明:
本文方法与传统方法对比如下:
第三篇论文是S&P’19经典的 HOLMES
。
Sadegh M. Milajerdi, et al. HOLMES: Real-time APT Detection through Correlation of Suspicious Information Flows. S&P’19 - https://arxiv.org/pdf/1810.01594.pdf - 伊利诺伊大学芝加哥分校、密歇根大学迪尔伯恩分校、石溪大学
这篇文章的主要贡献如下:
其框架图如下所示,前面基本类似,但右端增加了一个高级场景图(high-level scenario graph,HSG),从而实现低层次(日志、警报)信息到高层次的映射,解决论文中提到的语义鸿沟。该方法能够实时检测系统,产生APT报警;并能实时产生高级别的攻击图来描述攻击者的行为,协助防御者进行实时地安全响应。
HSG对应如下图所示,传统比如是审计日志信息,直接到上层的APT攻击阶段(杀伤链)会存在语义损失,即:低级别审计数据与攻击目标意图与高级杀伤链(kill-chain)视角之间存在巨大的语义差距。因此引入TTPs和HSG,通过ATT&CK框架映射的中间层来提升实验效果。
APT攻击检测存在的难点可以概括如下三点,该方法能有效解决这些困难。
下面简单介绍一个运行时APT攻击溯源图(Provenance Graph)示例。如下图所示,可以看到攻击行为是从初始入侵到C&C通信,再到内部侦查、数据读取、权限提升,以及内部侦查、清除痕迹、窃取信息等。这其实就是一个溯源图,通过数据之间的因果关系生成这样的图,比如C&C通讯、提权、文件操作等进行关联。而上面是正常操作行为。
实验结果表明,HOLMES能有效区分良性场景和攻击场景。下图是攻击场景所涉及流程(七维对应杀伤链)及阈值分数,能有效识别APT攻击。
下图展示了APT攻击和良性事件的有效区分。
传统方法存在的缺点如下:
本文HOLMES的优点如下:
正是综合各种优点,论文的故事叙述非常棒,并结合之前的成果,所以他们能发到S&P,非常值得我学习。
第四篇论文是EurS&P’21的 Extrator
。
Kiavash Satvat, et al. EXTRACTOR: Extracting Attack Behavior from Threat Reports. EurS&P’21 - https://arxiv.org/pdf/2104.08618.pdf - 伊利诺伊大学芝加哥分校
由于CTI报告海量且非结构化,安全人员很难从文本中提取出真正有效的信息,本文提出了融合自然语言处理的Extrator方法。其主要贡献如下:
其框架图如下图所示,包括:
实体识别和实体消歧示例如下图所示:
实验表明Extrator可以有效提取CTI报告的攻击信息,并以溯源图形式展现。同时,生成的溯源图与人工生成的溯源图能够进行匹配,验证了方法的有效性,并且溯源图可以进一步作为威胁情报检测系统的输入。下图展示了不同攻击场景的精确率、召回率和F1值。
方法对比:
本文仍然存在一些缺陷。
简单总结 写到这里,作者简单总结下伊利诺伊大学芝加哥分校的五个工作,可以很好地看到他们逐年的优化和改进。分别对应:SLEUTH [USENIX’17]、NODOZE [NDSS’19]、Poirot [CCS’19]、HOLMES [S&P’19]、Extrator [EurS&P’21]。
欢迎大家继续补充作者写得的不足,因为阅读有限,也可能漏掉一些重要论文和方法。这里简单补充几个作者分享不足之处和疑惑。
PS:下面的论文由于阅读还存在一些疑惑,作者就进行简单介绍,还请读者见谅。
第五篇论文是RAID’20的 HINTI
。
Jun Zhao, et al. Cyber Threat Intelligence Modeling Based on Heterogeneous Graph Convolutional Network. RAID’20 - https://www.usenix.org/system/files/raid20-zhao.pdf - 北京航天航空大学、密西根州立大学
这篇文章的主要贡献如下:
与现有的CTI框架不同,HINTI旨在实现一个CTI计算框架,它不仅可以有效提取IOC,而且还可以建模和量化它们之间的关系。下表展示了17种元路径关系。
HINTI能有效挖掘隐藏在IOCs之间相互依赖关系和安全知识,并应用于威胁模型,其核心四个步骤如下。
本文提取的13种主要的IOC性能如表3所示。总的来说,我们的IOC提取方法在精确率、召回率、平均F1值都表现出了优异的性能。然而,我们观察到在识别软件和恶意软件时的性能下降,这是因为大多数软件和恶意软件是由随机字符串命名,如md5。
图8显示了不同类型元路径下的前3个聚类结果,其中元路径 AVDPDTVTAT(P17) 在紧凑和分离良好的集群中性能最好,这表明它比其他元路径在描述攻击偏好方面具有更丰富的语义关系。
与之前的方法对比,本文也存在一些缺陷:
第六篇论文是NDSS’20的 UNICORN
。
Xueyuan Han, et al. Unicorn: Runtime Provenance-Based Detector for Advanced Persistent Threats. NDSS’20 - https://arxiv.org/pdf/2001.01525.pdf - 哈佛大学、布里斯托大学、伊利诺伊大学香槟分校、不列颠哥伦比亚大学
这篇文章的主要贡献如下:
其框架如下图所示,包括四个核心步骤:
直方图生成算法如下,建议读者精读原文。
实验结果如下图所示:
同时包括一些详细的性能对比。
UNICORN与之前的方法对比结果如下:
UNICORN的局限性和改进如下:
第七篇论文是NDSS’20的 ProvDetector
。
Qi Wang, et al. You Are What You Do: Hunting Stealthy Malware via Data Provenance Analysis. NDSS’20 - https://www.ndss-symposium.org/wp-content/uploads/2020/02/24167-paper.pdf - 伊利诺伊大学香槟分校、NEC实验室、德克萨斯州大学达拉斯分校
首先,我们先介绍下离地攻击。
由于现有反病毒软件和方法很难检测到该类攻击,本文提出一种ProvDetector方法,它需要依赖内核级的溯源监控来捕获目标程序的动态行为。
这篇文章的主要贡献如下:
ProvDetector的核心ProvDetector分为四部分:图构建、特征提取、嵌入和异常检测。部署监控代理,按照定义收集系统数据放入数据库。定期扫描数据库检查是否有新添加的进程被劫持。对于每个进程,先构建起起源图(图构建)。然后从源点图中选择路径子集(特征提取)并将路径转换为数值向量(嵌入)使用一个新颖的检测器来获得嵌入向量的预测并报告最终决定(异常检测)。
实验结果如下图所示:
你可能会疑惑为什么分享这篇文章呢?一方面由于它也用到了溯源图概念,另一方面同样来自于伊利诺伊大学香槟分校团队(同UNICORN),并且将溯源图应用于其他领域,即检测伪装技术的隐蔽恶意软件。这也是我们探索论文idea的一个思路,可能其他领域或方法也会给我们带来灵感喔。当然,目前作者科研能力太弱,需要不断提升,学习嘛,一辈子的事情。加油!
第八篇论文是S&P’20的 RapSheet
。
Wajih Ul Hassan, et al. Tactical Provenance Analysis for Endpoint Detection and Response Systems. S&P’20 - https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9152771 - 伊利诺伊大学香槟分校、NortonLifeLock
本文首先指出已有的EDR(端点检测和响应)工具存在的三个主要弊端:
因此,本文提出了战术源图(Tactical Provenance Graphs, TPGs)的概念,个人感觉TTPs+溯源图,并研发了RapSheet系统,直接推理EDR系统生成的威胁警报之间因果关系。其主要贡献如下:
本文是用商业赛门铁克EDR软件进行真实检测和实验。其实验结果表明:
RapSheet与传统方法对比:
最后一篇是2021年USENIX的论文,作者仅作了简单的阅读。即 ATLAS
。该文章来自普度大学团队,针对APT研究成果还包括NDSS’13的BEEP、NDSS’16的ProTracer等。此外,CCS21也发现了新的溯源图研究成果,说明基于溯源图的研究仍然是一个值得探索的方向。
Abdulellah Alsaheel, et al. ATLAS: A Sequence-based Learning Approach for Attack Investigation. USENIX’21 - https://www.usenix.org/system/files/sec21-alsaheel.pdf - 普度大学
本文提出一种基于序列的攻击调查学习方法ATLAS。其主要观察结果是:无论所利用的漏洞和执行的有效载荷如何,不同的攻击可能共享相似的抽象攻击策略。
ATLAS是利用因果关系分析、自然语言处理和机器学习技术的新颖组合来构建基于序列的模型,该模型从因果图建立攻击和非攻击行为的关键模式。在推断时间,给定威胁警报事件,确定因果图中的攻击症状节点。然后,ATLAS构造一组与攻击症状节点关联的候选序列,使用基于序列的模型来识别顺序中有助于攻击的节点,并将识别出的攻击节点统一起来构建攻击记录。
本文的主要贡献如下:
个人感觉生成Attack Story还原攻击故事是本文的一大亮点。
实验结果如下图所示,建议阅读原文。
ATLAS 主要涉及支持审计日志溯源追踪的三个子主题,包括:溯源图的因果关系分析、基于异常的分析以及 ML 技术在攻击调查中的应用。当然也存在一定的缺陷,即:
写到这里,上述方法已经介绍完毕,接下来我们对所有文章进行简单的研究趋势梳理和方法对比研究。
研究趋势如下,还原各位老师和读者指正及补充。
方法对比主要从溯源图、知识框架、先验知识和优缺点进行比较,得出如下表所示结果。个人感觉,溯源图、是否引入知识框架(ATT&CK)、是否有先验知识、是否融入NLP(消歧 | 对齐 | 去噪合真实场景应用是该方向研究的重要进步补充。
数据集的对比如下图所示,主要以DARPA TC、公开威胁情报文本和真实场景攻击数据为主。
基于溯源图的APT攻击检测是APT检测领域中一个非常重要的分支,由于APT攻击的隐蔽性、威胁性、实时性、针对性,传统的方法艰难检测,因此提出了溯源图的方法。当前的研究趋势主要表现在:
未来的研究趋势如下(个人感觉):
这篇文章就写到这里了,希望对您有所帮助。由于作者英语实在太差,论文的水平也很低,写得不好的地方还请海涵和批评。同时,也欢迎大家讨论。学安全两年,认识了很多安全大佬和朋友,希望大家一起进步。同时非常感谢参考文献中的大佬们,感谢老师、实验室小伙伴们的教导和交流,深知自己很菜,得努力前行。感恩遇见,且行且珍惜,