CN114936371A - 基于三通道可视化和深度学习的恶意软件分类方法及系统 - Google Patents
基于三通道可视化和深度学习的恶意软件分类方法及系统 Download PDFInfo
- Publication number
- CN114936371A CN114936371A CN202210481473.2A CN202210481473A CN114936371A CN 114936371 A CN114936371 A CN 114936371A CN 202210481473 A CN202210481473 A CN 202210481473A CN 114936371 A CN114936371 A CN 114936371A
- Authority
- CN
- China
- Prior art keywords
- malware
- malicious software
- channel
- markov
- assembly
- 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 68
- 238000013135 deep learning Methods 0.000 title claims abstract description 47
- 238000012800 visualization Methods 0.000 title claims abstract description 35
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 19
- 230000007704 transition Effects 0.000 claims description 24
- 238000010276 construction Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 238000011176 pooling Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 8
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 238000003786 synthesis reaction Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 abstract 1
- 230000002194 synthesizing effect Effects 0.000 abstract 1
- 230000003068 static effect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 108091029480 NONCODE Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 102000054765 polymorphisms of proteins Human genes 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000007794 visualization technique Methods 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/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- 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
- G06N3/045—Combinations of networks
-
- 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
- G06N3/047—Probabilistic or stochastic networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Virology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于三通道可视化和深度学习的恶意软件分类方法及系统,属于恶意软件分类和深度学习技术领域,其中,该方法包括:对被分类的恶意软件进行汇编指令提取,提取其代码区段的操作码、立即数操作数、寄存器操作数和相对地址的存储器操作数;根据指令序列分别构建反映恶意软件汇编指令字节分布的Markov图、反映恶意软件操作码调用关系的Markov图、反映恶意软件操作码数量的Markov图,最后合成恶意软件三通道图像,再使用深度卷积神经网络完成恶意软件分类。该方法效捕获了恶意软件汇编指令的字节分布、调用和数量关系,能够生成大小统一的恶意软件图像,不依赖于预先训练模型,具有更高的分类准确率。
Description
技术领域
本发明涉及恶意软件分类和深度学习技术领域,特别涉及一种基于三通道可视化和深度学习的恶意软件分类方法及系统。
背景技术
恶意软件是指破坏系统正常运行的软件。近年来,随着互联网和计算机技术的快速发展,各种恶意软件的出现已成为网络空间中最严重的威胁。过去十年中,恶意软件的数量逐年增加。到2022年,恶意软件的总数已超过13.21亿。大多数新的恶意软件和恶意软件变体从过去的恶意软件改变而来。这种更改通常是源代码的更改,这可能会干扰基于签名的恶意软件分类方法。这些恶意软件的变体与用于改变的恶意软件属于同一个恶意软件家族,因此它们具有很强的相似性,这是恶意软件分类的重要基础。
恶意软件分类是恶意软件分析的必要任务。它区分了不同的恶意软件家族,以更好地了解来自同一家族的恶意软件变体的能力,从而可以减少安全分析师的工作,并促进他们对新的恶意软件或恶意软件变体的研究。目前恶意软件的分类方法主要有两种:基于恶意软件的静态特征的静态分析方法和基于恶意软件的动态行为的动态分析方法。静态分析方法是一种不需要执行恶意软件样本的方法。分析对象包括原始字节、反汇编代码、应用程序编程接口(API)序列和函数调用图(FCG)。静态方法具有检测快速、安全的优点。然而,静态分析方法很容易被恶意软件使用静态混淆技术所干扰,如包装和多态性。动态分析方法在一定程度上克服了静态分析方法容易被静态混淆技术干扰的缺点。动态分析方法通常在被监视的虚拟环境中执行恶意软件示例来分析其行为,如系统调用、网络活动和文件操作。然而,许多动态分析方法都存在资源开销高、效率低的缺点。
为了提高恶意软件的分类效率,经典的机器学习方法已被广泛应用于各种恶意软件分类方法中,如决策树(DT)、朴素贝叶斯(NB)、支持向量机(SVM)和k-最近邻(KNN)。然而,基于机器学习的恶意软件分类方法存在复杂的特征工程和难以处理大量数据的局限,这使得这类方法仍然不能令人满意。深度学习方法可以克服机器学习的上述缺点。此外,卷积神经网络(CNN)是一种深度学习方法,在解决图像识别和分类等问题上非常有效。因此,近年来一些研究人员提出了基于恶意软件图像可视化和深度学习的方法。这种方法将恶意软件的分类问题转化为一个图像分类问题。其可行性在于,当来自同一家族的不同恶意软件被转换为图像时,在纹理和布局上呈现相似。此外,恶意软件的分类方法是基于恶意软件生成的图像,可以从全局的角度判断恶意软件之间的相似性,从而具有较强的泛化能力。而深度神经网络通常需要相同大小的输入。目前大多数恶意软件可视化方法直接使用恶意软件二进制文件作为输入,将每个8位二进制文件转换为一个像素,因此需要压缩或截断,以保持图像大小的统一。这种方法无疑会导致原始二进制文件的信息丢失。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于三通道可视化和深度学习的恶意软件分类方法,该方法提高了恶意软件分来的准确度和速度,避免了恶意软件分类不准确或速度过慢而引起的隐私信息泄露或网络的严重损害。
为此,本发明的第一个目的在于提出一种基于三通道可视化和深度学习的恶意软件分类方法。
本发明的第二个目的在于提出一种基于三通道可视化和深度学习的恶意软件分类系统。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
为达到上述目的,本发明第一方面实施例提出了基于三通道可视化和深度学习的恶意软件分类方法,包括以下步骤:步骤S1,将预设恶意软件文件反编译为汇编文件,并提取所述汇编文件中代码区段的汇编指令序列;步骤S2,根据所述汇编指令序列构建反映恶意软件汇编指令字节分布的Markov图;步骤S3,根据所述汇编指令序列构建反映恶意软件操作码调用关系的Markov图;步骤S4,根据所述汇编指令序列构建反映恶意软件操作码数量的Markov图;步骤S5,将预设恶意软件样本输入所述步骤S1-S4中得到相应的恶意软件Markov图,并将其依次作为恶意软件三通道图像的三个通道,以合成恶意软件三通道图像;步骤S6,构建包含4个卷积层、4个池化层和2个全连接层的深度卷积神经网络;步骤S7,选择预设超参数训练所述深度卷积神经网络,并将深度学习工具包载入训练好的深度卷积神经网络;步骤S8,将待测恶意软件样本输入所述步骤S1-S5中得到相应的三通道恶意软件图像,并将所述三通道恶意软件图像载入所述训练好的深度卷积神经网络中,以预测恶意软件家族类型对应的标签值,进而对恶意软件家族进行分类。
本发明实施例的基于三通道可视化和深度学习的恶意软件分类方法,应用于恶意软件变体分类,利用恶意软件代码区段汇编指令的语义和统计信息,有效捕获了恶意软件汇编指令的字节分布、调用和数量关系;能够生成大小统一的恶意软件图像;不依赖于预先训练模型,具有更高的分类准确率;避免恶意软件分类不准确或速度过慢而引起的隐私信息泄露或网络的严重损害。
另外,根据本发明上述实施例的基于三通道可视化和深度学习的恶意软件分类方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述步骤S1具体包括:步骤S101,利用第三方分析工具对恶意软件文件的pe文件进行反编译,得到asm汇编文件;步骤S102,提取所述asm汇编文件中代码区段的汇编指令序列,并去除掉其中的标点符号,仅保留大小写字母和数字。
进一步地,在本发明的一个实施例中,所述步骤S2具体包括:步骤S201,利用所述汇编指令序列中连续字母或数字二进制组合的转移概率表示汇编指令的字节分布信息;步骤 S202,根据所述字节分布信息计算各个状态之间的转移概率,以构建Markov概率转移矩阵;
步骤S203,将所述Markov概率转移矩阵转换为反映恶意软件汇编指令字节分布的Markov图。
进一步地,在本发明的一个实施例中,所述步骤S3具体包括:步骤S301,利用所述汇编指令序列中连续操作码的首字母的二进制组合的转移概率表示操作码的调用关系;步骤S302,将所述操作码的调用关系转换为反映恶意软件操作码调用关系的Markov图。
进一步地,在本发明的一个实施例中,所述步骤S4具体包括:步骤S401,利用所述汇编指令序列中每个操作码中最后两个字母的二进制组合的转移概率来近似替代PE文件中操作码数量;步骤S402,将所述操作码数量转换为反映恶意软件操作码数量的Markov图。
进一步地,在本发明的一个实施例中,所述深度卷积神经网络的输入层维度是62*62*3 的二维矩阵。
进一步地,在本发明的一个实施例中,所述深度卷积神经网络的全连接层直接与输出层相连接,通过softmax函数输出恶意软件的类别标签。
为达到上述目的,本发明第二方面实施例提出了基于三通道可视化和深度学习的恶意软件分类系统,包括:反编译模块,用于将预设恶意软件文件反编译为汇编文件,并提取所述汇编文件中代码区段的汇编指令序列;第一Markov图构建模块,用于根据所述汇编指令序列构建反映恶意软件汇编指令字节分布的Markov图;第二Markov图构建模块,用于根据所述汇编指令序列构建反映恶意软件操作码调用关系的Markov图;第三Markov图构建模块,用于根据所述汇编指令序列构建反映恶意软件操作码数量的Markov图;通道合成模块,用于将预设恶意软件样本输入所述反编译模块至所述第三Markov图构建模块中得到相应的恶意软件Markov图,并将其依次作为恶意软件三通道图像的三个通道,以合成恶意软件三通道图像;网络构建模块,用于构建包含4个卷积层、4个池化层和2个全连接层的深度卷积神经网络;训练模块,用于选择预设超参数训练所述深度卷积神经网络,并将深度学习工具包载入训练好的深度卷积神经网络;测试模块,用于将待测恶意软件样本输入所述反编译模块至所述通道合成模块构建模块中得到相应的三通道恶意软件图像,并将所述三通道恶意软件图像载入所述训练好的深度卷积神经网络中,以预测恶意软件家族类型对应的标签值,进而对恶意软件家族进行分类。
本发明实施例的基于三通道可视化和深度学习的恶意软件分类系统,应用于恶意软件变体分类,利用恶意软件代码区段汇编指令的语义和统计信息,有效捕获了恶意软件汇编指令的字节分布、调用和数量关系;能够生成大小统一的恶意软件图像;不依赖于预先训练模型,具有更高的分类准确率;避免恶意软件分类不准确或速度过慢而引起的隐私信息泄露或网络的严重损害。
为达到上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
为达到上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法的步骤。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例的基于三通道可视化和深度学习的恶意软件分类方法的流程图;
图2是本发明一个实施例的基于三通道可视化和深度学习的恶意软件分类方法的分类框架示意图;
图3是本发明一个实施例的恶意软件转换为三通道恶意软件图像示意图;
图4是本发明一个实施例的深度神经网络模型结构组成图;
图5是本发明一个实施例的基于三通道可视化和深度学习的恶意软件分类系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于三通道可视化和深度学习的恶意软件分类方法及系统。
图1是本发明一个实施例的基于三通道可视化和深度学习的恶意软件分类方法的流程图。
如图1所示,该基于三通道可视化和深度学习的恶意软件分类方法包括以下步骤:
在步骤S1中,将预设恶意软件文件反编译为汇编文件,并提取汇编文件中代码区段的汇编指令序列。
具体地,如图2所示,本发明实施例中利用IDA Pro等第三方分析工具对应用程序的 pe文件进行反编译,得到asm汇编文件;提取恶意软件asm汇编文件中代码区段的汇编指令序列,并去除掉其中的标点符号,仅保留大小写字母和数字。
在步骤S2中,根据汇编指令序列构建反映恶意软件汇编指令字节分布的Markov图。
进一步地,在本发明的一个实施例中,步骤S2具体包括:
步骤S201,利用汇编指令序列中连续字母或数字二进制组合的转移概率表示汇编指令的字节分布信息;
步骤S202,根据字节分布信息计算各个状态之间的转移概率,以构建Markov概率转移矩阵;
步骤S203,将Markov概率转移矩阵转换为反映恶意软件汇编指令字节分布的Markov 图。
具体地,如图2所示,使用汇编指令序列中连续字母或数字二进制组合的转移概率表示汇编指令的字节分布信息;
指令序列的大小写字母和数字可以表示为字节流S;假设每个字母或数字都被视为一个状态,那么流S中的每个元素有62种可能的状态,假设从前一个状态m到后一个状态n的转移以一定的概率转移,转移概率Pm,n计算公式为:
计算各个状态之间相互转移概率,形成Markov概率转移矩阵,即:
将Markov矩阵转换为反映恶意软件汇编指令字节分布的Markov图。
在步骤S3中,根据汇编指令序列构建反映恶意软件操作码调用关系的Markov图。
进一步地,在本发明的一个实施例中,步骤S3具体包括:
步骤S301,利用汇编指令序列中连续操作码的首字母的二进制组合的转移概率表示操作码的调用关系;
步骤S302,按照步骤S2的Markov图构建方法将操作码的调用关系转换为反映恶意软件操作码调用关系的Markov图。
在步骤S4中,根据汇编指令序列构建反映恶意软件操作码数量的Markov图。
进一步地,在本发明的一个实施例中,步骤S4具体包括:
步骤S401,利用汇编指令序列中每个操作码中最后两个字母的二进制组合的转移概率来近似替代PE文件中该操作码的数量;
步骤S402,按照步骤S2的Markov图构建方法将操作码数量转换为反映恶意软件操作码数量的Markov图。
在步骤S5中,将预设恶意软件样本输入步骤S1-S4中得到相应的恶意软件Markov图,并将其依次作为恶意软件三通道图像的三个通道,以合成恶意软件三通道图像。
具体地,如图3所示,将恶意软件样本通过步骤S1、步骤S2、步骤S3、步骤S4 得到相应的恶意软件Markov图,并将其依次作为恶意软件三通道图像的三个通道,合成为一个62*62*3的恶意软件三通道图像,
在步骤S6中,构建包含4个卷积层、4个池化层和2个全连接层的深度卷积神经网络。
需要说明的是,近年来,深度学习模型应运而生,其有效性已在多个领域得到验证。一些现有的深度学习模型,如VGG16,在图像识别领域表现出良好的性能。如前,步骤5中生成的三通道图像的尺寸仅为62*62*3,不适合采用VGG16等复杂模型来处理。因此,本发明实施例构建了一个与VGG16相比层数更少的CNN,如图4所示,相较于VGG16,其卷积层、池化层和全连接层的深度均有减少,一共包含4个卷积层、4个池化层和2个全连接层,全连接层直接与输出层相连接,最后通过softmax函数输出恶意软件的类别标签;深度卷积神经网络结构的输入层维度是62*62*3的二维矩阵。其中,本发明实施例使用深度学习工具包,以python语言来构建深度卷积神经网络模型。
在步骤S7中,选择预设超参数训练深度卷积神经网络,并将深度学习工具包载入训练好的深度卷积神经网络。
其中,预设超参数设置如下:优化器为Adam,其学习率和衰减率分别为3e-4和2e-7;批量大小设置为16,训练epoch为250。
在步骤S8中,将待测恶意软件样本输入步骤S1-S5中得到相应的三通道恶意软件图像,并将三通道恶意软件图像载入训练好的深度卷积神经网络中,以预测恶意软件家族类型对应的标签值,进而对恶意软件家族进行分类。
具体地,使用深度学习工具包载入已训练的模型,然后将待测恶意软件样本通过步骤S1、步骤S2、步骤S3、步骤S4和步骤S5进行图像化处理,得到相应的三通道恶意软件图像,以该图像为输入,在载入已训练的模型中预测恶意软件家族类型对应的标签值。
下面通过一个具体实施例对本发明提出的基于三通道可视化和深度学习的恶意软件分类方法进一步说明。
表1微软恶意软件数据集
表2 MCTVD与其他恶意软件分类方法准确率对比
需要说明的是,用于评估MCTVD的恶意软件数据集源自微软于2015年在Kaggle举办的恶意软件分类竞赛。自2016年以来,它一直是静态恶意软件分析领域使用最广泛的基准数据集。该数据集由两个独立的集合组成:一个训练数据集和一个测试数据集。训练数据集包含9个恶意软件家族,共有10868个样本。测试数据集包含10873个样本,但这些样本的标签不公开。因此,与现有的大多数恶意软件分类方法一样,本发明实施例仅使用训练数据集来进行实验。表1列出了训练数据集的样本分布。为了验证MCTVD的有效性和避免单一测试集带来的偶然性和随机性,本发明实施例在上述数据集上使用了10折交叉验证。即把数据集分成10个大小相等的子集,依次将第i个子集作为测试数据,剩下的子集作为训练数据。
表2为MCTVD与其他恶意软件分类方法的分类准确率对比。表中所有方法的结果皆为在微软恶意软件数据集上进行十折交叉验证的平均准确率。可以看出本发明实施例的恶意软件分类方法(MCTVD)与其他恶意软件分类方法相比具有更高的分类准确率。
综上,本发明实施例提出的基于三通道可视化和深度学习的恶意软件分类方法具有以下有益效果:
(1)有效捕获了恶意软件汇编指令的字节分布、调用和数量关系,包含了恶意软件的的语义和统计信息,不会丢失汇编指令中有价值的信息。
(2)能够生成大小统一的恶意软件图像,能够有效的减小非代码区段信息的冗余。
(3)与其他恶意软件分类方法相比具有更高的分类准确率,而且不依赖于预先训练模型,即使训练数据集较小,也具有较高的准确率。
其次参照附图描述根据本发明实施例提出的基于三通道可视化和深度学习的恶意软件分类系统。
图5是本发明一个实施例的基于三通道可视化和深度学习的恶意软件分类系统的结构示意图。
如图5所示,该系统10包括:反编译模块100、第一Markov图构建模块200、第二Markov图构建模块300、第三Markov图构建模块400、通道合成模块500、网络构建模块 600、训练模块700和测试模块800。
其中,反编译模块100用于将预设恶意软件文件反编译为汇编文件,并提取汇编文件中代码区段的汇编指令序列。第一Markov图构建模块200用于根据汇编指令序列构建反映恶意软件汇编指令字节分布的Markov图。第二Markov图构建模块300用于根据汇编指令序列构建反映恶意软件操作码调用关系的Markov图。第三Markov图构建模块400用于根据汇编指令序列构建反映恶意软件操作码数量的Markov图。通道合成模块500用于将预设恶意软件样本输入反编译模块至第三Markov图构建模块中得到相应的恶意软件Markov图,并将其依次作为恶意软件三通道图像的三个通道,以合成恶意软件三通道图像。网络构建模块600用于构建包含4个卷积层、4个池化层和2个全连接层的深度卷积神经网络。训练模块700用于选择预设超参数训练深度卷积神经网络,并将深度学习工具包载入训练好的深度卷积神经网络。测试模块800用于将待测恶意软件样本输入反编译模块至通道合成模块中得到相应的三通道恶意软件图像,并将三通道恶意软件图像载入训练好的深度卷积神经网络中,以预测恶意软件家族类型对应的标签值,进而对恶意软件家族进行分类。
需要说明的是,前述集中在基于三通道可视化和深度学习的恶意软件分类方法实施例的解释说明也适用于本发明实施例的系统,其实现原理类似,在此不再赘述。
根据本发明实施例提出的基于三通道可视化和深度学习的恶意软件分类系统,具有以下有益效果:
(1)有效捕获了恶意软件汇编指令的字节分布、调用和数量关系,包含了恶意软件的的语义和统计信息,不会丢失汇编指令中有价值的信息。
(2)能够生成大小统一的恶意软件图像,能够有效的减小非代码区段信息的冗余。
(3)与其他恶意软件分类方法相比具有更高的分类准确率,而且不依赖于预先训练模型,即使训练数据集较小,也具有较高的准确率。
为了实现上述实施例,本发明还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如前述实施例的基于三通道可视化和深度学习的恶意软件分类方法。
为了实现上述实施例,本发明还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如前述实施例的基于三通道可视化和深度学习的恶意软件分类方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM 或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于三通道可视化和深度学习的恶意软件分类方法,其特征在于,包括以下步骤:
步骤S1,将预设恶意软件文件反编译为汇编文件,并提取所述汇编文件中代码区段的汇编指令序列;
步骤S2,根据所述汇编指令序列构建反映恶意软件汇编指令字节分布的Markov图;
步骤S3,根据所述汇编指令序列构建反映恶意软件操作码调用关系的Markov图;
步骤S4,根据所述汇编指令序列构建反映恶意软件操作码数量的Markov图;
步骤S5,将预设恶意软件样本输入所述步骤S1-S4中得到相应的恶意软件Markov图,并将其依次作为恶意软件三通道图像的三个通道,以合成恶意软件三通道图像;
步骤S6,构建包含4个卷积层、4个池化层和2个全连接层的深度卷积神经网络;
步骤S7,选择预设超参数训练所述深度卷积神经网络,并将深度学习工具包载入训练好的深度卷积神经网络;
步骤S8,将待测恶意软件样本输入所述步骤S1-S5中得到相应的三通道恶意软件图像,并将所述三通道恶意软件图像载入所述训练好的深度卷积神经网络中,以预测恶意软件家族类型对应的标签值,进而对恶意软件家族进行分类。
2.根据权利要求1所述的基于三通道可视化和深度学习的恶意软件分类方法,其特征在于,所述步骤S1具体包括:
步骤S101,利用第三方分析工具对恶意软件文件的pe文件进行反编译,得到asm汇编文件;
步骤S102,提取所述asm汇编文件中代码区段的汇编指令序列,并去除掉其中的标点符号,仅保留大小写字母和数字。
3.根据权利要求1所述的基于三通道可视化和深度学习的恶意软件分类方法,其特征在于,所述步骤S2具体包括:
步骤S201,利用所述汇编指令序列中连续字母或数字二进制组合的转移概率表示汇编指令的字节分布信息;
步骤S202,根据所述字节分布信息计算各个状态之间的转移概率,以构建Markov概率转移矩阵;
步骤S203,将所述Markov概率转移矩阵转换为反映恶意软件汇编指令字节分布的Markov图。
4.根据权利要求1所述的基于三通道可视化和深度学习的恶意软件分类方法,其特征在于,所述步骤S3具体包括:
步骤S301,利用所述汇编指令序列中连续操作码的首字母的二进制组合的转移概率表示操作码的调用关系;
步骤S302,将所述操作码的调用关系转换为反映恶意软件操作码调用关系的Markov图。
5.根据权利要求1所述的基于三通道可视化和深度学习的恶意软件分类方法,其特征在于,所述步骤S4具体包括:
步骤S401,利用所述汇编指令序列中每个操作码中最后两个字母的二进制组合的转移概率来近似替代PE文件中操作码数量;
步骤S402,将所述操作码数量转换为反映恶意软件操作码数量的Markov图。
6.根据权利要求1所述的基于三通道可视化和深度学习的恶意软件分类方法,其特征在于,所述深度卷积神经网络的输入层维度是62*62*3的二维矩阵。
7.根据权利要求1所述的基于三通道可视化和深度学习的恶意软件分类方法,其特征在于,所述深度卷积神经网络的全连接层直接与输出层相连接,通过softmax函数输出恶意软件的类别标签。
8.一种基于三通道可视化和深度学习的恶意软件分类系统,其特征在于,包括:
反编译模块,用于将预设恶意软件文件反编译为汇编文件,并提取所述汇编文件中代码区段的汇编指令序列;
第一Markov图构建模块,用于根据所述汇编指令序列构建反映恶意软件汇编指令字节分布的Markov图;
第二Markov图构建模块,用于根据所述汇编指令序列构建反映恶意软件操作码调用关系的Markov图;
第三Markov图构建模块,用于根据所述汇编指令序列构建反映恶意软件操作码数量的Markov图;
通道合成模块,用于将预设恶意软件样本输入所述反编译模块至所述第三Markov图构建模块中得到相应的恶意软件Markov图,并将其依次作为恶意软件三通道图像的三个通道,以合成恶意软件三通道图像;
网络构建模块,用于构建包含4个卷积层、4个池化层和2个全连接层的深度卷积神经网络;
训练模块,用于选择预设超参数训练所述深度卷积神经网络,并将深度学习工具包载入训练好的深度卷积神经网络;
测试模块,用于将待测恶意软件样本输入所述反编译模块至所述通道合成模块构建模块中得到相应的三通道恶意软件图像,并将所述三通道恶意软件图像载入所述训练好的深度卷积神经网络中,以预测恶意软件家族类型对应的标签值,进而对恶意软件家族进行分类。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述方法的步骤。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210481473.2A CN114936371B (zh) | 2022-05-05 | 2022-05-05 | 基于三通道可视化和深度学习的恶意软件分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210481473.2A CN114936371B (zh) | 2022-05-05 | 2022-05-05 | 基于三通道可视化和深度学习的恶意软件分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114936371A true CN114936371A (zh) | 2022-08-23 |
CN114936371B CN114936371B (zh) | 2024-04-02 |
Family
ID=82864910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210481473.2A Active CN114936371B (zh) | 2022-05-05 | 2022-05-05 | 基于三通道可视化和深度学习的恶意软件分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114936371B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116186702A (zh) * | 2023-02-24 | 2023-05-30 | 中国科学院信息工程研究所 | 基于协同注意力的恶意软件分类方法和装置 |
CN116258917A (zh) * | 2023-05-16 | 2023-06-13 | 广东技术师范大学 | 一种基于tf-idf转移熵的恶意软件分类方法及装置 |
CN116861431A (zh) * | 2023-09-05 | 2023-10-10 | 国网山东省电力公司信息通信公司 | 基于多通道图像和神经网络的恶意软件分类方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647745A (zh) * | 2019-07-24 | 2020-01-03 | 浙江工业大学 | 基于深度学习的恶意软件汇编格式的检测方法 |
CN111259397A (zh) * | 2020-02-12 | 2020-06-09 | 四川大学 | 一种基于马尔科夫图和深度学习的恶意软件分类方法 |
CN111723674A (zh) * | 2020-05-26 | 2020-09-29 | 河海大学 | 基于马尔科夫链蒙特卡洛与变分推断的半贝叶斯深度学习的遥感图像场景分类方法 |
US20210176258A1 (en) * | 2019-12-10 | 2021-06-10 | Shanghai Jiaotong University | Large-scale malware classification system |
-
2022
- 2022-05-05 CN CN202210481473.2A patent/CN114936371B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647745A (zh) * | 2019-07-24 | 2020-01-03 | 浙江工业大学 | 基于深度学习的恶意软件汇编格式的检测方法 |
US20210176258A1 (en) * | 2019-12-10 | 2021-06-10 | Shanghai Jiaotong University | Large-scale malware classification system |
CN111259397A (zh) * | 2020-02-12 | 2020-06-09 | 四川大学 | 一种基于马尔科夫图和深度学习的恶意软件分类方法 |
CN111723674A (zh) * | 2020-05-26 | 2020-09-29 | 河海大学 | 基于马尔科夫链蒙特卡洛与变分推断的半贝叶斯深度学习的遥感图像场景分类方法 |
Non-Patent Citations (3)
Title |
---|
杨频;潘岳镭;贾鹏;刘亮;: "基于汇编指令词向量特征的恶意软件检测研究", 信息安全研究, no. 02, 5 February 2020 (2020-02-05) * |
郭春等: "一种基于可视化的勒索软件分类方法", 信息网络安全, 30 April 2020 (2020-04-30) * |
黄军;王聪;刘越;毕天腾;: "单目深度估计技术进展综述", 中国图象图形学报, no. 12, 16 December 2019 (2019-12-16) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116186702A (zh) * | 2023-02-24 | 2023-05-30 | 中国科学院信息工程研究所 | 基于协同注意力的恶意软件分类方法和装置 |
CN116186702B (zh) * | 2023-02-24 | 2024-02-13 | 中国科学院信息工程研究所 | 基于协同注意力的恶意软件分类方法和装置 |
CN116258917A (zh) * | 2023-05-16 | 2023-06-13 | 广东技术师范大学 | 一种基于tf-idf转移熵的恶意软件分类方法及装置 |
CN116258917B (zh) * | 2023-05-16 | 2023-08-04 | 广东技术师范大学 | 一种基于tf-idf转移熵的恶意软件分类方法及装置 |
CN116861431A (zh) * | 2023-09-05 | 2023-10-10 | 国网山东省电力公司信息通信公司 | 基于多通道图像和神经网络的恶意软件分类方法及系统 |
CN116861431B (zh) * | 2023-09-05 | 2023-11-21 | 国网山东省电力公司信息通信公司 | 基于多通道图像和神经网络的恶意软件分类方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114936371B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gibert et al. | Using convolutional neural networks for classification of malware represented as images | |
CN114936371B (zh) | 基于三通道可视化和深度学习的恶意软件分类方法及系统 | |
US11790079B2 (en) | Systems and methods for executable code detection, automatic feature extraction and position independent code detection | |
Pinhero et al. | Malware detection employed by visualization and deep neural network | |
Falana et al. | Mal-Detect: An intelligent visualization approach for malware detection | |
Gao et al. | Android malware detection via graphlet sampling | |
Obaidat et al. | Jadeite: A novel image-behavior-based approach for java malware detection using deep learning | |
CN110730164B (zh) | 安全预警方法及相关设备、计算机可读存储介质 | |
Yuan et al. | IoT malware classification based on lightweight convolutional neural networks | |
O’Shaughnessy et al. | Image-based malware classification hybrid framework based on space-filling curves | |
Kakisim et al. | Sequential opcode embedding-based malware detection method | |
Bhaskara et al. | Emulating malware authors for proactive protection using GANs over a distributed image visualization of dynamic file behavior | |
CN115730313A (zh) | 一种恶意文档检测方法、装置、存储介质及设备 | |
Xie et al. | Andro_MD: android malware detection based on convolutional neural networks | |
Al-Andoli et al. | An ensemble-based parallel deep learning classifier with PSO-BP optimization for malware detection | |
CN111488574B (zh) | 恶意软件分类方法、系统、计算机设备和存储介质 | |
Sharma et al. | Windows and IoT malware visualization and classification with deep CNN and Xception CNN using Markov images | |
CN112257062B (zh) | 一种基于频繁项集挖掘的沙箱知识库生成方法和装置 | |
Wu et al. | IoT malware classification based on reinterpreted function-call graphs | |
Tasyurek et al. | RT-Droid: a novel approach for real-time android application analysis with transfer learning-based CNN models | |
CN113360911A (zh) | 恶意代码同源分析方法、装置、计算机设备和存储介质 | |
Zhu et al. | Malware homology determination using visualized images and feature fusion | |
CN112988964A (zh) | 文本韵律边界预测的方法、装置、设备及存储介质 | |
Ye et al. | Android malware detection technology based on lightweight convolutional neural networks | |
CN111797395A (zh) | 恶意代码可视化及变种检测方法、装置、设备及存储介质 |
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 |