今天要为大家推荐的论文是来自USENIX Security 2023的PROGRAPHER: An Anomaly Detection System based on Provenance Graph Embedding,由香港中文大学的LASR Lab (Directed by Prof. Kehuan Zhang),加州大学欧文分校的DSP Lab (Directed by Prof. Zhou Li) 以及深信服科技有限公司合作完成并投稿。
研究背景
随着终端系统中防御技术的不断演进,攻击技巧也变得越来越复杂。尽管大部分的系统已经部署了入侵检测系统(IDS)和反恶意软件等防御措施,但以高级持续性威胁(APT)为主题的复杂攻击仍然能够侵入组织网络,造成严重的损害。
为了更好的检测APT攻击等复杂的攻击,越来越多的工作基于基于数据溯源来构建防御系统。数据溯源能够忠实记录终端上实体的行为逻辑依赖关系,自然形成溯源数据图,从而捕捉不同类型实体(例如进程和文件)之间的时间和因果关系。在这种图表示上,可以执行图遍历,回溯等操作,以检测正在进行的攻击或推断入侵的根本原因。通过数据溯源,防御系统可以利用嵌入在日志中的丰富上下文信息来检测APT攻击。尽管现有的检测系统在应对APT攻击方面显示了比较好的效果,然而,根据作者的评估,目前的检测系统在检测效率、准确性以及诊断的粒度上没有达到一个比较好的平衡。
在本文中,作者介绍一种名为ProGrapher的基于溯源图检测的新型异常检测系统。为了解决溯源图的“依赖爆炸”问题并提升检测效率,ProGrapher从摄取的日志中提取时序有序的快照,并对这些快照进行检测。为了捕获图的丰富结构属性和行为之间的因果关系,ProGrapher采用了全图嵌入和基于序列的学习方法。最后,ProGrapher从检测出的异常快照中提取关键节点并向分析人员报告,从而大大减轻了他们的工作负担。
方案设计
为了使得最终的检测系统能够实现检测效率、检测效果以及诊断粒度三个方面的平衡,本文设想了ProGrapher需要达成的三个目标,分别为:G1: ProGrapher应该是无监督学习的,不需要任何攻击或事件标签的知识; G2: ProGrapher应该能够处理被时间分隔的整个溯源图的子图,并利用这些不同子图时间和行为上的动态因果关系进行检测; G3: ProGrapher应该指出直接参与异常活动的系统实体,并提供详细信息以减轻分析师调查异常原因的工作量。
为了达成这三个目标,ProGrapher一共构建了4个组件。如上图所示,分别是快照生成器,编码器,异常检测器以及关键节点生成器。
具体来说,给定一个终端和终端运行时产生的审计日志,ProGrapher首先利用快照生成器从端点主机收集的审计日志中提取节点和边,然后按时间戳以及预先定义好的快照规模将得到的点和边拆分成按时间发展的不同快照(Data Collection -> Snapshot Building)。然后,ProGrapher利用编码器在每个快照上生成一个全图的图嵌入向量,从而捕捉图的结构特征和子图代表的行为信息 (Snapshot Building -> Snapshot sequence)。接着,ProGrapher将得到的图向量序列送入异常检测器,异常检测器使用仅包含良性活动的图向量的嵌入序列来训练预测模型,并检测异常快照 (Snapshot sequence -> Abnormal snapshot)。最后,关键节点生成器对检测出的异常快照中包含的节点根据概率来进行排名,并向分析师报告概率异常值排名前几的节点以供进一步的分析 (Key indicators)。
检测结果
为了验证ProGrapher的有效性,本文对ProGrapher在4个模拟数据集和1个生产环境数据集上进行了实验验证,同时,为了评估ProGrapher是否强于当前最先进的图级别异常检测系统Unicorn, 本文选取了5个数据集中的三个进行了比较实验。实验结果表明,在3个比较数据集上,ProGrapher均拥有着优于Unicorn的表现,尤其是在现实公司EDR产品收集的数据集中,ProGrapher表现出了远超Unicorn的检测效果。
同时,在另外两个数据集上,ProGrapher也表现出了很好的检测效果。
综合实验结果表明,在仅仅以检测攻击为目的的前提下,ProGrapher能够出色的检测到不同类型的攻击,同时仅仅产生些许的误报。
此外,为了评估ProGrapher生成关键节点的可靠性,本文设置了3个指标,分别是关键节点的有效性、 攻击节点的覆盖率以及分析工作量的减少率。本文针对Darpa3数据集对ProGrapher基于以上3个指标进行了试验,结果表明,当ProGrapher选取排名前4的根子图的中心点作为关键节点时,能够使得生成的关键节点中大概率包含和攻击相关的节点,同时也能有效地覆盖攻击的相关节点,同时减少工作人员一半以上的分析工作量(58%)。而工作人员基于Unicorn提供的异常结果需要分析的工作量是ProGrapher的7.1倍。
结语
本文介绍了 ProGrapher————一种利用溯源图来检测系统异常行为的基于机器学习的系统。ProGrapher采用了全图嵌入、序列学习和关键节点生成等技术的新颖组合,实现了准确且无监督的图级别异常检测。本文在4个模拟数据集和1个生产环境数据集上评估了ProGrapher。结果显示,ProGrapher能够精准的找到攻击相关的异常快照,并显著减少分析师在找出攻击相关行为时需要的工作量。
论文地址:https://www.usenix.org/system/files/sec23fall-prepub-219-yang-fan.pdf
原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2023-06-13 PROGRAPHER