一种基于动态图对比学习的恶意变种实时检测方法技术

技术编号:32191520 阅读:20 留言:0更新日期:2022-02-08 15:56
本发明专利技术通过网络安全领域的方法,实现了一种基于动态图对比学习的恶意变种实时检测方法。通过监测新的恶意软件变种运行产生的系统事件流,选取60s为窗口滑动大小,连续地为每个恶意软件变种构造当前滑动窗口的异构图并进行实时检测,每个窗口内分为:异构图序列构造阶段、异构图数据增强阶段、基于滑动窗口的图学习阶段和基于判别器的变种检测阶段。本发明专利技术提供的方法利用同一恶意软件家族中,揭示恶意软件真实意图的执行行为相似的特点,从运行新的恶意软件变种产生的系统事件数据流中动态构造恶意软件变种的异构图,然后利用3种异构图数据增强方法生成精美的正负对比实例对,再通过计算图的相似性来实现对新的恶意软件变种的检测,比已有动态检测方法只提取系统调用序列或流量特征更全面更鲁棒,具有更高级别的语义。语义。语义。

【技术实现步骤摘要】
一种基于动态图对比学习的恶意变种实时检测方法


[0001]本专利技术涉及网络安全
,尤其涉及一种基于动态图对比学习的恶意变种实时检测方法。

技术介绍

[0002]恶意软件攻击是网络安全里最广泛和最昂贵的攻击类型,而且它们正迅速发展成为更多公司和组织的攻击目标。在经济利益的驱动下,大量恶意软件转换技术涌现,例如代码混淆技术、加密技术、加壳技术和反调试技术等,导致新的恶意软件变种数量呈爆炸式增长。Symantec2017安全报告中指出,每分钟大约有69个新的恶意软件被检测到,超过50%的新恶意软件实际上是现有恶意软件的变种。
[0003]现有的恶意软件变种的检测方法分为静态检测方法和动态检测方法。
[0004]静态的检测的方法就是不需要执行恶意软件,直接通过反编译工具从恶意软件的二进制文件中提取特征,现有的研究[1

3]大都提取操作码、字节码和API调用等单一或混合特征来表示恶意软件变种的二进制文件,再采用机器学习或深度学习方法检测恶意软件变种。
[0005]2017年,Raff等人提取恶意软件变种的字节码的n

gram信息作为分类特征,然后使用卷积神经网络(CNN)和来进行分类。由于字节码与操作码相比含有大量的噪声,因此该方法的准确性受到噪声信息的限制。2017年,Puerta等人提取操作码的频率来表示恶意软件变种的二进制文件,采用支持向量机来进行分类。然而,特征提取太单一,不能包含足够的信息来保证准确性。2019年,Zhanga等人直接从恶意软件解压后的配置文件中提取操作码和API调用两种有用信息作为分类特征,对于不同类型的特征,他们又分别采用CNN和BPNN从操作码双元模型和API调用频率中提取高级特征,合并两个高级特征形成混合特征输入到分类器进行分类。
[0006]动态的检测方法需要在隔离的环境下运行恶意软件,通过观察其运行行为来揭示其真实的恶意意图。现有的动态方法大都从沙箱报告中提取鲁棒的系统调用序列或流量统计特征作为恶意软件变种的不变表示,采用机器学习或深度学习方法来检测恶意软件变种。
[0007]2017年,Sun提出一个结合了“静态逻辑结构”和“动态运行时信息”的Android恶意软件变种检测系统,分别从清单文件和二进制代码中提取组件信息形成静态行为图,静态行为图加上收集的运行时绑定调用形成运行时行为图,运行时行为图再加上可疑的系统调用集形成最终的总特征,最后用提取的总特征和所有已有样本的签名进行匹配进行分类。2018年,Zhang等人从沙箱监控的可执行文件中提取敏感的系统调用,即利用信息增益提取对恶意行为更敏感的系统调用,再主成分分析提取特征,最后使用多层神经网络进行分类。2019年,Hao等人设计并实现了一个网络流量分析框架DART,该框架结合了一个鲁棒流表示的特征选择方法和一个基于ARTL的算法来检测恶意变种,但该方法只依赖于网络流量的统计特征,其目的是减少源域和目标域在边缘分布和条件分布上的差异。最新的,Chen等人提
出了MatchGNet,他们将恶意软件的执行事件建模成静态的异构图,并提取了基于元路径的图嵌入以检测恶意软件,从而可以有效地从大量良性样本中识别未知恶意软件。
[0008]现有的静态的检测方法分为基于语法和语义的,其中基于语法的很容易被最普遍的代码混淆技术所规避,无法检测出新的的恶意软件变种。而基于语义的静态检测方法虽然可以检测代码混淆技术产生的恶意变种,但无法检测加密或加壳的新的恶意软件变种。
[0009]现有的动态的检测方法的准确性大多依赖于已有的恶意软件训练样本,根据提取单一的系统调用序列或流量等运行行为来表征恶意软件变种,一方面提取的单一特征不能完全概括恶意软件的所有行为信息导致假阳性过高,另一方面,如果训练样本中某一家族的样本比较少,则无法根据提取的特征准确地识别出新的恶意软件变种的具体家族。并且新的变种攻击很难收集有效的样本,造成可分析的样本很少。并且针对这些未知攻击,需要花费大量人力财力进行标注,有些甚至无法标注。而现有的恶意变种检测方法的成功都依赖于大量的标注样本,导致这些变种总是轻易规避现有的监督学习检测方法,对网络安全造成巨大的危害。据我们调查,很少有工作考虑实时准确的检测新的恶意软件变种,因为面对新注入的节点或事件时,现有的检测技术都无法有效地重新训练整个图,从而导致它们无法实时检测恶意软件变体。

技术实现思路

[0010]为此,本专利技术首先提出一种基于动态图对比学习的恶意变种实时检测方法,通过监测新的恶意软件变种运行产生的系统事件流(包括Process connect IP、Process download File、Process delete Process等恶意变种实时运行行为),选取60s为窗口滑动大小,连续地为每个恶意软件变种构造当前滑动窗口的异构图,然后设计异构图数据增强方法生成精美的正负对比实例对,最后进行实时检测,每个窗口内分为:异构图序列构造阶段、异构图数据增强阶段、基于滑动窗口的图学习阶段和基于判别器的变种检测阶段;
[0011]所述异构图序列构造阶段从运行新的恶意软件变种产生的底层系统事件数据中,动态地构造恶意软件变种的异构图序列,该阶段的输入是json格式的事件流(其中每条事件为一条字符串);所述异构图数据增强阶段提出了3种类型的数据增强方法,旨在为每个待测的恶意变种生成精美的正负对比实例对;所述基于滑动窗口的图学习阶段使用滑动窗模型来处理持续产生的系统事件数据,每个窗口根据当前滑动窗口异构图包含的新节点的比例分情况选择一个编码器进行动态异构图学习,学习当前滑动窗口的图嵌入,并以更高级别语义上下文的元图为指导的图神经网络来得到异构图的图嵌入;所述基于判别器的变种检测阶段通过比较正负实例对来输出各恶意软件变种的检测结果,其中待测变种的检测结果为具体的恶意类型,属于virus、trojan、worm、backdoor、adware、exploit、dropper中任意一类,有助于信息系统实时防护这些常见类型的恶意变种。
[0012]所述异构图序列构造阶段构造恶意软件变种的异构图序列的具体方法为:分为步骤1.1

1.4四个步骤:
[0013]步骤1.1:给定异构图序列G={G1,G2,

,Gt

1}以及当前时间窗口的系统事件数据集Dt,去掉Gt

1中过期的节点和关系,对于Dt中的每条事件数据(vs,vd,r),其中vs和vd分别表示源实体和目标实体,r表示该对实体之间的依赖关系。判断vs和vd的类型是否属于V=Process∪File∪System∪Memory∪Registry∪Mutex∪Attribute∪Network,如果是
则进入步骤1.2,否则进入步骤1.4;
[0014]步骤1.2:判断Gt

1中是否已经包括vs节点或vd节点,如果不包括则在Gt

1中添加新节点vs或vd,并加上边本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于动态图对比学习的恶意变种实时检测方法,其特征在于:通过监测新的恶意软件变种运行产生的系统事件流,恶意变种实时运行行为包括Process connect IP、Process download File、Process delete Process等,选取60s为窗口滑动大小,连续地为每个恶意软件变种构造当前滑动窗口的异构图,然后设计异构图数据增强方法来生成精美的正负对比实例对,最后进行实时检测,每个窗口内分为:异构图序列构造阶段、异构图数据增强阶段、基于滑动窗口的图学习阶段和基于判别器的变种检测阶段;所述异构图序列构造阶段从运行新的恶意软件变种产生的底层系统事件数据中,动态地构造恶意软件变种的异构图序列,该阶段的输入是json格式的事件流,其中每条事件为一条字符串;所述异构图数据增强阶段提出了3种类型的数据增强方法,旨在为每个待测的恶意变种生成精美的正负对比实例对;所述基于滑动窗口的图学习阶段使用滑动窗模型来处理持续产生的系统事件数据,每个窗口根据当前窗口异构图包含的新节点的比例分情况使用编码器进行动态异构图学习,学习当前窗口的图嵌入,并以更高级别语义上下文的元图为指导的图神经网络来得到异构图的图嵌入;所述基于判别器的变种检测阶段通过比较正负实例对来输出各恶意软件变种的检测结果,所述检测结果为具体的恶意类型,属于virus、trojan、worm、backdoor、adware、exploit、dropper中任意一类,并将判断结果进行输出。2.如权利要求1所述一种基于动态图对比学习的恶意变种实时检测方法,其特征在于:所述异构图序列构造阶段构造恶意软件变种的异构图序列的具体方法为:分为步骤1.1

1.4四个步骤:步骤1.1:给定异构图序列G={G1,G2,

,Gt

1}以及当前时间窗口的系统事件数据集Dt,去掉Gt

1中过期的节点和关系,对于Dt中的每条事件数据(vs,vd,r),其中vs和vd分别表示源实体和目标实体,r表示该对实体之间的依赖关系,判断vs和vd的类型是否属于V=Process∪File∪System∪Memory∪Registry∪Mutex∪Attribute∪Network,如果是则进入步骤1.2,否则进入步骤1.4;步骤1.2:判断Gt

1中是否已经包括vs节点或vd节点,如果不包括则在Gt

1中添加新节点vs或vd,并加上边r,否则进入步骤1.3;步骤1.3:判断Gt

1里节点vs和vd之间是否有边,如果没有,则加上边r,否则进入步骤1.4;步骤1.4:直接处理Dt里下一条事件数据,并循环步骤1.1到步骤1.4,直到处理完Dt里所有系统事件数据动态构造当前时间窗口的异构图Gt,还有对应的邻接矩阵At,并且存储Gt中的新节点集为3.如权利要求2所述一种基于动态图对比学习的恶意变种实时检测方法,其特征在于:所述异构图数据增强阶段设计了3种数据增强方法旨在生成精美的正负对比实例对,具体步骤包括步骤2.1

步骤2.3:步骤2.1:给定当前滑动窗口原始的异构图Gt=(At,Xt),根据API属性遮掩方法对Gt进行转换,生成增强样本Gt.mask,其中遮掩函数为:具体方法是设计一个满足高斯分布的噪音矩阵对原始异构图的属性矩阵Xt里的一部
分数值进行混淆:其中,Lm是遮掩的位置矩阵,V是满足高斯分布的噪音矩阵,步骤2.2:给定当前滑动窗口原始的异构图Gt=(At,Xt),根据基于元图的取样方法对Gt进行转换,生成增强样本Gt.sample,其中取样函数为:步骤2.3:...

【专利技术属性】
技术研发人员:李博刘旭东刘陈苏明甄子扬
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1