原文标题:THREATRACE: Detecting and Tracing Host-Based Threats in Node Level Through Provenance Graph Learning
原文作者:Su Wang, Zhiliang Wang, Tao Zhou, Hongbin Sun, Xia Yin, Dongqi Han , Han Zhang, Xingang Shi, and Jiahai Yang
原文链接:https://doi.org/10.1109/TIFS.2022.3208815
发表期刊:IEEE Transactions on Information Forensics and Security
主题类型:攻击检测
笔记作者:时真好@Web攻击检测与追踪
主编:黄诚@安全学术圈
包括APT攻击、恶意软件植入和程序攻击等在内的基于主机的威胁成为如今攻击者们炙手可热的利用对象。在此背景下,本文实现了一个能够在节点级别上自动检测并定位基于主机威胁的开源系统,并将其命名为TREATRACE。该系统采用来源图对主机内的活动进行建模:图节点表示主机内的进程或文件等实体,有向边表示节点之间信息流的关系,如读操作、写操作或系统调用等。将建模所得的拓扑图通过图神经网络GraphSAGE进行训练和检测,并维护一份节点白名单,即该系统是一个基于误用检测的威胁检测系统。
整个模型由如图1所示的两个过程和四个模块构成:
图1 THREATRACE 组件概述
两个过程指的是图神经网络的训练过程和测试过程;四个部分则分别是来源图生成模块、数据存储模块、GraphSAGE模型和警报与追踪模块。接下来将逐一概述这四个模块。
a) 贡献点1:论文针对基于误用的威胁检测需要不断更新黑名单,使得其难以防范0-day漏洞的问题,提出了基于异常的威胁检测方法,实现了基于图卷积神经网络的,不需要攻击行为的先验知识的威胁检测系统。并且通过实现节点级别的检测,解决了通常基于异常检测的系统只能发出警报而难以追踪定位威胁的问题。
b) 贡献点2:论文针对使用图核方法检测威胁只能针对整张图发出警报且在面对异常节点数量较少的图时性能不佳的问题,使用了图卷积神经网络学习图结构中丰富的上下文信息,作为检测异常的依据。使用系统来源图作为对主机活动的建模,通过基于节点的检测使得该方案对于边密集即节点活动复杂的网络具有很好的性能。并且通过非直推式的GraphSASE网络,实现了训练和执行过程不需要将整图调入内存,保证了模型良好的开销。
c) 贡献点3:论文针对异常节点和正常节点区别过小而难以被识别所造成的隐性攻击问题,提出了多层模型训练的方法,在主模型挖掘节点分类标签的基础上,实现了进一步使用子模型挖掘节点的隐性标签,使得具有复杂活动的节点被更加精准地判别分类;
d) 贡献点4:论文针对模型结果假阳性偏高和假阴性偏高的问题,提出了概率矩阵判别方法,实现了在模型训练阶段和检测阶段分别使用概率矩阵记录节点可能被判别为不同分类的大小,并根据最大值和次大值之间的大小关系进行分类,使得节点被分类在已知良性种类中的条件更加严格,进一步提升了模型的检测准确度。
代码链接:https://github.com/threaTrace-detector/threaTrace/
a) 代码使用类库分析
b) 代码实现难度及工作量评估
工作量非常完整,代码模块和逻辑清晰。代码链接里包含对三个数据集进行数据预处理并进行训练和测试、计算精确度、准确率、召回率和F1分数评估以及运行过程内存时间消和CPU占用率计算的子模块。并且通过定位关键字,实现了包括构建子图等图数据集全自动的处理。
在图神经网络模型构建的模块,包含了完整的模型加载代码,并且设计了训练结果展示的交互功能,在测试阶段实时展示每轮训练的准确度和损失值;在训练阶段实时输出准确率、精确率和召回率。将模型运用在不同数据集上时,采用相同层数相同参数的图卷积神经网络。
c) 代码关键实现的功能(模块)
[1]. 在论文写作方面,在背景和相关工作叙述中,尽管有详实的文献分析,但是叙述逻辑略显混乱,并且在上下文中多次反复提及,显得冗长且混乱。经过提炼和整理后发现其实可以从使用的系统数据建模方法(来源图或正常程序运行轨迹或日志信息)、检测方式(基于误用的检测或基于异常的检测)、图数据的分析方法(图核分析法或使用图神经网络)、检测粒度(路径级别的威胁检测或节点级别的威胁检测或图级别的威胁检测)、威胁检测和警报(只具备发出威胁警报的系统或能定位威胁的系统)总共五个方面进行相关工作的总结并逐一引出本方案选择方式的优势,以便从各个方面突出本文方案的优越性。
[2]. 在论文的工作方面,首先是采用多个图神经卷积网络逐一对没有正确分类的节点进行分类,直到分类正确,但并没有讨论如何保证多个模型之间如何达到性能的增强而不是性能的无效叠加。以及原文中提及使用多个子模型“直到没有被错误分类的节点”,并未表明子模型数量的上限,怀疑该步骤会对方案效率产生很大的影响。文中也没有针对此步骤进行效率的讨论。其次,在训练阶段和测试阶段均使用概率矩阵进行类型的判别,使用了相同的规则,但是却能保证假阳性和假阴性率同时降低,本处没有进行原理的讨论,只有实验结果的佐证,为阅读理解带来了一定的困难。最后,模型提到了对子图进行训练和测试,但没有给出具体的子图构造方法。
[1].Wang S, Wang Z, Zhou T, et al. Threatrace: Detecting and tracing host-based threats in node level through provenance graph learning[J]. IEEE Transactions on Information Forensics and Security,2022,17:3972-3987.
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com