论文速览 - ProvG-Searcher: A Graph Representation Learning Approach for Efficient Provenance Graph Search
ProvG-Searcher 提出了三阶段的图划分方案及图缩减方法,实现了基于 GNN 的子图匹配算法,梳理并解决了威胁狩猎实践中的几个关键挑战。最近对其进行了简要阅读和学习,对我认为重点的部分做了笔记。
基本信息
- 发表: CCS 23’
- 图学习类别: 图学习+嵌入向量库
- 数据集: Darpa E3
- 方法分类: 图级别, 威胁狩猎
- DOI:10.1145/3576915.3623187
引言
在庞大的历史系统日志仓库中高效搜索已知攻击行为,是一个研究较少但对威胁狩猎实践具有关键影响的问题。
在溯源分析的背景下,这要求将外部观察到的威胁行为转换为可在系统级溯源图中进行搜索的查询[53, 61, 74, 87]。这个问题设置确实可以视为图蕴含(子图匹配)问题的一个实例。
Challenge4:查询图与溯源图粒度不对齐的问题
- 感觉梳理的很好:
- 抽象层级不匹配 (Mismatch in Abstraction Levels)
- 查询图通常是高度概括的。例如,查询图里可能只用一个“浏览器进程”来描述攻击步骤。但在实际的溯源图中,这个“浏览器进程”可能对应的是主进程的一个克隆进程、一个由启动器创建的子进程,或者是具体的某个浏览器(如Firefox、Chrome。这种从概念到具体实现的差异,造成了匹配困难。
- 结构性差异 (Structural Differences)
- 溯源图中可能包含查询图里没有的额外中间步骤,或者因为日志记录不全而缺失了某些事件。
- 攻击者为了躲避检测,可能会故意省略、替换或增加一些攻击步骤,这导致实际的攻击图(在溯源图中)与分析师预设的查询图在结构上不完全一致。
- 实体歧义性 (Entity Ambiguity)
- 查询中的实体可能存在歧义。例如,两个同名的文件在不同应用程序的上下文中可能扮演完全不同的角色。如果查询不够具体,就很难在庞大的溯源图中精确定位到目标实体。
为了应对这些挑战,必须让模型具备一定的鲁棒性,能够容忍这些差异,从而在不完全匹配的情况下也能成功识别出威胁行为。
- 查询中的实体可能存在歧义。例如,两个同名的文件在不同应用程序的上下文中可能扮演完全不同的角色。如果查询不够具体,就很难在庞大的溯源图中精确定位到目标实体。
- 抽象层级不匹配 (Mismatch in Abstraction Levels)
方法
我们的技术采用了一种图表示学习方法,使大部分搜索计算可以离线进行,并在查询时执行一个轻量级的比较步骤。在图缩减方面,进行了以进程为中心的划分,同时结合图版本控制以整合时序信息。
我们采用顺序嵌入,这使得在嵌入空间中通过对这些表示进行坐标-wise 排序,能够在学习层次化实体表示的同时保持层次结构。
工作的主要贡献:
一种图简化策略,能够在保留溯源图中多样行为特征的同时,促进有效的学习和搜索能力。
利用顺序嵌入以在嵌入空间中高效评估子图关系。
一种通用的搜索方法,不仅不偏重于攻击行为,还可推广以识别任何类型的行为。
由于子图表示的紧凑性和溯源图的简化,能够高效地搜索大量历史日志数据。
相比其他假设驱动的威胁狩猎方法,显著降低了误匹配率并提高了准确性。
图缩减策略

总体
这些操作包括移除与管道和内存访问相关的非必要节点和边,将克隆进程与其父进程合并,并按时间间隔合并网络通信事件。每个描述唯一系统实体的节点随后被分配到一个抽象类中,该抽象类描述更高层次的分类,例如系统文件、用户应用程序进程等。(先前研究常用,[72,74])
在简化图之后,下一步是为节点进行版本化,这将时间信息纳入图中,以防止节点间出现虚假的信息流动。
在最后一步,图被划分为重叠的子图,通过提取每个进程节点的k跳自环图来实现。此处,k也表示用于获取子图表示的GNN层数。我们随后通过迭代标签传播(第4.1.4节)对抽象后的自环图进行另一层的缩减,以去除重复行为。这样每个子图中便保留了独特的特征,作为子图关系的一部分进行学习。
图简化
- 线程处理:将线程合并到其父进程之中、将clone出来的进程节点合并到原节点。
- 捕捉远程服务器行为随时间变化:将每个远程IP和端口组合视为一个独立的源,并在10分钟的时间窗口内进行处理。[29]
- 层次/标准化:根据每个实体在文件系统中的根目录分配类别标签。
缓解依赖爆炸
- 图版本化:确保所有路径的边具有单调递增的时间戳值,从而保留事件的因果顺序。
- 将一些特定节点指定为汇聚节点:解决图神经网络中的过度平滑问题。
评估
- 图缩减效果

- 在 E3 数据集上评估与同类工作的威胁狩猎效果

总结
这篇文章主要是在查询图与溯源图粒度不对齐问题方面的梳理非常全面,在图划分、图缩减方面的算法描述也非常详细,希望有时间再来回顾和学习一下。
论文速览 - ProvG-Searcher: A Graph Representation Learning Approach for Efficient Provenance Graph Search