一种基于关联规则的图卷积网络恶意软件检测模型及方法技术

技术编号:35101798 阅读:23 留言:0更新日期:2022-10-01 17:09
本发明专利技术涉及软件检测技术领域,具体地说,是一种基于关联规则的图卷积网络恶意软件检测模型及方法,该模型和方法利用自动化测试工具对恶意软件的动态特征进行提取并分析,通过挖掘API调用序列中API调用函数的关联规则,将得到的API转换子序列集合构建成图结构输入到图卷积神经网络中(GCN,GraphConvolutionalNetwork)获得API序列对应的软件的分类标签。实验结果表明,该模型优于大多数现有模型,可以提高恶意软件检测性能,减少恶意软件造成的破坏。减少恶意软件造成的破坏。

【技术实现步骤摘要】
一种基于关联规则的图卷积网络恶意软件检测模型及方法


[0001]本专利技术涉及软件检测
,具体地说,一种基于关联规则的图卷积网络恶意软件检测模型及方法,利用Process Monitor捕捉软件在Cuckoo Sandbox中运行的API调用序列作为特征,利用软件的API调用序列的跨域耦合,结合图卷积神经网络(GCN,Graph Convolutional Network)挖掘API调用函数的隐藏转换关系,从而解决恶意软件开发人员利用插入、删除和替换无用的API调用函数逃避检测问题。

技术介绍

[0002]随着信息时代的发展和智能终端设备的普及,恶意软件在互联网及移动通信系统上的传播呈现愈演愈烈的趋势。计算机系统受到恶意软件攻击后,可能导致破坏计算机资源、窃取机密数据、非法获取经济利益、以使服务对系统不可用等。因此,恶意软件的检测与分类不仅是学术展望,也是现实需求。
[0003]而恶意软件多样性和复杂性的不断增加,新兴的恶意软件对检测系统构成了越来越大的挑战。恶意软件开发人员利用复杂的技术制造恶意软件变体,例如通过插入、删除和替换无用的API调用函数,实现在不影响恶意软件的原始功能的基础上应对检测机制,从而逃避检测。而近年来图神经网络(GNN,Graph Neural Network)的提出能够较好地聚合节点特征和拓扑结构之间的关系,在处理序列问题中利用构建图结构从而能够挖掘节点间潜在的关联信息,具有其独特的优势。恶意软件检测领域利用软件的API调用序列作为切入点开展研究时也开始考虑利用图结构进行分析,但是已提出的方法可能依赖于预先的状态而不会表示出恶意软件随着时间的推移恶意行为的演变,或者仅考虑到数据集中包含的恶意软件的API调用的子序列而未考虑非连续的API函数转换潜在行为,对于混淆技术和逃避检测行为并没有较好的解决。

技术实现思路

[0004]本专利技术的目的在于为了克服恶意软件开发人员插入、删除和替换无用的API调用函数而造成的逃避检测,提出了一种基于图卷积网络的恶意软件检测模型及方法,考虑软件API调用序列的跨域耦合联系构建图结构,利用图卷积神经网络充分挖掘API调用函数间的潜在转换关系以避免逃避检测。
[0005]本专利技术采用的具体技术方案如下:
[0006]一种基于关联规则的图卷积网络恶意软件检测模型,包括4个模块:软件API调用序列特征提取模块、API调用序列关联规则挖掘模块、利用图卷积神经网络训练恶意软件分类器模块、预测分类结果并优化模块。
[0007]利用上述模型的进行恶意软件检测方法,具体包括以下步骤:
[0008]S01、软件API调用序列特征提取,该模块包括两个部分:在虚拟环境沙箱Cuckoo Sandbox动态运行软件,获得软件的动态特征;利用自动化工具获得软件的API调用序列。
[0009]S02、API调用序列关联规则挖掘,该模块包括两个部分:根据API调用序列长度选
定跨域步长,将不同步长的API调用子序列放入集合S中;根据集合中的子序列的关联规则构建图结构。
[0010]S03、利用图卷积神经网络训练恶意软件分类器。本专利技术利用软件的API调用序列的子序列集构造图进行标签分类,故使用整图分类。通过API调用序列的子序列集构造图用于构建分类模型,该分类模型输入为图G=(v,e),其中v表示节点的集合,而e表示边的集合。每个节点代表两种API调用函数组,图中的每个边缘代表根据时间关系API转换之间的连接;提取图的嵌入向量X,经过训练得到分类器。
[0011]S04、预测分类结果并优化。将将权重矩阵与提取后的图的嵌入向量X做向量积得到预测结果,根据概率输出分类标签,并构造损失函数来更新参数优化模型。
[0012]本专利技术的进一步改进,所述步骤S01具体包括:
[0013]S11、恶意软件调用Windows API时会自动触发虚拟化环境设置的hook机制,故将恶意软件放置于虚拟的沙箱环境并记录恶意软件运行时调用API的时间以及传递的参数。目前开源的沙箱工具中,Cuckoo Sandbox融合了众多的恶意软件测试功能,可以提取恶意软件运行时的Windows API调用信息。
[0014]S12、通过自动化测试工具对恶意软件的动态特征进行提取并分析。然后使用Process Monitor自动扫描分析系统当前程序的运行情况,用于提取API调用序列特征。
[0015]本专利技术的进一步改进,所述步骤S02具体包括:
[0016]S21、利用API调用函数的跨域耦合挖掘所获得API序列的关联规则。
[0017]在API序列中很容易监测并获得API调用函数之间的潜在联系。针对API调用函数之间的转换关系对其进行分析,为避免恶意软件开发人员利用插入、删除和替换无用的API调用函数逃避检测问题,对API调用序列中的函数进行跨域耦合。假定所获得的API调用序列为API
s
={API1,API2,API3...,API
n
‑1,API
n
},在插入、删除或替换了无用API例如某些NativeAPI(如NtOpenFile、NtReadFile、NtWriteFile、NtCreateFile等等)后序列变为API
s

={API1,NtOpenFile,API2,NtReadFile,API3,...,API
n
‑1,NtCreateFile,API
n
},相对于原序列的转换方式,对于其本身的恶意行为具有隐藏和混淆性。故根据API调用函数的长度API_Len确定步长sp,其中sp={1,2,3,...,API_Len/2},提取不同步长下的子序列集合S={Sub1,Sub2,Sub3,...,Sub
API_Len/2
},通过跨域耦合的方式挖掘原本的API调用函数转换方式。对于每个步长,在步长为1(sp=1)的情况下,所考虑的API调用函数的转换是连续的,即使用两个相邻的API调用函数用于构建规则。在步长为2(sp=2)中,所考虑的API调用函数的转换都是通过跳过一个元素来创建的,即使用两个间隔一个API调用函数的API调用函数用于构建规则,以API
s

={API1,NtOpenFile,API2,NtReadFile,API3,...,API
n
‑1,NtCreateFile,API
n
}为例,根据关联规则得到的子序列为{API1_API2,NtOpenFile_NtReadFile,API2_API3,...,API
n
‑1_API
n
}。
[0018]S22、为了使用API之间的结构依赖性,应该将上一步所得到的子序列集合中的各个API子序列转换关系构建为图结构。
[0019]对于每个软件运行后生成的API序列,得到给定的API子序列集合S后,可以根据每个子序列对应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于关联规则的图卷积网络恶意软件检测模型,其特征在于,包括4个模块:软件API调用序列特征提取模块、API调用序列关联规则挖掘模块、利用图卷积神经网络训练恶意软件分类器模块、预测分类结果并优化模块。2.一种基于关联规则的图卷积网络恶意软件检测方法,其特征在于,使用如权利要求1所述的基于关联规则的图卷积网络恶意软件检测模型,具体包括以下步骤:S01、软件API调用序列特征提取:在虚拟环境沙箱Cuckoo Sandbox动态运行软件,获得软件的动态特征,利用自动化工具获得软件的API调用序列;S02、API调用序列关联规则挖掘:根据API调用序列长度选定跨域步长,将不同步长的API调用子序列放入集合S中,根据集合中的子序列的关联规则构建图结构;S03、利用图卷积神经网络训练恶意软件分类器:通过API调用序列的子序列集构造图用于构建分类模型,该分类模型输入为图G=(v,e),其中v表示节点的集合,而e表示边的集合,每个节点代表两种API调用函数组,图中的每个边缘代表根据时间关系API转换之间的连接,提取图的嵌入向量X,经过训练得到分类器;S04、预测分类结果并优化:将将权重矩阵与提取后的图的嵌入向量X做向量积得到预测结果,根据概率输出分类标签,并构造损失函数来更新参数优化模型。3.根据权利要求2所述的基于关联规则的图卷积网络恶意软件检测方法,其特征在于,所述步骤S01具体包括:S11、将恶意软件放置于虚拟的沙箱环境并记录恶意软件运行时调用API的时间以及传递的参数;S12、通过自动化测试工具对恶意软件的动态特征进行提取并分析,然后使用Process Monitor自动扫描分析系统当前程序的运行情况,用于提取API调用序列特征。4.根据权利要求3所述的基于关联规则的图卷积网络恶意软件检测方法,其特征在于,所述步骤S02具体包括:S21、利用API调用函数的跨域耦合挖掘所获得API序列的关联规则,在API序列中很容易监测并获得API调用函数之间的潜在联系,针对API调用函数之间的转换关系对其进行分析,为避免恶意软件开发人员利用插入、删除和替换无用的API调用函数逃避检测问题,对API调用序列中的函数进行跨域耦合;S22、对于每个软件运行后生成的API序列,得到给定的API子序列集合S后,根据每个子序列对应的转换关系将其表示为图G=(v,e),其中v表示节点的集合,而e表示边的集合,每个节点代表两种API调用函数组,图中的每个边缘代表根据时间关系API转换之间的连接,当出现重复的转换方式时,则利用已出现过的节点并增加对应边的权重,避免节点过多而导致图的复杂性过大。5.根据权利要求4所述的基于关联规则的图卷积网络恶意软件检测方法,其特征在于,所述步骤S21中,设定所获得的API调用序列为API
s
={API1,API2,API3...,API
n...

【专利技术属性】
技术研发人员:宋玉蓉李思琦
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1