[系统安全] 四十二.APT系列基于溯源图的APT攻击检测安全顶会论文总结
Posted Eastmount
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[系统安全] 四十二.APT系列基于溯源图的APT攻击检测安全顶会论文总结相关的知识,希望对你有一定的参考价值。
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~
前文带大家学习了软件来源分析,结合APT攻击中常见的判断方法,利用Python调用扩展包进行溯源。这篇文章将从学术角度去普及和总结一个新的概念——溯源图,文章将详细介绍和总结基于溯源图的APT攻击检测安全顶会内容,花了作者一个多月时间。希望这篇文章对您有所帮助,这些大佬是真的值得我们去学习,献上小弟的膝盖~fighting!
本次分享主要是作者对APT攻击部分顶会论文阅读的阶段性总结,将从以下四个方面开展,包括APT攻击背景知识、APT攻击检测研究、基于溯源图的APT攻击检测方法对比、下一步工作及讨论。其重点是对基于溯源图的APT攻击检测进行总结。同时,由于作者科研能力和英文还较弱,写得不好或理解不到位的地方,还请各位老师和博友指正和批评,谢谢!
文章目录
欢迎大家讨论和留言,我们一起进行更深入的尝试和安全测试 O(∩_∩)O
希望这些基础原理能更好地帮助大家做好防御和保护,基础性文章,希望对您有所帮助。作者作为网络安全的小白,分享一些自学基础教程给大家,主要是在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔!
作者的github资源:
- 逆向分析:https://github.com/eastmountyxz/SystemSecurity-ReverseAnalysis
- 网络安全:https://github.com/eastmountyxz/NetworkSecuritySelf-study
从2019年7月开始,我来到了一个陌生的专业——网络空间安全。初入安全领域,是非常痛苦和难受的,要学的东西太多、涉及面太广,但好在自己通过分享100篇“网络安全自学”系列文章,艰难前行着。感恩这一年相识、相知、相趣的安全大佬和朋友们,如果写得不好或不足之处,还请大家海涵!
接下来我将开启新的安全系列,叫“系统安全”,也是免费的100篇文章,作者将更加深入的去研究恶意样本分析、逆向分析、内网渗透、网络攻防实战等,也将通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步,加油~
- 推荐前文:网络安全自学篇系列-100篇
前文分析:
- [系统安全] 一.什么是逆向分析、逆向分析基础及经典扫雷游戏逆向
- [系统安全] 二.如何学好逆向分析及吕布传游戏逆向案例
- [系统安全] 三.IDA Pro反汇编工具初识及逆向工程解密实战
- [系统安全] 四.OllyDbg动态分析工具基础用法及Crakeme逆向
- [系统安全] 五.OllyDbg和Cheat Engine工具逆向分析植物大战僵尸游戏
- [系统安全] 六.逆向分析之条件语句和循环语句源码还原及流程控制
- [系统安全] 七.逆向分析之PE病毒原理、C++实现文件加解密及OllyDbg逆向
- [系统安全] 八.Windows漏洞利用之CVE-2019-0708复现及蓝屏攻击
- [系统安全] 九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度提权
- [系统安全] 十.Windows漏洞利用之SMBv3服务远程代码执行漏洞(CVE-2020-0796)复现
- [系统安全] 十一.那些年的熊猫烧香及PE病毒行为机理分析
- [系统安全] 十二.熊猫烧香病毒IDA和OD逆向分析(上)病毒初始化
- [系统安全] 十三.熊猫烧香病毒IDA和OD逆向分析(中)病毒释放机理
- [系统安全] 十四.熊猫烧香病毒IDA和OD逆向分析–病毒释放过程(下)
- [系统安全] 十五.Chrome浏览器保留密码功能渗透解析、蓝屏漏洞及某音乐软件漏洞复现
- [系统安全] 十六.PE文件逆向基础知识(PE解析、PE编辑工具和PE修改)
- [系统安全] 十七.Windows PE病毒概念、分类及感染方式详解
- [系统安全] 十八.病毒攻防机理及WinRAR恶意劫持漏洞(脚本病毒、自启动、定时关机、蓝屏攻击)
- [系统安全] 十九.宏病毒之入门基础、防御措施、自发邮件及APT28宏样本分析
- [系统安全] 二十.PE数字签名之(上)什么是数字签名及Signtool签名工具详解
- [系统安全] 二十一.PE数字签名之(中)Signcode、PEView、010Editor、Asn1View工具用法
- [系统安全] 二十二.PE数字签名之(下)微软证书漏洞CVE-2020-0601复现及Windows验证机制分析
- [系统安全] 二十三.逆向分析之OllyDbg动态调试复习及TraceMe案例分析
- [系统安全] 二十四.逆向分析之OllyDbg调试INT3断点、反调试、硬件断点与内存断点
- [系统安全] 二十五.WannaCry勒索病毒分析 (1)Python复现永恒之蓝漏洞实现勒索加密
- [系统安全] 二十六.WannaCry勒索病毒分析 (2)MS17-010漏洞利用及病毒解析
- [系统安全] 二十七.WannaCry勒索病毒分析 (3)蠕虫传播机制解析及IDA和OD逆向
- [系统安全] 二十八.WannaCry勒索病毒分析 (4)全网"最"详细的蠕虫传播机制解读
- [系统安全] 二十九.深信服分享之外部威胁防护和勒索病毒对抗
- [系统安全] 三十.CS逆向分析 (1)你的游戏子弹用完了吗?Cheat Engine工具入门普及
- [系统安全] 三十一.恶意代码检测(1)恶意代码攻击溯源及恶意样本分析
- [系统安全] 三十二.恶意代码检测(2)常用技术详解及总结
- [系统安全] 三十三.恶意代码检测(3)基于机器学习的恶意代码检测技术
- [系统安全] 三十四.恶意代码检测(4)编写代码自动提取IAT表、字符串及时间戳溯源地区
- [系统安全] 三十五.Procmon工具基本用法及文件进程、注册表查看
- [系统安全] 三十六.APT系列(1)APT攻击溯源防御与常见APT组织的攻击案例
- [系统安全] 三十七.APT系列(2)远控木马详解与防御及APT攻击中的远控
- [系统安全] 三十八.APT系列(3)恶意代码与APT攻击中的武器(强推Seak老师)
- [系统安全] 三十九.APT系列(4)APT攻防溯源普及和医疗数据安全防御总结
- [系统安全] 四十.APT系列(5)APT组织常用WinRAR漏洞复现(CVE-2018-20250)及恶意软件劫持
- [系统安全] 四十一.APT系列(6)Python解析PE文件并获取时间戳判断来源区域
- [系统安全] 四十二.APT系列(7)基于溯源图的APT攻击检测安全顶会论文总结
声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。
一.背景知识
1.什么是APT攻击?
APT攻击(Advanced Persistent Threat,高级持续性威胁) 是利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式。APT攻击也称为定向威胁攻击,指某组织对特定对象展开的持续有效的攻击活动。这种攻击活动具有极强的隐蔽性和针对性,通常会运用受感染的各种介质、供应链和社会工程学等多种手段实施先进的、持久的且有效的威胁和攻击。
2.APT攻击的特点
上图的表格展示了APT攻击和普通攻击的区别。可以简单地将APT攻击特点总结为:
- 隐蔽性
0-day漏洞、needle in a haystack(通常不到0.01%)、无文件攻击、加密流量 - 持续性
low-and-slow(潜伏时间长)、攻击时间跨度大 - 针对性
Stuxnet、SolarWinds - 模块化(自适应)
Stuxnet、WannaCry
3.APT攻击检测存在的困难
下图展示了2016到2020年,亚太地区AP攻击事件的停留时间,可以看到其潜伏期很长,想要发现一起APT攻击极为困难。同时,传统APT攻击检测存在一定的缺陷,包括:
- 无法捕获长期运行的系统行为
- 0-day漏洞导致攻击艰难检测
- 实时攻击检测、真实场景检测效果不佳
- 容易遭受投毒攻击
注意,这里的投毒攻击是指因APT攻击持续时间长,导致ML模型学习攻击特征时,会将恶意行为逐渐训练学习为正常行为 - …
接着补充下两个辅助APT攻击的经典知识框架,它们分别是 kill-chain Model 和 ATT&CK Model。它们既能帮助我们理解、检测和溯源APT攻击流程,又在论文中作了相应的贡献,现已被广泛用于APT攻击检测领域研究,后面会详细介绍。
- kill-chain Model
洛克希德·马丁公司开发的“网络杀伤链”模型描述了网络攻击的各阶段流程,具体包括七个阶段,即目标侦查、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、任务执行。
- ATT&CK Model
ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge )是一个攻击行为知识库和模型,主要应用于评估攻防能力覆盖、APT情报分析、威胁狩猎及攻击模拟等领域。网址:https://attack.mitre.org/
最后展示了常见APT组织。
二.APT攻击检测研究
该部分从APT攻击检测相关研究、基于异常检测的方法和基于溯源图的方法三个方面介绍,重点以基于溯源图的方法为主。
1.APT攻击检测相关研究
APT攻击检测研究方法的分类很多,作者这里仅将其分成了两大块(不一定合适),主要和作者阅读的论文相关,也欢迎大家交流分类方法。即:
- Anomaly-based detectors for APTs
– 主机日志(审计日志)
– 系统调用
– 网络流量 | 警报信息
– 恶意行为 - Provenance graph-based detectors for APTs
– 溯源图
– +引入外部知识
– +融合ATT&CK框架
– 因果关系图+NLP
我们先看看图中下半部分基于 溯源图(Provenance Graph)
的APT检测方法。主要包括:
-
伊利诺伊大学芝加哥分校团队
首先,USENIX’17提出的SLEUTH
,将溯源图应用于APT攻击检测领域。然后,该团队紧接着在2019年CCS会议上提出Poirot
,在S&P’19上提出Holmes
,该方法融合了Kill Chain和ATT&CK框架。此外,在2021年EurS&P提出Extrator
,并引入外部知识。 -
伊利诺伊大学香槟分校团队
另一个研究溯源图的团队来自伊利诺伊大学香槟分校,他们分别在NDSS’20提出了UNICORN
和ProvDetector
,同时在2020年的S&P上提出RapSheet
,它融合了ATT&CK框架。 -
普渡大学团队
第三个团队是来自普渡大学,当然各团队之间有很多合作团队。他们的核心成果包括NDSS’13提出的BEEP
,NDSS’16提出的ProTracer
和USENIX’21提出的ATLAS
。
整个基于溯源图的APT检测方法是在Baseline的基础上不断优化,包括溯源图+引入外部知识、溯源图+融合ATT&CK框架、因果关系图+NLP等。后面的论文和框架图作者会更详细的介绍,从而梳理出溯源图方法的研究路线。另外,基于异常检测的方法图中也列举了部分方法。
2.基于异常检测的方法
基于异常检测的方法这里简单例举了利用C&C域名、数学模型、恶意流量和恶意行为实现APT攻击检测的框架图,如下图所示。
上述传统APT攻击检测方法主要存在的缺陷包括:
- APT攻击时间跨度长,缺乏方法或工具有效将信息进行关联,还原攻击链
- 实时检测困难,较难高效地从百万条日志中筛选数据,并检测出最可能的攻击行为
- 较难让分析人员通过数据有效地进行推理,从而检测未知攻击
- 缺乏对真实场景的APT攻击进行检测,并且IDS和SIEM会产生大量的信息,传统方法识别真实的攻击更加困难
- 无法有效解决投毒攻击,即由于APT攻击时间跨度较长,深度学习会将恶意特征训练为正常特征
结合上述原因,产生了改进方法,即:
- 基于溯源图的APT攻击检测(Provenance graph-based detector for APTs)
接下来开始详细介绍基于溯源图的APT攻击检测方法。
3.基于溯源图的方法
SLEUTH [USENIX’17]
第一篇论文是USENIX’17的 SLEUTH
。
Md Nahid Hossain, et al. SLEUTH: Real-time Attack Scenario Reconstruction from COTS Audit Data. USENIX’17
这篇文章的主要贡献如下:
- 首次利用溯源图重构APT攻击,即利用因果关系跟踪和溯源图构造模型
- 提出一种可以在企业主机上实时重构攻击场景的方法和系统
- 开发一种平台无关、基于主存的审计日志数据依赖图抽象
整个SLEUTH的框架图如下图所示,核心内容如下:
- (1) 输入的是Linux、Windows和FreeBSD平台的审计日志信息
- (2) 构建并标记依赖关系图,标签将提供重要的上下文信息,对应论文中良性可信、良性和未知三种类型
- (3) 实现基于标签和策略的攻击检测,并定制的策略,根据审计日志的秘密性分为公开、隐私、敏感和秘密,通过引入标签和策略实现对依赖关系图赋予不同的权重
- (4) 经过依赖图反复构建后,会到达警报计算阶段,通过定义规则来匹配更高的威胁攻击,生成对应的分数,基于标签的分析后会生成并还原场景图(Scenario Graph)
同时,依赖关系图中的节点和关系表示如下:
- 节点:表示subjects(进程)和objects(文件、sockets)
- 关系:表示审计事件(读、写、执行、连接等操作)
接着介绍它的警报(Alarms)计算策略,以下四个会引发警报,包括:
- 不受信任的代码执行:高等级标签去执行低等级时触发
- 被低等级标签修改:修改文件权限时产生
- 秘密文件泄露:不可信对象执行写的操作
- 执行不可信的数据:比如执行command等指令操作
下图是攻击场景的重构,它是对FireFox浏览器漏洞的场景还原。
- 审计数据还原fireFox后门攻击场景
– Backdoor insertion
– Clean-up
整个场景还原如下:它的入口点是在firefox.exe位置,首先它会去接收IP地址,然后fork下载器(dropper),接着它会发送请求到443端口;接下来会多次调用cmd执行命令,如whoami、netstat、hostname等,并将数据写入到指定路径的thumbs.db文件中;然后执行git.exe实现数据过滤操作;最后执行burnout.bat批处理文件清除场景的痕迹。
整个实验采用 DARPA TC
数据集实验,它有8个攻击场景重构及攻击阶段映射,该论文对每个场景进行了图还原,涉及阶段如下图所示:
实验统计了APT攻击场景每个阶段的实体数量:关键文件、网络连接、执行程序等,如下图所示。
其他实验效果如下,建议读者阅读原文。
最后,简单总结SLEUTH与传统方法的区别:
- Sleuth方法
– Sleuth实时检测、运行效率更高
– Sleuth基于标签的检测方法更精确(规则+策略+警报) - 传统方法,如Bactracker [SOSP’03]
– 无法实时且效率低
– Bactracker依赖外部工具生成警报,无法剪枝和溯源
补充: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技战术的深厚积累。
Poirot [CCS’19]
第二篇论文是来自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
- 伊利诺伊大学芝加哥分校、密歇根大学迪尔伯恩分校
这篇文章的主要贡献如下:
- 利用网络威胁情报(CTI)关联性检测APT攻击
- 使用审计日志,将威胁检测建模为一个非精确的图模式匹配(Graph Pattern Matching, GPM)问题
– 在大图中搜索与某个特定图相匹配的子图 - 相似性度量,攻击行为与内核审计日志对齐
– 内核审计日志构建溯源图(provenance graph)
– CTI关联构建查询图(query graph)
整个Poirot的框架图如下图所示,核心内容如下:
- (1) 该图右边部分是上篇论文的基本流程,即从三个操作系统(BSD、Linux、Windows)审计日志信息中构建 溯源图(Provenance Graph),然后还原攻击场景
- (2) 左边引入了外部IOC关系信息,提取并构建攻击行为的查询图(Query Graph),这里引入了图对齐或图匹配
- (3) 最后通过对齐和阈值计算算法生成对应的分数,实现最终的分析取证并生成警报
– 图中顶点表示实体,边表示信息流和因果关系
接下来补充查询图(Query Graph)构建的过程。相当于给你一篇APT分析报告,它会自动生成对应的查询图,如下图所示,A执行B的exe程序,并写入C,然后写入D注册表,再想E发送请求。
- 椭圆-进程
- 菱形-套接字
- 矩形-文件
- 五边形-注册表
对应的匹配过程如下图所示,Gq表示查询图,Gp表示溯源图。个人理解,DARPA TC数据会生成溯源图,然后和查询图匹配出来两个对应的结果子图,如最右边所示。从而更好地发现那部分子图是在实施APT攻击。
该方法还包括两种类型的对齐:node alignment和graph alignment。
由于作者能力有限且理解不够,一些细节未能很好地表达,还请见谅。建议大家去阅读原文,这些公式及算法非常重要,当然我也会继续努力提升自己的阅读能力,多向这些大佬学习并力争撰写好的论文,共勉。
实验结果如下图所示,比如不同恶意软件(如海莲花OcenLotus)对应的查询图以及对其过程。
其他的实验结果如下,比如选择阈值的对比结果,这也将决定对齐算法的分数。
实验结果表明:
- CTI相关性可用于威胁猎杀,并且具有较好的鲁棒性和可靠性
- Poirot方法能有效从溯源图中实现APT组织查询图(攻击链)匹配及对齐
本文方法与传统方法对比如下:
- 不同于基于符号执行的方法,Poirot不依赖于符号表达式,而是寻找系统的相关性和信息流
- 传统方法的网络威胁情报相关性被完全忽视,未被用于威胁检测
- 本文方法引入图匹配算法,这与之前的方法不同
HOLMES [S&P’19]
第三篇论文是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
- 伊利诺伊大学芝加哥分校、密歇根大学迪尔伯恩分校、石溪大学
这篇文章的主要贡献如下:
- 构建一种可以实时检测APT攻击的系统,有效利用攻击活动可疑信息流的相关性
- 将APT活动信息映射到杀伤链,设计高级场景图(high-level scenario graph,HSG)实现低层次(日志、警报)信息到高层次的映射(语义鸿沟),从而使得HOLMES能有检测良性或攻击场景
- 系统和实验完整性:虚假依赖关系剪枝、降噪处理(紧密性)、HSG排序
其框架图如下所示,前面基本类似,但右端增加了一个高级场景图(high-level scenario graph,HSG),从而实现低层次(日志、警报)信息到高层次的映射,解决论文中提到的语义鸿沟。该方法能够实时检测系统,产生APT报警;并能实时产生高级别的攻击图来描述攻击者的行为,协助防御者进行实时地安全响应。
HSG对应如下图所示,传统比如是审计日志信息,直接到上层的APT攻击阶段(杀伤链)会存在语义损失,即:低级别审计数据与攻击目标意图与高级杀伤链(kill-chain)视角之间存在巨大的语义差距。因此引入TTPs和HSG,通过ATT&CK框架映射的中间层来提升实验效果。
APT攻击检测存在的难点可以概括如下三点,该方法能有效解决这些困难。
- 攻击隐蔽(Stealthy Attacks)
- 大海捞针(Needle in a haystack)
- 实时检测(Real-time detection)
下面简单介绍一个运行时APT攻击溯源图(Provenance Graph)示例。如下图所示,可以看到攻击行为是从初始入侵到C&C通信,再到内部侦查、数据读取、权限提升,以及内部侦查、清除痕迹、窃取信息等。这其实就是一个溯源图,通过数据之间的因果关系生成这样的图,比如C&C通讯、提权、文件操作等进行关联。而上面是正常操作行为。
- 椭圆、菱形、 矩形、五边形、七边形、圆柱
实验结果表明,HOLMES能有效区分良性场景和攻击场景。下图是攻击场景所涉及流程(七维对应杀伤链)及阈值分数,能有效识别APT攻击。
下图展示了APT攻击和良性事件的有效区分。
传统方法存在的缺点如下:
- 基于统计特征的方法对时间跨度长、执行缓慢攻击的检测不佳
- 基于系统调用日志的方法对实时攻击检测效果不佳
- 对比方法:ProTracer[NDSS’16]、MPI[USENIX’17]、SLEUTH [USENIX’17]、PrioTracker[NDSS’18]
本文HOLMES的优点如下:
- 攻击粒度更细
- 从溯源图到攻击链的映射引入了HSG解决语义鸿沟问题
- 能有效检测长期潜伏实时的APT攻击
- 通过引入降噪算法解决HSG紧密性问题
正是综合各种优点,论文的故事叙述非常棒,并结合之前的成果,所以他们能发到S&P,非常值得我学习。
Extrator [EurS&P’21]
第四篇论文是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)报告中提取出攻击行为信息
- 利用自然语言处理(NLP)从CTI报告中精确地提取攻击行为
- 使用语义角色标注(SRL)进行语义分析,理解攻击行为关系,并将非结构化文本转化为溯源图
其框架图如下图所示,包括:
- 标准化
拆分、同义词、主动语态 - 消歧
主语省略句消除或补齐、带刺消除、同义词消除 - 文本归纳
去除语句冗余、去掉单词冗余 - 溯源图构建
语义角色标注、溯源图构建
实体识别和实体消歧示例如下图所示:
实验表明Extrator可以有效提取CTI报告的攻击信息,并以溯源图形式展现。同时,生成的溯源图与人工生成的溯源图能够进行匹配,验证了方法的有效性,并且溯源图可以进一步作为威胁情报检测系统的输入。下图展示了不同攻击场景的精确率、召回率和F1值。
方法对比:
- 与iACE等方法不同,本文专注于提取攻击行为,并以溯源图的形式捕获系统级因果关系
本文仍然存在一些缺陷。
- 由于NLP复杂性,提取精度会损失,某些未知实体无法有效识别
- 受到CTI报告作者的风格影响,需要专家协作
- 审计日志提取的信息限制了细粒度攻击建模
简单总结
写到这里,作者简单总结下伊利诺伊大学芝加哥分校的五个工作,可以很好地看到他们逐年的优化和改进。分别对应:SLEUTH[USENIX’17]、NODOZE[NDSS’19]、Poirot[CCS’19]、HOLMES[S&P’19]、Extrator[EurS&P’21]。
- SLEUTH[USENIX’17]
引入溯源图检测APT攻击 - NODOZE[NDSS’19]
增加了威胁检测和异构图构建 - Poirot[CCS’19]
融合IOC信息,增加了查询图和溯源图的对齐算法 - HOLMES[S&P’19]
融合HSG和ATT&CK框架解决语义损失问题,增加去噪剪枝等操作 - Extrator[EurS&P’21]
结合NLP方法(消歧)和外部APT分析报告抽取知识,并构建溯源图
欢迎大家继续补充作者写得的不足,因为阅读有限,也可能漏掉一些重要论文和方法。这里简单补充几个作者分享不足之处和疑惑。
- 问题1:实验怎么评价它的精确率、召回率和F1值呢?是算APT攻击正确识别数量,还是实体识别数量,还是溯源图中子图匹配数量呢?
- 问题2:如何去鉴别一个APT攻击,这点也非常重要。是将进程、文件、通信等不同对象标注成不同类别,构建相互之间的关联呢?
- 问题3:如何生成溯源图,并且代码细节如何实现呢?
- 问题4:论文中算法核心实现过程需要秀璋进一步精读和理解,有机会复现文中的论文。
- 问题5:DARPA TC数据集是否开源,我们能否继续优化方法。
PS:下面的论文由于阅读还存在一些疑惑,作者就进行简单介绍,还请读者见谅。
HINTI [RAID’20]
第五篇论文是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
- 北京航天航空大学、密西根州立大学
这篇文章的主要贡献如下:
- 提出一种基于异构图卷积网络的威胁情报模型,建模IOC之间的依赖关系
- 从非结构化威胁描述中自动提取网络威胁对象,多粒度注意力机制学习特征的重要性
- 攻击偏好建模:将具有相同偏好的攻击聚集(DBSCAN算法)
与现有的CTI框架不同,HINTI旨在实现一个CTI计算框架,它不仅可以有效提取IOC,而且还可以建模和量化它们之间的关系。下表展示了17种元路径关系。
HINTI能有效挖掘隐藏在IOCs之间相互依赖关系和安全知识,并应用于威胁模型,其核心四个步骤如下。
- (1) 首先,通过B-I-O序列标注方法对安全相关帖子进行标注,用于构建IOC提取模型。
- (2) 然后将标记的训练样本输入我们提出的神经网络,以训练提出的IOC提取模型。
- (3) HINTI利用句法依赖性解析器(e.g.,主-谓-宾,定语从句等)提取IOC之间的关联关系,每个关系都表示为三元组。
- (4) 最后,HINTI集成了基于异构图卷积网络的CTI计算框架,以有效量化IOC之间的关系并进行知识发现。
本文提取的13种主要的IOC性能如表3所示。总的来说,我们的IOC提取方法在精确率、召回率、平均F1值都表现出了优异的性能。然而,我们观察到在识别软件和恶意软件时的性能下降,这是因为大多数软件和恶意软件是由随机字符串命名,如md5。
图8显示了不同类型元路径下的前3个聚类结果,其中元路径 AVDPDTVTAT(P17) 在紧凑和分离良好的集群中性能最好,这表明它比其他元路径在描述攻击偏好方面具有更丰富的语义关系。
与之前的方法对比,本文也存在一些缺陷:
- 未在真实攻击场景实现
- 未实现对未知攻击的预测(知识推理)
- 未实现运行时检测及长期潜伏的APT攻击检测
- 没有和主流的知识框架融合
UNICORN [NDSS’20]
第六篇论文是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
- 哈佛大学、布里斯托大学、伊利诺伊大学香槟分校、不列颠哥伦比亚大学
这篇文章的主要贡献如下:
- 针对APT特性设计一种基于溯源图(Provenance Graph)的运行时APT检测方法(直方图和概要图)
- UNICORN能在没有先验攻击知识的前提下实现APT攻击检测,且准确率高和误报率低
- 第一个对本地完整系统进行运行分析的APT入侵检测系统,概要图能对抗长时间潜伏的投毒攻击
其框架如下图所示,包括四个核心步骤:
- ①构建溯源图
- ②建立运行时直方图
- ③计算概要图
- ④聚类
直方图生成算法如下,建议读者精读原文。
实验结果如下图所示:
同时包括一些详细的性能对比。
UNICORN与之前的方法对比结果如下:
- Holmes[S&P’19]和Poirot[CCS’19]:需要先验专家知识(先决条件-结果模式)
- 基于系统调用和日志事件的检测方法:由于数据过于密集,难以对长时间的攻击行为进行建模
- 由于APT潜伏时间长且持久化,攻击行为会缓慢改变传统模型以逃避检测系统(投毒攻击)
UNICORN的局限性和改进如下:
- 需要定期重新训练
- 正常行为改变可能会产生误报
- 未考虑异质性行为
- 更大的实验评估(IDS数据集)
ProvDetector NDSS’20
第七篇论文是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实验室、德克萨斯州大学达拉斯分校
首先,我们先介绍下离地攻击。
- 只使用预安装的软件并且攻击者没有在系统上安装额外的二进制可执行文件。带有宏、VB脚本、Powershell脚本或者使用系统命令(如netsh命令)的文档属于离地攻击的范围。
由于现有反病毒软件和方法很难检测到该类攻击,本文提出一种ProvDetector方法,它需要依赖内核级的溯源监控来捕获目标程序的动态行为。
这篇文章的主要贡献如下:
- 提出一种基于溯源图的系统,用于检测伪装技术的隐蔽恶意软件(离地攻击 | 无文件攻击)
- 提出一种新的路径选择算法来识别溯源图中潜在的恶意部分(恶意行为与底层操作系统交互)
- 设计一个新的神经嵌入和机器学习管道,自动为每个程序建立一个轮廓并识别异常进程
ProvDetector的核心ProvDetector分为四部分:图构建、特征提取、嵌入和异常检测。部署监控代理,按照定义收集系统数据放入数据库。定期扫描数据库检查是否有新添加的进程被劫持。对于每个进程,先构建起起源图(图构建)。然后从源点图中选择路径子集(特征提取)并将路径转换为数值向量(嵌入)使用一个新颖的检测器来获得嵌入向量的预测并报告最终决定(异常检测)。
实验结果如下图所示:
你可能会疑惑为什么分享这篇文章呢?一方面由于它也用到了溯源图概念,另一方面同样来自于伊利诺伊大学香槟分校团队(同UNICORN),并且将溯源图应用于其他领域,即检测伪装技术的隐蔽恶意软件。这也是我们探索论文idea的一个思路,可能其他领域或方法也会给我们带来灵感喔。当然,目前作者科研能力太弱,需要不断提升,学习嘛,一辈子的事情。加油!
RapSheet [S&P’20]
第八篇论文是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(端点检测和响应)工具存在的三个主要弊端:
- (1) EDR工具会产生大量的虚假警报,从而为分析人员积压了调查任务;
- (2) 确定这些威胁警报的准确性需要大量的低级系统日志,人工任务繁琐;
- (3) 由于日志占用巨大资源,系统日志通常在进行调查之前就被删除。
因此,本文提出了战术源图(Tactical Provenance Graphs, TPGs)的概念,个人感觉TTPs+溯源图,并研发了RapSheet系统,直接推理EDR系统生成的威胁警报之间因果关系。其主要贡献如下:
- 首次将溯源图引入商业EDR(Endpoint Detection and Response)
- 提出战术溯源图(Tactical Provenance Graphs, TPGs)表示EDR生成威胁警报间的因果依赖关系
- 引入一种威胁评分方法:根据TPGs中存在的单个威胁警报之间的时间顺序来评估风险
本文是用商业赛门铁克EDR软件进行真实检测和实验。其实验结果表明:
- 提升商业EDR效果,检测未知攻击行为
- 减少系统日志降低系统存储开销
- 提高赛门铁克EDR的威胁检测精确度
- 保留警报之间的因果关联性
RapSheet与传统方法对比:
- Holmes商业EDR部署复杂(保留100%日志)
- holmes16条TTP匹配规则 vs RapSheet增加至67条
- 实践中EDR工具会限制日志缓冲区
- NoDoze防止投毒攻击假设(正常行为数据库)
- 未跟踪ALPC消息(Windows),会断开溯源图
- 利用DTaP高效分布式存储提高查询响应时间
ATLAS [USENIX’21]
最后一篇是2021年USENIX的论文,作者仅作了简单的阅读。即 ATLAS
。该文章来自普度大学团队,针
以上是关于[系统安全] 四十二.APT系列基于溯源图的APT攻击检测安全顶会论文总结的主要内容,如果未能解决你的问题,请参考以下文章
[论文阅读] (10)基于溯源图的APT攻击检测安全顶会总结
[系统安全] 三十六.APT系列APT攻击溯源防御与常见APT组织的攻击案例