©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 白名单这种简单方法存在问题。
为了解决上述挑战,作者提出了 MatchGNet,通过图神经网络来学习程序表示以及相似性度量。总的来说,本文贡献如下:
设计了一个 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 的与路径相关的邻居集为