一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于时序网络的交互增强型恶意变种检测方法与流程

2022-02-22 18:29:00 来源:中国专利 TAG:


1.本发明涉及网络安全技术领域,尤其涉及一种基于时序网络的交互增强型恶意变种检测方法。


背景技术:

2.近年来,越来越多的黑客寻求诸如打包,混淆和反沙箱延迟等变种转换技术来生成新的恶意变种,这极大地损害了受害者的主机,甚至窃取了主机用户敏感的数据源,造成重大财务损失。据统计,每个恶意软件家族的变异率已从2001年的5:1上升到2019年的1,000:1。新的恶意变种与原始恶意软件的差异不到2%,他们可以重复使用核心模块。
3.现有的恶意软件变种的检测方法分为传统静态检测方法、传统动态检测方法以及基于图的检测方法。
4.静态的检测的方法就是不需要执行恶意软件,直接通过反编译工具从恶意软件的二进制文件中提取特征,现有的研究[1-3]大都提取操作码、字节码和api调用等单一或混合特征来表示恶意软件变种的二进制文件,再采用机器学习或深度学习方法检测恶意软件变种。
[0005]
2017年,raff等人提取恶意软件变种的字节码的n-gram信息作为分类特征,然后使用卷积神经网络(cnn)和来进行分类。由于字节码与操作码相比含有大量的噪声,因此该方法的准确性受到噪声信息的限制。2017年,puerta等人提取操作码的频率来表示恶意软件变种的二进制文件,采用支持向量机来进行分类。然而,特征提取太单一,不能包含足够的信息来保证准确性。2019年,zhanga等人直接从恶意软件解压后的配置文件中提取操作码和api调用两种有用信息作为分类特征,对于不同类型的特征,他们又分别采用cnn和bpnn从操作码双元模型和api调用频率中提取高级特征,合并两个高级特征形成混合特征输入到分类器进行分类。
[0006]
动态的检测方法需要在隔离的环境下运行恶意软件,通过观察其运行行为来揭示其真实的恶意意图。现有的动态方法大都从沙箱报告中提取鲁棒的系统调用序列或流量统计特征作为恶意软件变种的不变表示,采用机器学习或深度学习方法来检测恶意软件变种。
[0007]
2016年,bartos等人提出了一种跨域网络流量表示方法来检测恶意软件变种,该方法可以减少分布差异并保留原始数据的基本属性,但是它没有考虑条件分布问题。2018年,zhang等人从沙箱监控的可执行文件中提取敏感的系统调用,即利用信息增益提取对恶意行为更敏感的系统调用,再主成分分析提取特征,最后使用多层神经网络进行分类。2020年,为了解决上述只考虑api名称的方法准确性受限,zhang等人提出了一种新颖且低成本的特征提取方法,可从api参数中挖掘大量信息。
[0008]
近几年,由于图神经网络在图像识别和自然语言处理等领域取得的巨大优势,一些研究已经提出了恶意软件检测场景的图神经网络模型。2018年,fan等人提出了metagraph2vec,该工作是将恶意软件执行行为构造为异构信息网络上并学习低维图嵌入
的首次尝试。但是,metagraph2vec中的skip-gram在许多图数据上的表现不如2层图卷积网络(gcn)更好,因此wang等人设计了matchgnet,他们通过比较基于未知恶意软件基于元路径的特征和所有良性样本图表征之间的相似性来识别未知的软件。此外,2019年,ye等人认为现有的基于图的方法仅满足于已知节点的检测,因此无法处理样本外节点表示学习。为此,他们提出了一个样本内节点嵌入

hgine和一个样本外节点嵌入

hg2img。类似地,liu等人[]研究了基于动态异构图学习的实时检测框架mg-dvd,从而显着减少了时间两种基于动态游走的异构图学习方法的成本。
[0009]
现有的传统的静态检测方法都依赖于已知的签名库,当已知签名库中未包含恶意软件的功能,这些静态分析就无法识别,并且静态检测方法很容易被代码混淆和打包技术的变种所规避。
[0010]
现有的动态检测方法都只关注api序列或网络流量等单一特征,忽略了恶意软件涉及的各种系统实体对象之间的丰富交互,不可避免地会导致高误报率。
[0011]
现有的基于图的检测方法的有效性和效率都存在问题。一方面,他们忽略了每个交互之间特定的交互时间,这样构造的异构图包含了许多无效的噪声路径,导致效率低下。另一方面,他们主要关注元路径/元图显式邻域,我们认为仅聚合这样的稀疏邻域信息是不够的,这无疑会影响检测的有效性。


技术实现要素:

[0012]
为此,本发明首先提出一种基于时序网络的交互增强型恶意变种检测方法,首先,将从virustotal网站收集的各个恶意家族的pe文件样本投入到cuckoo沙箱运行得到它们json格式的行为报告。基于所有恶意变种样本的行为报告,通过恶意家族生态系统网构造阶段构建一个大规模的贴近实际的恶意家族生态系统网,之后有区分地为每个恶意变种所表示的进程实体通过时序嵌入阶段学习一个时序嵌入;并通过结构嵌入阶段学习一个结构嵌入,最终通过变种检测阶段集成两个嵌入输入到多层感知器进行多分类,即输出待测变种真正的恶意类型(包括trojan、downloader、virus、spyware、adware、dropper、worm、backdoor)。
[0013]
所述恶意家族生态系统网构造阶段建立一个恶意家族生态系统网g,首先对于每个样本的行为报告,提取2种时序交互(p-》p和p-》api),并组织成四元组(tar,nei,f,t),依次插入恶意家族生态系统网g中,且每条边都标记相应的交互时间作为标签;之后对于每个样本的行为报告,提取4种静态交互(p-》f、p-》s、p-》r、和p-》n),将其组织成三元组(tar,nei,f),依次插入到恶意家族生态系统网g中,最终形成一个细粒度的恶意家族生态系统网g,以及对应的邻接矩阵a
stru
和a
temp

[0014]
所述时序嵌入阶段通过步骤2.1-步骤2.3实现:
[0015]
步骤2.1:给定恶意家族生态系统网g中目标进程tar当前的的时序交互e
t
=(tar,nei,f,t),调用强相关团算法(scc)计算e
t
.nei和t时刻之前交互的api的person相关性系数,如果per
t,i
(e
t
.nei,ei.nei)≥0.6,则将e
t
加入之前的强相关团c
last
,否则e
t
单独形成一个新的团cn;
[0016]
步骤2.2:给定c
last
或cn,以及存储在memorytar和memorynei里的各相关节点最近的记忆,输入到两个联合的grus中来实时更新目标进程和邻节点最新的时序嵌入:
[0017]hnei
(t)=gru
nei
(h
nei
(t-),ht
ar
(t-),δnei)
[0018]
=σ(w1h
nei
(t-) w2htar(t-) w3δnei),
[0019][0020]
步骤2.3:实时存储h
tar
(t)到memorytar中更新目标进程tar的记忆,同样的,实时存储h
nei
(t)到memorynei中更新与之交互的api最新的记忆。
[0021]
所述结构嵌入阶段通过步骤3.1-步骤3.9实现:
[0022]
步骤3.1:给定恶意家族生态系统网g中的静态交互预先定义好的元路径集m={m1,

,m
|m|
},对于每个表示唯一异构语义关系的元路径mm,从g里的目标进程tar开始指导随机游走,得到目标进程tar通过mm到达的显性邻居集
[0023]
步骤3.2:根据目标进程tar,搜索其一阶邻域,得到目标侧的增强集表示为:
[0024][0025]
步骤3.3:根据显性邻居集搜索里面每个邻节点的一阶邻域,得到邻居侧的增强邻居集表示为:
[0026][0027]
其中,
[0028]
步骤3.4:一旦我们得到增强后的目标集和邻居集,接下来我们对两侧的节点两两交互,并使用一个双向注意网络来自动为不同的交互分配合适的权重并计算目标集和邻居集里每个节点交互增强后的状态向量和
[0029][0030][0031][0032]
步骤3.5:在聚合增强后的领域信息得到目标进程tar的节点嵌入之前,先给增强邻居集里不同类型的邻节点neij计算一个权重
[0033][0034]
步骤3.6:使用节点级聚合器聚合增强邻居集里各邻节点的信息得到目标进
程tar的节点嵌入:
[0035][0036]
其中,k∈(1,

,k),σ是激活函数,∈k是第k层的可训练的权衡参数,和分别是第k-1层的目标进程tar和邻节点neij通过元路径mm得到的嵌入向量,其中使用邻节点交互增强后的状态向量的进行初始化。
[0037]
步骤3.7:重复步骤3.1到步骤3.6,直到处理好元路径集m里每一个元路径mm得到相应的节点嵌入
[0038]
步骤3.8:由于各元路径代表了唯一的异构语义上下文,他们在不同家族中重要程度不同,所以通过前馈神经网络根据每个恶意软件变种元路径之间的相关性自动学习各元路径mm的权重βm;
[0039][0040]
步骤3.9:使用路径级聚合器,把m里由各路径指导得到的节点嵌入聚合成最后的结构嵌入h
tar
(stru):
[0041][0042]
所述变种检测阶段首先将每个目标进程tar的时序嵌入和结构嵌入集成到一起,形成该目标进程tar最终的图嵌入h
tar
:
[0043]htar
=[h
tar
(stru),h
tar
(t)]
[0044]
之后将目标进程tar最终的图嵌入h
tar
输入到训练好的mlp中进行多分类。
[0045]
本发明所要实现的技术效果在于:
[0046]
本发明提出了一种基于时序网络的交互增强型恶意种检测框架,称为ti-mvd,可针对细粒度恶意软件家族生态系统网络中的每个未知进程,有针对性地学习高效的时序嵌入和准确的结构嵌入。特别地,为了解决学习结构嵌入时的有效性问题,我们设计了一种端到端交互增强的嵌入算法,该算法能够结合关键邻域之间有价值的显式和隐式交互,以提高检测准确性。另外,为了解决学习时序嵌入时的效率问题,我们提出了一种基于时间的强相关团算法,该算法采用两个gru并行处理强相关团中的api序列,能有效提高检测效率。最后,ti-mvd能同时对抗多种变种转换技术。
附图说明
[0047]
图1 ti-mvd总框架;
[0048]
图2恶意软件8大类;
[0049]
图3未知恶意变种检测效率对比;
具体实施方式
[0050]
以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
[0051]
本发明提出了一种基于时序网络的交互增强型恶意变种检测方法。方法监测每个家族恶意变种特有的静态签名信息,以及动态的行为特征,研究构建一个细粒度的恶意家族生态系统网络。针对恶意家族生态系统网络中的静态交互,研究一种端到端交互增强的嵌入算法,最大程度地保留每个变种有价值的结构信息;针对恶意家族生态系统网络中的时序交互,研究一种基于时间的强相关团算法,该算法采用两个gru并行处理强相关团中的api序列,提高了检测效率。
[0052]
本发明提取待测恶意软件变种的静态签名特征以及运行产生的系统事件,构建一个大规模的更贴近实际的恶意家族生态系统网,基于此有区分地为每个进程实体学习一个时序嵌入和一个结构嵌入,最终集成两个嵌入输入到多层感知器进行多分类。总框架如图1所示,包括(a)恶意家族生态系统网构造阶段、(b)时序嵌入阶段、(c)结构嵌入阶段和(d)变种检测阶段。
[0053]
步骤1:恶意家族生态系统网构造阶段。
[0054]
步骤1.1:对于每个样本的行为报告,提取2种时序交互(p-》p和p-》api),并组织成四元组(tar,nei,f,t),依次插入恶意家族生态系统网g中,且每条边都有相应的交互时间作为标签。
[0055]
步骤1.2:对于每个样本的行为报告,提取4种静态交互(p-》f、p-》s、p-》r、和p-》n),将其组织成三元组(tar,nei,f),也依次插入到恶意家族生态系统网g中,最终形成一个细粒度的恶意家族生态系统网g,以及对应的邻接矩阵a
stru
和a
temp

[0056]
步骤2:时序嵌入阶段。
[0057]
步骤2.1:如图1(b),给定恶意家族生态系统网g中目标进程tar当前的的时序交互e
t
,调用强相关团算法(scc)计算e
t
.nei和t时刻之前交互的api的person相关性系数,如果per
t,i
(e
t
.nei,ei.nei)≥0.6,则将e
t
加入之前的强相关团c
last
,否则e
t
单独形成一个新的团cn。
[0058]
步骤2.2:给定c
last
或cn,以及存储在memorytar和memorynei里的各相关节点最近的记忆,输入到两个联合的grus中来实时更新目标进程和邻节点最新的时序嵌入:
[0059]hnei
(t)=gru
nei
(h
nei
(t-),h
tar
(t-),δnei)
[0060]
=σ(w1h
nei
(t-) w2h
tar
(t-) w3δnei),
[0061][0062]
步骤2.3:实时存储h
tar
(t)到memorytar中更新目标进程tar的记忆,同样的,实时存储h
nei
(t)到memorynei中更新与之交互的api最新的记忆。
[0063]
步骤3:结构嵌入阶段。
[0064]
步骤3.1:给定恶意家族生态系统网g中的静态交互预先定义好的元路径集m={m1,

,m|m|}(如图1(c)所示),对于每个表示唯一异构语义关系的元路径mm,从g里的目标进程tar开始指导随机游走,得到目标进程tar通过mm到达的显性邻居集
[0065]
步骤3.2:根据目标进程tar,搜索其一阶邻域,得到目标侧的增强集表示为:
[0066][0067]
步骤3.3:根据显性邻居集搜索里面每个邻节点的一阶邻域,得到邻居侧的增强邻居集表示为:
[0068][0069]
其中,
[0070]
步骤3.4:一旦我们得到增强后的目标集和邻居集,接下来我们对两侧的节点两两交互,并使用一个双向注意网络来自动为不同的交互分配合适的权重并计算目标集和邻居集里每个节点交互增强后的状态向量和
[0071][0072][0073][0074]
步骤3.5:在聚合增强后的领域信息得到目标进程tar的节点嵌入之前,先给增强邻居集里不同类型的邻节点neij计算一个权重
[0075][0076]
步骤3.6:使用节点级聚合器聚合增强邻居集里各邻节点的信息得到目标进程tar的节点嵌入:
[0077][0078]
其中,k∈h1,

,k),σ是激活函数,∈k是第k层的可训练的权衡参数,和分别是第k-1层的目标进程tar和邻节点neij通过元路径mm得到的嵌入向量,其中
使用邻节点交互增强后的状态向量的进行初始化。
[0079]
步骤3.7:重复步骤3.1到步骤3.6,直到处理好元路径集m里每一个元路径mm得到相应的节点嵌入
[0080]
步骤3.8:由于各元路径代表了唯一的异构语义上下文,他们在不同家族中重要程度不同,所以通过前馈神经网络根据每个恶意软件变种元路径之间的相关性自动学习各元路径mm的权重βm;
[0081][0082]
步骤3.9:使用路径级聚合器,把m里由各路径指导得到的节点嵌入聚合成最后的结构嵌入h
tar
(stru):
[0083][0084]
步骤4:变种检测阶段。
[0085]
为了证实本专利算法的有效限,本专利的算法ti-mvd和现有的较先进的恶意软件检测算法svm rbf、rnn lr、malconv、cnn bpnn、matchgnet进行了对比验证,验证结果表明本专利的算法的检测准确率更高,且假阳性率更低,能够动态实时给出新的恶意变种的检测结果,对比验证结果如表1和图3所示。
[0086]
表1未知恶意变种检测结果对比
[0087]
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献