[AI安全论文] 08.基于溯源图的APT攻击检测安全顶会论文总结
文章目录:
一.背景知识
二.APT攻击检测研究
1.APT攻击检测相关研究
2.基于异常检测的方法
3.基于溯源图的方法
SLEUTH [USENIX’17]
Poirot [CCS’19]
HOLMES [S&P’19]
Extrator [EurS&P’21]
HINTI [RAID’20]
UNICORN [NDSS’20]
ProvDetector NDSS’20
RapSheet [S&P’20]
ATLAS [USENIX’21]
三.方法对比
1.基于溯源图的方法研究趋势分析
2.方法优缺点对比
3.数据集对比
四.总结
《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期待与您前行,加油~
前文推荐:
[AI安全论文] 05.RAID-Cyber Threat Intelligence Modeling Based on GCN
[AI安全论文] 06.NDSS2020 UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats
[AI安全论文] 08.基于溯源图的APT攻击检测安全顶会论文总结
一.背景知识
隐蔽性
0-day漏洞、needle in a haystack(通常不到0.01%)、无文件攻击、加密流量持续性
low-and-slow(潜伏时间长)、攻击时间跨度大针对性
Stuxnet、SolarWinds模块化(自适应)
Stuxnet、WannaCry
无法捕获长期运行的系统行为
0-day漏洞导致攻击艰难检测
实时攻击检测、真实场景检测效果不佳
容易遭受投毒攻击
注意,这里的投毒攻击是指因APT攻击持续时间长,导致ML模型学习攻击特征时,会将恶意行为逐渐训练学习为正常行为…
kill-chain Model
洛克希德·马丁公司开发的“网络杀伤链”模型描述了网络攻击的各阶段流程,具体包括七个阶段,即目标侦查、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、任务执行。
ATT&CK Model
ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge )是一个攻击行为知识库和模型,主要应用于评估攻防能力覆盖、APT情报分析、威胁狩猎及攻击模拟等领域。网址:https://attack.mitre.org/
二.APT攻击检测研究
1.APT攻击检测相关研究
Anomaly-based detectors for APTs
– 主机日志(审计日志)
– 系统调用
– 网络流量 | 警报信息
– 恶意行为Provenance graph-based detectors for APTs
– 溯源图
– +引入外部知识
– +融合ATT&CK框架
– 因果关系图+NLP
2.基于异常检测的方法
APT攻击时间跨度长,缺乏方法或工具有效将信息进行关联,还原攻击链
实时检测困难,较难高效地从百万条日志中筛选数据,并检测出最可能的攻击行为
较难让分析人员通过数据有效地进行推理,从而检测未知攻击
缺乏对真实场景的APT攻击进行检测,并且IDS和SIEM会产生大量的信息,传统方法识别真实的攻击更加困难
无法有效解决投毒攻击,即由于APT攻击时间跨度较长,深度学习会将恶意特征训练为正常特征
基于溯源图的APT攻击检测(Provenance graph-based detector for APTs)
3.基于溯源图的方法
①SLEUTH [USENIX’17]
- https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-hossain.pdf
- 石溪大学、伊利诺伊大学芝加哥分校
首次利用溯源图重构APT攻击,即利用因果关系跟踪和溯源图构造模型
提出一种可以在企业主机上实时重构攻击场景的方法和系统
开发一种平台无关、基于主存的审计日志数据依赖图抽象
(1) 输入的是Linux、Windows和FreeBSD平台的审计日志信息
(2) 构建并标记依赖关系图,标签将提供重要的上下文信息,对应论文中良性可信、良性和未知三种类型
(3) 实现基于标签和策略的攻击检测,并定制的策略,根据审计日志的秘密性分为公开、隐私、敏感和秘密,通过引入标签和策略实现对依赖关系图赋予不同的权重
(4) 经过依赖图反复构建后,会到达警报计算阶段,通过定义规则来匹配更高的威胁攻击,生成对应的分数,基于标签的分析后会生成并还原场景图(Scenario Graph)
节点:表示subjects(进程)和objects(文件、sockets)
关系:表示审计事件(读、写、执行、连接等操作)
不受信任的代码执行:高等级标签去执行低等级时触发
被低等级标签修改:修改文件权限时产生
秘密文件泄露:不可信对象执行写的操作
执行不可信的数据:比如执行command等指令操作
审计数据还原fireFox后门攻击场景
– Backdoor insertion
– Clean-up
Sleuth方法
– Sleuth实时检测、运行效率更高– Sleuth基于标签的检测方法更精确(规则+策略+警报)
传统方法,如Bactracker [SOSP’03]
– 无法实时且效率低
– Bactracker依赖外部工具生成警报,无法剪枝和溯源
参考绿盟的文章并强烈推荐:
https://www.nsfocus.com.cn/html/2020/21_0824/605.html
②Poirot [CCS’19]
- https://dl.acm.org/doi/pdf/10.1145/3319535.3363217
- 伊利诺伊大学芝加哥分校、密歇根大学迪尔伯恩分校
利用网络威胁情报(CTI)关联性检测APT攻击
使用审计日志,将威胁检测建模为一个非精确的图模式匹配(Graph Pattern Matching, GPM)问题
– 在大图中搜索与某个特定图相匹配的子图
相似性度量,攻击行为与内核审计日志对齐
– 内核审计日志构建溯源图(provenance graph)
– CTI关联构建查询图(query graph)
(1) 该图右边部分是上篇论文的基本流程,即从三个操作系统(BSD、Linux、Windows)审计日志信息中构建 溯源图(Provenance Graph),然后还原攻击场景
(2) 左边引入了外部IOC关系信息,提取并构建攻击行为的查询图(Query Graph),这里引入了图对齐或图匹配
(3) 最后通过对齐和阈值计算算法生成对应的分数,实现最终的分析取证并生成警报
– 图中顶点表示实体,边表示信息流和因果关系
椭圆-进程
菱形-套接字
矩形-文件
五边形-注册表
CTI相关性可用于威胁猎杀,并且具有较好的鲁棒性和可靠性
Poirot方法能有效从溯源图中实现APT组织查询图(攻击链)匹配及对齐
不同于基于符号执行的方法,Poirot不依赖于符号表达式,而是寻找系统的相关性和信息流
传统方法的网络威胁情报相关性被完全忽视,未被用于威胁检测
本文方法引入图匹配算法,这与之前的方法不同
③HOLMES [S&P’19]
- https://arxiv.org/pdf/1810.01594.pdf
- 伊利诺伊大学芝加哥分校、密歇根大学迪尔伯恩分校、石溪大学
构建一种可以实时检测APT攻击的系统,有效利用攻击活动可疑信息流的相关性
将APT活动信息映射到杀伤链,设计高级场景图(high-level scenario graph,HSG)实现低层次(日志、警报)信息到高层次的映射(语义鸿沟),从而使得HOLMES能有检测良性或攻击场景
系统和实验完整性:虚假依赖关系剪枝、降噪处理(紧密性)、HSG排序
攻击隐蔽(Stealthy Attacks)
大海捞针(Needle in a haystack)
实时检测(Real-time detection)
椭圆、菱形、 矩形、五边形、七边形、圆柱
基于统计特征的方法对时间跨度长、执行缓慢攻击的检测不佳
基于系统调用日志的方法对实时攻击检测效果不佳
对比方法:ProTracer[NDSS’16]、MPI[USENIX’17]、SLEUTH [USENIX’17]、PrioTracker[NDSS’18]
攻击粒度更细
从溯源图到攻击链的映射引入了HSG解决语义鸿沟问题
能有效检测长期潜伏实时的APT攻击
通过引入降噪算法解决HSG紧密性问题
④Extrator [EurS&P’21]
- https://arxiv.org/pdf/2104.08618.pdf
- 伊利诺伊大学芝加哥分校
提出一个自动化工具Extrator,用于自动从网络威胁情报(CTI)报告中提取出攻击行为信息
利用自然语言处理(NLP)从CTI报告中精确地提取攻击行为
使用语义角色标注(SRL)进行语义分析,理解攻击行为关系,并将非结构化文本转化为溯源图
标准化
拆分、同义词、主动语态消歧
主语省略句消除或补齐、带刺消除、同义词消除
文本归纳
去除语句冗余、去掉单词冗余
溯源图构建
语义角色标注、溯源图构建
与iACE等方法不同,本文专注于提取攻击行为,并以溯源图的形式捕获系统级因果关系
由于NLP复杂性,提取精度会损失,某些未知实体无法有效识别
受到CTI报告作者的风格影响,需要专家协作
审计日志提取的信息限制了细粒度攻击建模
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数据集是否开源,我们能否继续优化方法。
⑤HINTI [RAID’20]
- https://www.usenix.org/system/files/raid20-zhao.pdf
- 北京航天航空大学、密西根州立大学
提出一种基于异构图卷积网络的威胁情报模型,建模IOC之间的依赖关系
从非结构化威胁描述中自动提取网络威胁对象,多粒度注意力机制学习特征的重要性
攻击偏好建模:将具有相同偏好的攻击聚集(DBSCAN算法)
(1) 首先,通过B-I-O序列标注方法对安全相关帖子进行标注,用于构建IOC提取模型。
(2) 然后将标记的训练样本输入我们提出的神经网络,以训练提出的IOC提取模型。
(3) HINTI利用句法依赖性解析器(e.g.,主-谓-宾,定语从句等)提取IOC之间的关联关系,每个关系都表示为三元组。
(4) 最后,HINTI集成了基于异构图卷积网络的CTI计算框架,以有效量化IOC之间的关系并进行知识发现。
未在真实攻击场景实现
未实现对未知攻击的预测(知识推理)
未实现运行时检测及长期潜伏的APT攻击检测
没有和主流的知识框架融合
⑥UNICORN [NDSS’20]
- https://arxiv.org/pdf/2001.01525.pdf
- 哈佛大学、布里斯托大学、伊利诺伊大学香槟分校、不列颠哥伦比亚大学
针对APT特性设计一种基于溯源图(Provenance Graph)的运行时APT检测方法(直方图和概要图)
UNICORN能在没有先验攻击知识的前提下实现APT攻击检测,且准确率高和误报率低
第一个对本地完整系统进行运行分析的APT入侵检测系统,概要图能对抗长时间潜伏的投毒攻击
①构建溯源图
②建立运行时直方图
③计算概要图
④聚类
Holmes[S&P’19]和Poirot[CCS’19]:需要先验专家知识(先决条件-结果模式)
基于系统调用和日志事件的检测方法:由于数据过于密集,难以对长时间的攻击行为进行建模
由于APT潜伏时间长且持久化,攻击行为会缓慢改变传统模型以逃避检测系统(投毒攻击)
需要定期重新训练
正常行为改变可能会产生误报
未考虑异质性行为
更大的实验评估(IDS数据集)
⑦ProvDetector NDSS’20
- https://www.ndss-symposium.org/wp-content/uploads/2020/02/24167-paper.pdf
- 伊利诺伊大学香槟分校、NEC实验室、德克萨斯州大学达拉斯分校
只使用预安装的软件并且攻击者没有在系统上安装额外的二进制可执行文件。带有宏、VB脚本、Powershell脚本或者使用系统命令(如netsh命令)的文档属于离地攻击的范围。
提出一种基于溯源图的系统,用于检测伪装技术的隐蔽恶意软件(离地攻击 | 无文件攻击)
提出一种新的路径选择算法来识别溯源图中潜在的恶意部分(恶意行为与底层操作系统交互)
设计一个新的神经嵌入和机器学习管道,自动为每个程序建立一个轮廓并识别异常进程
⑧RapSheet [S&P’20]
- https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9152771
- 伊利诺伊大学香槟分校、NortonLifeLock
(1) EDR工具会产生大量的虚假警报,从而为分析人员积压了调查任务;
(2) 确定这些威胁警报的准确性需要大量的低级系统日志,人工任务繁琐;
(3) 由于日志占用巨大资源,系统日志通常在进行调查之前就被删除。
首次将溯源图引入商业EDR(Endpoint Detection and Response)
提出战术溯源图(Tactical Provenance Graphs, TPGs)表示EDR生成威胁警报间的因果依赖关系
引入一种威胁评分方法:根据TPGs中存在的单个威胁警报之间的时间顺序来评估风险
提升商业EDR效果,检测未知攻击行为
减少系统日志降低系统存储开销
提高赛门铁克EDR的威胁检测精确度
保留警报之间的因果关联性
Holmes商业EDR部署复杂(保留100%日志)
holmes16条TTP匹配规则 vs RapSheet增加至67条
实践中EDR工具会限制日志缓冲区
NoDoze防止投毒攻击假设(正常行为数据库)
未跟踪ALPC消息(Windows),会断开溯源图
利用DTaP高效分布式存储提高查询响应时间
⑨ATLAS [USENIX’21]
- https://www.usenix.org/system/files/sec21-alsaheel.pdf
- 普度大学
参考Serendipity老师的文章:
https://zhuanlan.zhihu.com/p/393375355
利用审计日志生成端到端攻击故事(end-to-end attack story)的框架
构建一个基于序列的模型:因果关系图(causal graph)+自然语言处理+深度学习
真实APT攻击事件(10个)进行实验,并能恢复攻击关键步骤及还原攻击故事
研究发现不同的攻击可能共享相似的抽象攻击策略
当前工作仅限制于Windows平台
无法检测到使用类似正常事件序列的隐藏攻击行为,比如模拟攻击
模型性能很大程度上取决于所收集的训练日志条目的质量
三.方法对比
1.基于溯源图的方法研究趋势分析
2.方法优缺点对比
3.数据集对比
四.总结
最后秀璋做一个简单总结,写得不足之处还请批评和指正。写这篇文章只希望帮助更多的APT攻击研究者和初学者,同时也是对自己阶段知识的总结,虽然很少有人分享类似正在研究或未发表的总结,但还是想先分享出来,与大家一起探讨和进步,真诚地希望对您有帮助吧!感恩遇见,不负青春,读博路上相互鼓励着前行。
基于溯源图的APT攻击检测是APT检测领域中一个非常重要的分支,由于APT攻击的隐蔽性、威胁性、实时性、针对性,传统的方法艰难检测,因此提出了溯源图的方法。当前的研究趋势主要表现在:
基于溯源图和知识图谱的APT攻击检测
结合APT攻击阶段特点,融合ATT&CK知识框架进行中间层特征表示,解决语义损失
全系统真实场景的细粒度APT攻击检测
引入外部威胁情报知识(NLP消歧对齐)来辅助APT检测
无先验专家知识
对未知APT攻击实现预测
未来的研究趋势如下(个人感觉):
基于图神经网络的APT攻击检测,图可能更好地表达攻击之间的关系
从NLP角度分析APT攻击以揭示其特性(融合恶意代码分析)
检测并定位APT攻击样本中0-day漏洞是否存在及位置,感觉很难
场景迁移:EDR、无文件攻击、在线场景
加密、混淆、对抗样本、无文件
这篇文章就写到这里了,希望对您有所帮助。由于作者英语实在太差,论文的水平也很低,写得不好的地方还请海涵和批评。同时,也欢迎大家讨论。学安全两年,认识了很多安全大佬和朋友,希望大家一起进步。同时非常感谢参考文献中的大佬们,感谢老师、实验室小伙伴们的教导和交流,深知自己很菜,得努力前行。感恩遇见,且行且珍惜,小珞珞太可爱了,哈哈。
《珈国情》
明月千里两相思,
清风缕缕寄离愁。
燕归珞珈花已谢,
情满景逸映深秋。
(By:Eastmount 2021-10-11 周一夜于东西湖)