CN114003910A - 一种基于动态图对比学习的恶意变种实时检测方法 - Google Patents
一种基于动态图对比学习的恶意变种实时检测方法 Download PDFInfo
- Publication number
- CN114003910A CN114003910A CN202111337338.2A CN202111337338A CN114003910A CN 114003910 A CN114003910 A CN 114003910A CN 202111337338 A CN202111337338 A CN 202111337338A CN 114003910 A CN114003910 A CN 114003910A
- Authority
- CN
- China
- Prior art keywords
- graph
- heterogeneous
- node
- window
- variant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000011897 real-time detection Methods 0.000 title claims abstract description 11
- 238000001514 detection method Methods 0.000 claims abstract description 42
- 230000006399 behavior Effects 0.000 claims abstract description 13
- 238000010276 construction Methods 0.000 claims abstract description 9
- 238000012544 monitoring process Methods 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 18
- 230000002159 abnormal effect Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000013461 design Methods 0.000 claims description 7
- 230000000873 masking effect Effects 0.000 claims description 6
- 238000005295 random walk Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 6
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 241000700605 Viruses Species 0.000 claims description 3
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000009792 diffusion process Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 3
- 244000035744 Hura crepitans Species 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000375 direct analysis in real time Methods 0.000 description 1
- 238000012063 dual-affinity re-targeting Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明通过网络安全领域的方法,实现了一种基于动态图对比学习的恶意变种实时检测方法。通过监测新的恶意软件变种运行产生的系统事件流,选取60s为窗口滑动大小,连续地为每个恶意软件变种构造当前滑动窗口的异构图并进行实时检测,每个窗口内分为:异构图序列构造阶段、异构图数据增强阶段、基于滑动窗口的图学习阶段和基于判别器的变种检测阶段。本发明提供的方法利用同一恶意软件家族中,揭示恶意软件真实意图的执行行为相似的特点,从运行新的恶意软件变种产生的系统事件数据流中动态构造恶意软件变种的异构图,然后利用3种异构图数据增强方法生成精美的正负对比实例对,再通过计算图的相似性来实现对新的恶意软件变种的检测,比已有动态检测方法只提取系统调用序列或流量特征更全面更鲁棒,具有更高级别的语义。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于动态图对比学习的恶意变种实时检测方法。
背景技术
恶意软件攻击是网络安全里最广泛和最昂贵的攻击类型,而且它们正迅速发展成为更多公司和组织的攻击目标。在经济利益的驱动下,大量恶意软件转换技术涌现,例如代码混淆技术、加密技术、加壳技术和反调试技术等,导致新的恶意软件变种数量呈爆炸式增长。Symantec2017安全报告中指出,每分钟大约有69个新的恶意软件被检测到,超过50%的新恶意软件实际上是现有恶意软件的变种。
现有的恶意软件变种的检测方法分为静态检测方法和动态检测方法。
静态的检测的方法就是不需要执行恶意软件,直接通过反编译工具从恶意软件的二进制文件中提取特征,现有的研究[1-3]大都提取操作码、字节码和API调用等单一或混合特征来表示恶意软件变种的二进制文件,再采用机器学习或深度学习方法检测恶意软件变种。
2017年,Raff等人提取恶意软件变种的字节码的n-gram信息作为分类特征,然后使用卷积神经网络(CNN)和来进行分类。由于字节码与操作码相比含有大量的噪声,因此该方法的准确性受到噪声信息的限制。2017年,Puerta等人提取操作码的频率来表示恶意软件变种的二进制文件,采用支持向量机来进行分类。然而,特征提取太单一,不能包含足够的信息来保证准确性。2019年,Zhanga等人直接从恶意软件解压后的配置文件中提取操作码和API调用两种有用信息作为分类特征,对于不同类型的特征,他们又分别采用CNN和BPNN从操作码双元模型和API调用频率中提取高级特征,合并两个高级特征形成混合特征输入到分类器进行分类。
动态的检测方法需要在隔离的环境下运行恶意软件,通过观察其运行行为来揭示其真实的恶意意图。现有的动态方法大都从沙箱报告中提取鲁棒的系统调用序列或流量统计特征作为恶意软件变种的不变表示,采用机器学习或深度学习方法来检测恶意软件变种。
2017年,Sun提出一个结合了“静态逻辑结构”和“动态运行时信息”的Android恶意软件变种检测系统,分别从清单文件和二进制代码中提取组件信息形成静态行为图,静态行为图加上收集的运行时绑定调用形成运行时行为图,运行时行为图再加上可疑的系统调用集形成最终的总特征,最后用提取的总特征和所有已有样本的签名进行匹配进行分类。2018年,Zhang等人从沙箱监控的可执行文件中提取敏感的系统调用,即利用信息增益提取对恶意行为更敏感的系统调用,再主成分分析提取特征,最后使用多层神经网络进行分类。2019年,Hao等人设计并实现了一个网络流量分析框架DART,该框架结合了一个鲁棒流表示的特征选择方法和一个基于ARTL的算法来检测恶意变种,但该方法只依赖于网络流量的统计特征,其目的是减少源域和目标域在边缘分布和条件分布上的差异。最新的,Chen等人提出了MatchGNet,他们将恶意软件的执行事件建模成静态的异构图,并提取了基于元路径的图嵌入以检测恶意软件,从而可以有效地从大量良性样本中识别未知恶意软件。
现有的静态的检测方法分为基于语法和语义的,其中基于语法的很容易被最普遍的代码混淆技术所规避,无法检测出新的的恶意软件变种。而基于语义的静态检测方法虽然可以检测代码混淆技术产生的恶意变种,但无法检测加密或加壳的新的恶意软件变种。
现有的动态的检测方法的准确性大多依赖于已有的恶意软件训练样本,根据提取单一的系统调用序列或流量等运行行为来表征恶意软件变种,一方面提取的单一特征不能完全概括恶意软件的所有行为信息导致假阳性过高,另一方面,如果训练样本中某一家族的样本比较少,则无法根据提取的特征准确地识别出新的恶意软件变种的具体家族。并且新的变种攻击很难收集有效的样本,造成可分析的样本很少。并且针对这些未知攻击,需要花费大量人力财力进行标注,有些甚至无法标注。而现有的恶意变种检测方法的成功都依赖于大量的标注样本,导致这些变种总是轻易规避现有的监督学习检测方法,对网络安全造成巨大的危害。据我们调查,很少有工作考虑实时准确的检测新的恶意软件变种,因为面对新注入的节点或事件时,现有的检测技术都无法有效地重新训练整个图,从而导致它们无法实时检测恶意软件变体。
发明内容
为此,本发明首先提出一种基于动态图对比学习的恶意变种实时检测方法,通过监测新的恶意软件变种运行产生的系统事件流(包括Process connect IP、Processdownload File、Process delete Process等恶意变种实时运行行为),选取60s为窗口滑动大小,连续地为每个恶意软件变种构造当前滑动窗口的异构图,然后设计异构图数据增强方法生成精美的正负对比实例对,最后进行实时检测,每个窗口内分为:异构图序列构造阶段、异构图数据增强阶段、基于滑动窗口的图学习阶段和基于判别器的变种检测阶段;
所述异构图序列构造阶段从运行新的恶意软件变种产生的底层系统事件数据中,动态地构造恶意软件变种的异构图序列,该阶段的输入是json格式的事件流(其中每条事件为一条字符串);所述异构图数据增强阶段提出了3种类型的数据增强方法,旨在为每个待测的恶意变种生成精美的正负对比实例对;所述基于滑动窗口的图学习阶段使用滑动窗模型来处理持续产生的系统事件数据,每个窗口根据当前滑动窗口异构图包含的新节点的比例分情况选择一个编码器进行动态异构图学习,学习当前滑动窗口的图嵌入,并以更高级别语义上下文的元图为指导的图神经网络来得到异构图的图嵌入;所述基于判别器的变种检测阶段通过比较正负实例对来输出各恶意软件变种的检测结果,其中待测变种的检测结果为具体的恶意类型,属于virus、trojan、worm、backdoor、adware、exploit、dropper中任意一类,有助于信息系统实时防护这些常见类型的恶意变种。
所述异构图序列构造阶段构造恶意软件变种的异构图序列的具体方法为:分为步骤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;
所述异构图数据增强阶段生成精美的正负对比实例对的具体步骤包括步骤2.1-步骤2.3:
步骤2.1:给定当前滑动窗口原始的异构图Gt=(At,Xt),根据API属性遮掩方法对Gt进行转换,生成增强样本Gt.mask,其中遮掩函数为:
具体的操作是设计一个满足高斯分布的噪音矩阵对原始异构图的属性矩阵里的一部分数值进行混淆:
其中,Lm是遮掩的位置矩阵,V是满足高斯分布的噪音矩阵。
步骤2.2:给定当前滑动窗口原始的异构图Gt=(At,Xt),根据基于元图的取样方法对Gt进行转换,生成增强样本Gt.sample,其中取样函数为:
步骤2.3:给定当前滑动窗口原始的异构图Gt=(At,Xt),根据基于显性邻域的图扩散方法对Gt进行转换,生成增强样本Gt.enhance,具体的操作是对于Gt里的目标节点v以及元路径Mi,先搜索它们的显性邻居,再拓展显性邻居的一阶进程节点为隐性邻居,最后将两侧的显性+隐性邻居两两相连,即可得到增强后的Gt.enhance。
所述基于滑动窗口的图学习阶段得到当前滑动窗口异构图嵌入的具体步骤包括步骤3.1-步骤3.10:
步骤3.1:基于滑动窗口的图学习阶段包含两个可选择的动态编码器,需要根据当前滑动窗口异构图中的新节点集和所有节点集的比例进行选择。判断是否大于0.5,是则进入步骤3.2使用组合的层次图注意编码器来学习当前滑动窗口的图嵌入,否则进入步骤3.6使用动态游走增量更新编码器来直接增量更新当前窗口的图嵌入;
步骤3.6:当时,重复步骤3.2,得到元每一个元图Mi得到相应的邻居集但是和步骤3.2的区别是,随机游走过程中只有遇到新的未知节点则加入邻居集遇到已知的节点则跳过,最后得到的里只包含根据Mi遍历到的动态邻节点;
口的图嵌入得到一个大的表征矩阵,具体表示为:
步骤3.10:把M里由各元图指导得到的子图嵌入聚合成最后的图嵌入hGt:
所述基于判别器的变种检测阶段输出检测结果的具体方法为步骤4.1-步骤4.4:
步骤4.1:得到了每个窗口的图嵌入hGt后,为了提高检测性能,我们设计了一个2层的MLP投影头,它可以将图嵌入投影到和损失函数同样的低维空间,具体的投影头为:
步骤4.2:维护一个批次Bm,里面包含原始异构图的一个增强的正样本的低维嵌入(其中),以及所有负样本的低维嵌入我们计算原始异构图Gt与所有负样本的相似性,如果(τ是预先指定的相似性阈值,值为0.5),则进入步骤4.3,否则进入步骤4.4;
步骤4.3:计算Bm的对比误差l:
通过最大化误差l来训练所设计的两个动态图编码器。
步骤4.4:当前窗口的行为不足以识别该新的恶意变种,继续滑动,进入下一个窗口。
本发明所要实现的技术效果在于:
本发明考虑在同一恶意软件家族中,揭示恶意软件真实意图的执行行为大多相似的特点,从运行新的恶意软件变种产生的系统事件数据流中动态构造恶意软件变种的异构图,并设计3种类型的异构图数据增强方法来生成精美的对比实例对,最后通过对比判别器来实现对新的恶意软件变种的检测。一方面,通过实时监测新的恶意软件变种运行产生的底层的系统事件数据来动态检测恶意软件变种的异常行为,可以抵抗已有的转换技术;另一方面,通过把收集到的系统事件数据(包括各种实体和实体之间的依赖关系)构造成异构图,再根据两种可选择的动态编码器学习恶意软件变种的图嵌入作为其不变的表征,比已有动态检测方法只提取系统调用序列或流量特征更全面更鲁棒,具有更高级别的语义。
附图说明
图1基于动态图对比学习的恶意变种实时检测总框架;
图2 3种异构图数据增强示意图;
图3恶意软件变种检测的概要图;
图4 8类恶意软件以及变种。
具体实施方式
以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
本发明提出了一种基于动态图对比学习的恶意变种实时检测方法。从运行新的恶意软件变种产生的底层系统事件数据中构造恶意软件变种的异构图序列。设计了3种类型的异构图数据增强方法为每个窗口的异构图生成了精美的正负对比实例对。最后通过对比判别器实现对新的恶意软件变种的检测。为了实现实时处理系统事件数据流并及时检测出恶意软件变种减少损失,本专利使用滑动窗模型来处理持续产生的系统事件数据(快速流),每个窗口根据当前窗口异构图包含的新节点的比例分情况选择一个动态编码器来学习当前滑动窗口的图嵌入。最重要的是提出了以更高级别语义上下文的元图为指导的图神经网络来得到异构图的图嵌入,其中待测变种的检测结果为具体的恶意类型,属于virus、trojan、worm、backdoor、adware、exploit、dropper中任意一类,有助于信息系统实时防护这些常见类型的恶意变种。
本发明通过监测新的恶意软件变种运行产生的系统事件流(包括Processconnect IP、Process download File、Process delete Process等恶意变种实时运行行为),通过实验选取60s为窗口滑动大小,连续地为每个恶意软件变种构造当前滑动窗口的异构图并进行实时检测。总框架如图1所示,每个时间戳包括(a)异构图序列构造阶段,(b)异构图数据增强阶段,(c)基于滑动窗口的图学习阶段和(d)基于判别器的变种检测阶段。
步骤1:异构图序列构造阶段。
步骤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中的新节点集(节点增删、关系增删)为
步骤2:异构图数据增强阶段(如图2)。
步骤2.1:给定当前滑动窗口原始的异构图Gt=(At,Xt),根据API属性遮掩方法对Gt进行转换,生成增强样本Gt.mask,其中遮掩函数为:
具体的操作是设计一个满足高斯分布的噪音矩阵对原始异构图的属性矩阵里的一部分数值进行混淆:
其中,Lm是遮掩的位置矩阵,V是满足高斯分布的噪音矩阵。
步骤2.2:给定当前滑动窗口原始的异构图Gt=(At,Xt),根据基于元图的取样方法对Gt进行转换,生成增强样本Gt.sample,其中取样函数为:
步骤2.3:给定当前滑动窗口原始的异构图Gt=(At,Xt),根据基于显性邻域的图扩散方法对Gt进行转换,生成增强样本Gt.enhance,具体的操作是对于Gt里的目标节点v以及元路径Mi,先搜索它们的显性邻居,再拓展显性邻居的一阶进程节点为隐性邻居,最后将两侧的显性+隐性邻居两两相连,即可得到增强后的Gt.enhance。
步骤3:基于滑动窗口的图学习阶段。
步骤3.1:基于滑动窗口的图学习阶段包含两个可选择的动态编码器,需要根据当前滑动窗口异构图中的新节点集和所有节点集的比例进行选择。判断是否大于0.5,是则进入步骤3.2使用组合的层次图注意编码器来学习当前窗口的图嵌入,否则进入步骤3.6使用动态游走增量更新编码器来直接增量更新当前窗口的图嵌入。
步骤3.2:给定异构图Gt和恶意软件检测概要图(如图3所示),实验统计得到的元图集M={M1,…,M|M|},对于每个表示唯一异构语义关系的元图Mi,从Gt里的目标节点v开始指导随机游走,得到目标节点v通过Mi到达的邻居集
步骤3.6:当时,重复步骤3.2,得到元每一个元图Mi得到相应的邻居集但是和步骤3.2的区别是,随机游走过程中只有遇到新的未知节点则加入邻居集遇到已知的节点则跳过,最后得到的里只包含根据Mi遍历到的动态邻节点,
步骤3.10:把M里由各元图指导得到的子图嵌入聚合成最后的图嵌入hGt:
步骤4:基于判别器的变种检测阶段。
步骤4.1:得到了每个窗口的图嵌入hGt后,为了提高检测性能,我们设计了一个2层的MLP投影头,它可以将图嵌入投影到和损失函数同样的低维空间,具体的投影头为:
步骤4.2:维护一个批次Bm,里面包含原始异构图的一个增强的正样本的低维嵌入(其中),以及各大恶意类型(如图4)包含的所有负样本的低维嵌入我们计算原始异构图Gt与所有负样本的相似性,如果(τ是预先指定的相似性阈值,值为0.5),则进入步骤4.3,否则进入步骤4.4;
步骤4.3:计算Bm的对比误差l:
通过最大化误差l来训练所设计的两个动态图编码器。
步骤4.4:当前窗口的行为不足以识别该新的恶意变种,继续滑动,进入下一个窗口。
为了证明上述方案的有效性,本专利通过实验统计的有效的元图集和滑动窗口,设计了一个动态自监督对比学习的新型恶意变种检测框架,并提出了3种异构图数据增强方法来生成精美的正负对比实例对,根据不同结构的元图指导动态图编码器学习每个新的恶意变种的图嵌入,作为一个全面、鲁棒的特征,最后通过对比判别器来进行类别的检测。本专利的算法MG-RMVD和现有的较先进的恶意软件检测算法SVM+RBF、RNN+LR、MalConv、MatchGNet进行了对比验证,验证结果表明本专利的算法的检测准确率更高,且假阳性率更低,能够动态实时给出新的恶意变种的检测结果,对比验证结果如表1所示。
表1未知恶意变种检测结果对比
Claims (5)
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;
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:给定当前滑动窗口原始的异构图Gt=(At,Xt),根据基于显性邻域的图扩散方法对Gt进行转换,生成增强样本Gt.enhance,具体的操作是对于Gt里的目标节点v以及元路径Mi,先搜索它们的显性邻居,再拓展显性邻居所有的一阶进程节点为隐性邻居,最后将两侧的显性+隐性节点两两相连,即可得到增强后的Gt.enhance。
4.如权利要求3所述一种基于动态图对比学习的恶意变种实时检测方法,其特征在于:所述基于滑动窗口的图学习阶段得到每个滑动窗口的异构图嵌入的具体步骤包括步骤3.1-步骤3.10:
步骤3.1:基于滑动窗口的图学习阶段包含两个可选择的动态编码器,需要根据当前滑动窗口异构图中的新节点集和所有节点集的比例进行选择,判断是否大于0.5,是则进入步骤3.2使用组合的层次图注意编码器来学习当前滑动窗口的图嵌入,否则进入步骤3.6使用动态游走增量更新编码器来直接增量更新当前滑动窗口的图嵌入;
步骤3.6:当时,重复步骤3.2,得到元每一个元图Mi得到相应的邻居集但是和步骤3.2的区别是,随机游走过程中只有遇到新的未知节点则加入邻居集遇到已知的节点则跳过,最后得到的里只包含根据Mi遍历到的动态邻节点;
口的图嵌入得到一个大的表征矩阵,具体表示为:
步骤3.10:把M里由各元图指导得到的子图嵌入聚合成最后的图嵌入hGt:
5.如权利要求4所述一种基于动态图对比学习的恶意变种实时检测方法,其特征在于:所述基于判别器的变种检测阶段输出检测结果的具体方法为步骤4.1-步骤4.4:
步骤4.1:得到了每个窗口的图嵌入hGt后,为了提高检测性能,我们设计了一个2层的MLP投影头,它可以将图嵌入投影到和损失函数同样的低维空间,具体的投影头为:
步骤4.2:维护一个批次Bm,里面包含原始异构图的一个增强的正样本的低维嵌入(其中),以及所有负样本的低维嵌入我们计算原始异构图Gt与所有负样本的相似性,如果(τ是预先指定的相似性阈值,值为0.5),则进入步骤4.3,否则进入步骤4.4;
步骤4.3:计算Bm的对比误差l:
通过最大化误差l来训练所设计的两个动态图编码器;
步骤4.4:当前窗口的行为不足以识别该新的恶意变种,继续滑动,进入下一个窗口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111337338.2A CN114003910B (zh) | 2021-11-12 | 2021-11-12 | 一种基于动态图对比学习的恶意变种实时检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111337338.2A CN114003910B (zh) | 2021-11-12 | 2021-11-12 | 一种基于动态图对比学习的恶意变种实时检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114003910A true CN114003910A (zh) | 2022-02-01 |
CN114003910B CN114003910B (zh) | 2024-05-07 |
Family
ID=79928722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111337338.2A Active CN114003910B (zh) | 2021-11-12 | 2021-11-12 | 一种基于动态图对比学习的恶意变种实时检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003910B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114550098A (zh) * | 2022-02-28 | 2022-05-27 | 山东大学 | 基于对比学习的考场监控视频异常行为检测方法及系统 |
CN115865492A (zh) * | 2022-11-30 | 2023-03-28 | 四川大学 | 一种基于相似度指向的变种流量生成方法 |
CN117251691A (zh) * | 2023-08-04 | 2023-12-19 | 华能信息技术有限公司 | 一种可疑样本分析处理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109190371A (zh) * | 2018-07-09 | 2019-01-11 | 四川大学 | 一种基于行为图的Android恶意软件检测方法和技术 |
US20200137083A1 (en) * | 2018-10-24 | 2020-04-30 | Nec Laboratories America, Inc. | Unknown malicious program behavior detection using a graph neural network |
CN111860327A (zh) * | 2020-07-21 | 2020-10-30 | 广州道源信息科技有限公司 | 一种基于视觉计算视频传输的图像检测与分析方法 |
-
2021
- 2021-11-12 CN CN202111337338.2A patent/CN114003910B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109190371A (zh) * | 2018-07-09 | 2019-01-11 | 四川大学 | 一种基于行为图的Android恶意软件检测方法和技术 |
US20200137083A1 (en) * | 2018-10-24 | 2020-04-30 | Nec Laboratories America, Inc. | Unknown malicious program behavior detection using a graph neural network |
CN111860327A (zh) * | 2020-07-21 | 2020-10-30 | 广州道源信息科技有限公司 | 一种基于视觉计算视频传输的图像检测与分析方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114550098A (zh) * | 2022-02-28 | 2022-05-27 | 山东大学 | 基于对比学习的考场监控视频异常行为检测方法及系统 |
CN114550098B (zh) * | 2022-02-28 | 2024-06-11 | 山东大学 | 基于对比学习的考场监控视频异常行为检测方法及系统 |
CN115865492A (zh) * | 2022-11-30 | 2023-03-28 | 四川大学 | 一种基于相似度指向的变种流量生成方法 |
CN115865492B (zh) * | 2022-11-30 | 2024-02-20 | 四川大学 | 一种基于相似度指向的变种流量生成方法 |
CN117251691A (zh) * | 2023-08-04 | 2023-12-19 | 华能信息技术有限公司 | 一种可疑样本分析处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114003910B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aslan et al. | A new malware classification framework based on deep learning algorithms | |
Ni et al. | Malware identification using visualization images and deep learning | |
Lin | Deep learning for IoT | |
Fan et al. | Malicious sequential pattern mining for automatic malware detection | |
CN114003910B (zh) | 一种基于动态图对比学习的恶意变种实时检测方法 | |
Yakura et al. | Neural malware analysis with attention mechanism | |
Gao et al. | Malware classification for the cloud via semi-supervised transfer learning | |
Liu et al. | ATMPA: attacking machine learning-based malware visualization detection methods via adversarial examples | |
Sun et al. | Pattern recognition techniques for the classification of malware packers | |
Xue et al. | Malware classification using probability scoring and machine learning | |
Rahman et al. | Adaptive intrusion detection based on boosting and naïve Bayesian classifier | |
Zhang et al. | Malicious codes detection based on ensemble learning | |
Gao et al. | Android malware detection via graphlet sampling | |
CN110572393A (zh) | 一种基于卷积神经网络的恶意软件流量分类方法 | |
Yan et al. | A survey of adversarial attack and defense methods for malware classification in cyber security | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
CN110362995A (zh) | 一种基于逆向与机器学习的恶意软件检测及分析系统 | |
Kakisim et al. | Sequential opcode embedding-based malware detection method | |
Zhang et al. | MALDC: a depth detection method for malware based on behavior chains | |
Li et al. | Semi-supervised two-phase familial analysis of Android malware with normalized graph embedding | |
He et al. | Detection of Malicious PDF Files Using a Two‐Stage Machine Learning Algorithm | |
Masabo et al. | Improvement of malware classification using hybrid feature engineering | |
Liu et al. | The similarity analysis of malicious software | |
Nalavade | Using machine learning and statistical models for intrusion detection | |
Liu et al. | A Malware detection method for health sensor data based on machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |