Press "Enter" to skip to content

基于异质图神经网络的未知恶意程序检测

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

©PaperWeekly 原创 · 作者|张安琪

 

学校|东华大学硕士生

 

研究方向|隐私保护、Security

 

 

论文标题:

 

Heterogeneous Graph Matching Networks for Unknown Malware Detection

 

论文链接:

 

https://www.ijcai.org/Proceedings/2019/522

 

 

 

引言

 

信息系统中存在大量的恶意软件/程序攻击,恶意软件/程序检测作为抵御攻击的第一道防线,主要使用两种方法:基于签名的方法(signature-based)和基于行为的方法(behavior-based)。但均用于检测已知的恶意软件,并且易于逃避技术。

 

此外,signature-based 很难抵御零时差攻击,behavior-based 会导致培训成本过高。综上,设计一种有效的数据驱动方法来检测未知恶意程序,是急需解决的问题。

 

检测未知恶意程序主要存在以下四个挑战:

 

1. 系统实体之间具有非线性和分层异构关系。 程序执行的操作具有非线性和层次结构上的异构依赖性,忽略这些依赖关系的简单方法仍可能产生较高的误报率。

 

2. 两个程序之间缺乏距离/相似性度量。 在实际的计算机系统中,给定两个程序,具有与之相关的数千个系统事件,根据分类的事件数据来测量它们的距离/相似度不是一项简单的任务。

 

3. 指数级别的事件空间。 信息系统需要处理大量的系统事件数据(通常每主机每秒处理超过 10,000 个事件)。

 

4. 程序别名的问题。 同一程序的不同版本或更新,具有不同的签名,并且也会具有不同的执行名称。因此,保留程序 ID 白名单这种简单方法存在问题。

 

为了解决上述挑战,作者提出了 ,通过图神经网络来学习程序表示以及相似性度量。总的来说, 本文贡献如下:

 

设 计了一 个 IGM 模型,来捕获不同对系统实体之间的异构交互/依赖关系。

 

为了从构造的异质 IGM 中学习程序表示,作者提出了一种分层注意力图神经编码器。

 

最后,提出了一种相似性学习模型,通过孪生神经网络训练参数,并在未知程序与现有良性程序之间进行相似性评分。 MatchGNet 最终可以通过相似性匹配来识别出一个行为表示与现有良性程序明显不同的未知恶意程序。

 

作者在真实的系统来源数据上进行了大量充分的实验,以评估模型的性能。 结果表明,MatchGNet 可以准确检测恶意程序。 此外,作者还用 MatchGNet 来检测真实的恶意软件攻击。 结果表明,它可以将最新攻击技术的误报率降低 50%,同时保持零的误报率。

 

 

模型介绍

 

本文提出了一个异质图匹配网络框架 MatchGNet,如下图所示,它具有三个关键模块:不变图建模(IGM),分层注意力图神经编码器(HAGNE),以及相似性学习(SL)。

 

 

2.1 模块1:IGM

 

作者将系统事件数据建模为不同系统实体(例如,进程、文件和 Internet 套接字)之间的异质图。每个目标程序均可以对应一个异质图 G =(V,E),其中 V 表示一组节点,每个节点都有三种可能的类型:进程(P),文件(F)和 INET Socket(I),即 V = P∪F∪I。E 表示源实体 和目标实体 之间具有关系 r 的一组边 。

 

作者考虑三种类型的关系:(1)一个进程派生另一个进程(P→P),(2)一个进程访问一个文件(P→F),(3)一个进程连接到 Internet 套接字(P→I)。每个图都对应着一个邻接矩阵 A。通过模块 1 可以获得一个全局程序关系图。

 

2.2 模块2:分层注意力图神经编码器

 

模块 1 构造的 IGM 是异质图,图中具有多种类型的实体和关系。因此,很难直接应用传统的同构图神经网络来学习图表示。为解决此问题,本文提出了一种分层注意力图神经编码器(HAGNE),通过考虑节点级别,层级别和路径级别上下文的重要性,通过嵌入注意力机制来学习程序表示。

 

HAGNE 包括四个步骤:

 

B1:具有异质意识的上下文搜索。在元路径的指导下找到与路径相关的邻居集。

 

B2:节点级别注意力神经聚合器。基于随机游走的得分,选择性地聚合每个与路径相关的邻居集中的实体,来生成节点嵌入。

 

B3:层级别密集连接神经聚合器。将不同层生成的节点嵌入,聚合为密集连接的节点嵌入。

 

B4:路径级别注意力神经聚合器。以学习不同元路径下的注意力权重。

 

B1:具有异质意识的上下文搜索

 

本文提出了一种基于元路径的上下文搜索。元路径是异构图中通过一系列关系连接不同实体类型的路径。在计算机系统中,元路径可以是:一个进程派生另一个进程(P→P),访问同一文件的两个进程(P←F→P),或者打开同一 Internet 套接字的两个进程(P←I→ P),均定义两个程序之间的唯一关系。

 

异质图 G 的一组元路径为 ,其中 代表两个程序之间的一个特定的多跳关系。For ,定义节点 v 的与路径相关的邻居集为 :

 

其中 u 是节点 v 通过元路径 可到达的邻居节点。

 

B2:节点级别注意力神经聚合器

 

由于不同的邻居节点可能会对目标节点产生不同的影响,因此,平等地对待所有邻居是不合理的。为了解决这个问题,本文提出了一个节点级别注意力神经聚合器,来计算 中每个节点的注意力权重。

 

该模块基于重启随机游走算法(RWR),将 RWR 扩展到了异构图中,Walker 从目标节点 v 开始,每一步,它移动到 中的一个相邻节点。随机游走结束后,每个被访问过的邻居都会得到相应的访问计数,对其计算 L1 归一化,并以此作为该节点的注意力权重。

 

具体来说:对于节点 v 的邻居集 ,其注意力权重为

 

其中 是 的对应权重。由此,程序表示可以通过一个神经聚合函数 以如下方式计算:

 

 

其中, 代表层的索引值, 是节点 v 在元路径 下,第 k 层的特征向量, 是可训练参数,用于量化前一层表示和聚合上下文表示之间的权衡。获取聚合后的节点表示后,应用多层感知器(MLP)将其转换为隐藏非线性空间。

 

B3:层级别密集连接神经聚合器

 

作者提出的层级聚合器利用所有中间表示,每个中间表示都捕获一个子图结构。所有中间表示都以级联的方式聚合,然后连接一个 MLP,这样生成的嵌入可以自适应地选择不同的子图结构。

 

层级密集连接聚合器 表示如下:

 

 

其中 [·;·] 代表特征串联运算。

 

B4:路径级别注意力神经聚合器

 

作者提出了一种路径级别注意力神经聚合器,利用其学习路径的重要性并融合多个语义下的节点表示。

 

已知对应于元路径 的节点表示 ,则路径级别注意力权重如下:

 

 

其中 是对应于目标元路径 的节点表示, 是对应于另一条元路径 的节点表示。b 是一个可训练注意力向量, 是一个可训练权重矩阵,可以将输入特征映射到隐藏空间中。

 

作者使用前馈神经网络,用来计算一个路径相关的邻居集与其他路径相关的邻居集之间的相关性。再通过 Softmax 函数对其进行归一化处理。最终,所有元路径的联合表示如下:

 

 

2.3 模块3:相似性学习

 

该模块是基于孪生神经网络来训练分层注意力图神经编码器(HAGNE)参数的相似性学习模型。

 

每个 HAGNE 均以程序图 snapshot 作为输入,并输出相应的图嵌入 。然后,使用神经网络融合两个嵌入。最终输出两个程序嵌入的相似性分数。在训练期间,会收集 P 对程序图 snapshot , ,以及相应的 ground truth 配对信息 。

 

如果一对 snapshot 属于同一程序,则 ground truth 标签为 ,否则标签为 。对于每对 snapshot,使用余弦评分函数来测量两个程序嵌入的相似度,相似性学习的输出定义如下:

 

 

相应地,目标函数可以表示为:

 

 

作者使用 Adam 优化器优化此目标。

 

综上,在执行未知恶意软件检测时,给定一个未知程序的 snapshot,我们首先构造其对应的程序 IGM,然后通过 HAGNE 生成程序嵌入。之后,计算未知程序与数据库中存在的程序之间的余弦距离。如果现有程序具有由多个 snapshots 生成的多个嵌入,则仅报告与未知程序相似度评分最高的那个。

 

最后,对所有相似度得分进行排名。如果与所有现有程序之间的最高相似性得分低于阈值,则会触发警报。否则,将报告前 k 个最相似的程序。

 

 

实验结果

 

本文在真实的企业网络数据集上做了大量充分的实验(包括虚假程序检测,未知程序检测,恶意攻击检测)来验证模型的有效性。同时对比了 LR、SVM、MLP、GCN、GraphSage 这些现有的方法。

 

 

由表1、表2的 ACC 可以看出,在捕获所有虚假程序的同时,MatchGNet 的误报率要低于所有其他模型。这验证了不变图结构和图神经网络模型的有效性。也证明了使用注意力图神经网络模型可以更好地捕获程序的语义级别特征,并可能产生较少的误报。

 

作者还进行了超参数选择实验,结果表明,MatchGNet 具有 3 层和 500 个神经元时,它将达到最大的 AUC。作者将得到的最佳超参数用作后续实验。

 

此外,为了评估 MatchGNet 的有用性,作者将其应用于检测企业环境中的实际恶意软件攻击。结果表明,虽然 MatchGNet 和 baseline 均捕获了全部的真实警报,但在同样情况下,MatchGNet 可以减少近 50% 的误报。这意味着可以大大节省大型企业中网络分析师的时间。

 

 

总结

 

本文作者提出的 MatchGNet,将异质图神经网络应用在了未知恶意程序检测上。具体来说,把程序的执行行为建模为异质不变图,引入注意力机制,考虑不同节点、不同层、不同元路径的权重,以此学习图表示,进行相似性评分,区分良性程序和恶意程序。

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注