CN113806746A - 基于改进cnn网络的恶意代码检测方法 - Google Patents
基于改进cnn网络的恶意代码检测方法 Download PDFInfo
- Publication number
- CN113806746A CN113806746A CN202111119216.6A CN202111119216A CN113806746A CN 113806746 A CN113806746 A CN 113806746A CN 202111119216 A CN202111119216 A CN 202111119216A CN 113806746 A CN113806746 A CN 113806746A
- Authority
- CN
- China
- Prior art keywords
- layer
- malicious
- code
- cnn network
- detection
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 claims abstract description 20
- 230000004927 fusion Effects 0.000 claims abstract description 16
- 238000012549 training Methods 0.000 claims abstract description 9
- 238000011176 pooling Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 16
- 239000013598 vector Substances 0.000 claims description 9
- 208000025174 PANDAS Diseases 0.000 claims description 6
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 claims description 6
- 240000004718 Panda Species 0.000 claims description 6
- 235000016496 Panda oleosa Nutrition 0.000 claims description 6
- 230000010354 integration Effects 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 abstract description 32
- 238000005516 engineering process Methods 0.000 abstract description 9
- 230000003068 static effect Effects 0.000 abstract description 8
- 238000003384 imaging method Methods 0.000 abstract description 6
- 238000000605 extraction Methods 0.000 abstract description 4
- 238000004422 calculation algorithm Methods 0.000 description 20
- 210000002569 neuron Anatomy 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010835 comparative analysis Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification 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/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Virology (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于改进CNN网络的恶意代码检测方法,通过图像化技术将恶意代码转换成灰度图像特征,再通过N‑Gram技术提取恶意代码的操作码序列特征,通过特征融合技术将全局特征和局部特征进行特征融合,得到的融合特征输入到改进的卷积神经网络模型训练并选用合适的分类器进行检测;该方法实现了自动及深层次的特征提取,而且还不受制于恶意代码的数量和种类,解决了恶意代码快速增长及变形的问题;针对恶意代码检测的静态和多层特征,采用图像化和特征融合来设计检测模型,提高了检测速度以及准确度。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于改进CNN网络的恶意代码检测方法。
背景技术
由于物联网设备在网络公开使用,网络上的数量越来越多,恶意攻击更容易发生,致使恶意代码成为物联网安全的重要威胁,恶意代码检测技术成为物联网安全的重要研究方向,所以,对于恶意代码检测是非常有意义的。
一方面,物联网环境中,设备相互连接,交换信息,由于这一特点,分布式拒绝服务,僵尸网络活动等恶意代码的攻击数量正在快速的膨胀。另一方面,攻击者为了躲避常规的代码检测,它们会利用恶意代码的多态和变形技术,通过代码自动生成工具,生成大量的恶意代码的变体,从而躲避恶意代码的检测达到其破坏目的。随着网络的快速发展,恶意代码的规模呈倍增长,更及时、准确地检测这些恶意代码是非常有意义的。
恶意代码的检测方法分为静态检测和动态检测两个方面。静态检测方法是不运行恶意代码,在数据层面对数据进行分析,捕获数据的语义、语法相关信息,从而识别出恶意代码。由静态检测方法的不足,进而出现动态检测方法,该检测方法是在分析通过在虚拟环境中执行代码,并基于代码的执行跟踪,为PE文件生成行为报告。动态检测方法虽然可以准确的捕获恶意代码运行的信息,但是,其执行环境要求高,执行的方式唯一,对于数据多的恶意代码没有办法得到很好的实现,其检测效率需要进一步提高。图像化的检测方法是一种不同于传统动静态的检测方法,它是一种比较新颖的方式,在静态的检测方法上进行改进,以分析恶意软件的二进制文件,并通过恶意软件转换成图像特征来检测混淆的恶意软件以及新的和变体的恶意软件。与传统的静检测方法不同,图像化检测方法是不需要对数据进行语义,语法的分析或者在虚拟环境中运行监控其行为,它不在受到数据数量或者已知的特征相比较得到的检测结果,它使得混淆代码影响检测问题得到了解决。
发明内容
针对恶意代码的快速增长和变形,传统的检测方法还严重依赖人为因素且无法提取到深层次的特征问题,深入研究深度学习网络及恶意代码检测技术之后,针对现有技术的不足,本发明提出一种基于改进CNN网络的恶意代码检测方法,包括:
步骤1:提取检测代码的灰度图像特征;
步骤2:提取.asm格式文件中的操作码序列特征;
步骤3:将操作码的局部特征和灰度图的全局特征进行融合,得到融合后的融合特征;
步骤4:构建改进的CNN网络结构,利用融合特征作为训练样本对改进的CNN网络进行训练;
步骤5:利用训练后的改进CNN网络检测恶意代码。
所述步骤1包括:
步骤1.1:将待检测代码经过汇编语言反编译,得到.asm格式的文件;
步骤1.2:以8bit为一个单位,依次读取.asm格式文件中的二进制序列;
步骤1.3:将每个单位的二进制序列转换成一个无符号的十进制数字形式;
步骤1.4:将得到的十进制数值转换成一个二维数组;
步骤1.5:重复步骤1.2~步骤1.4,直到读取完.asm格式文件中的所有二进制序列。
所述步骤2包括:
步骤2.1:按照行读取方式读取.asm格式文件中的.text代码段中的内容;
步骤2.2:按照十六进制方式对读取到的内容进行转换;
步骤2.3:利用正则表达式匹配每行读取的内容,从匹配得到的指令中提取出操作码;
步骤2.4:重复步骤2.1~步骤2.3,直到读取完.asm格式文件中的所有操作码,得到操作码序列。
所述步骤3包括;
步骤3.1:分别读取操作码序列特征f1、读取灰度图像特征f2;
步骤3.2:读取恶意代码的标签文件labels;
步骤3.3:通过恶意代码的ID找到对应的两种特征;
步骤3.4:将操作码序列特征向量叠加在灰度图像特征向量的末尾,通过函数pandas.merge()进行融合;
步骤3.5:通过恶意代码的ID找到对应的标签,将两者的标签通过函数pandas.merge()进行融合,得到融合后的带标签的融合特征f。
所述步骤4中改进的CNN网络结构共12层,包括恶意代码输入层,4个卷积层、3个池化层、增加层、全连接层、softmax层和输出层;输入层之后连接卷积层,前3个卷积层之后分别连接1个池化层,在最大池化层的池化窗口中进行特征元素的概率统计,并按照概率值大小随机选择,最后一个卷积层之后连接增加层,所述增加层根据空间金字塔层原理设计,通过增加层选择不同的池化窗口实现固定特征数的输出,增加层之后连接全连接层,全连接层通过整合增加层输出的局部特征,最终将整合结果输入到softmax层进行种类判别。
本发明的有益效果是:
本发明提出了一种基于改进CNN网络的恶意代码检测方法,通过图像化技术将恶意代码转换成灰度图像特征,再通过基于统计语言模型的算法(N-Gram技术)提取恶意代码的操作码序列特征,通过特征融合技术将全局特征和局部特征进行特征融合,得到的融合特征输入到改进的卷积神经网络模型训练并选用合适的分类器进行检测。该方法实现了自动及深层次的特征提取,解决了恶意代码快速增长及变形的问题。针对恶意代码检测的静态和多层特征,采用图像化和特征融合来设计检测算法,提高了其检测速度,从而提高了其准确度。
附图说明
图1为本发明中基于改进CNN网络的恶意代码检测方法流程图;
图2为本发明中改进的CNN网络结构图;
图3为本发明中增加层的特征提取过程示意图;
图4为本发明中操作码序列的实验仿真图;
图5为本发明中灰度图像的仿真图;
图6为本发明中单一特征与融合特征的仿真图;
图7为本发明与LR、KNN、SVM三种机器学习算法的四个指标的对比分析图;
图8为本发明中本发明方法与其他方法检测结果的对比图。
具体实施方式
下面结合附图和具体实施实例对发明做进一步说明。针对恶意代码变种以及特征单一性等传统检测不足等问题,提出一种基于改进CNN网络的恶意代码检测方法,该方法结合特征融合和深度学习算法,如图1所示,包括:
步骤1:提取检测代码的灰度图像特征;包括:
步骤1.1:将待检测代码经过汇编语言反编译,得到.asm格式的文件;
步骤1.2:以8bit为一个单位,依次读取.asm格式文件中的二进制序列;
步骤1.3:将每个单位的二进制序列转换成一个无符号的十进制数字形式;该十进制的范围在0-255之间,不同的数值代表图像中任意一个像素值,0表示黑色,255表示白色,其他数值介于黑白之间的颜色;
步骤1.4:将得到的十进制数值转换成一个二维数组;
步骤1.5:重复步骤1.2~步骤1.4,直到读取完.asm格式文件中的所有二进制序列;
步骤2:提取.asm格式文件中的操作码序列特征;包括:
步骤2.1:操作码存在于.asm文件中.text代码段中,按照行读取方式读取.asm格式文件中的.text代码段中的内容;
步骤2.2:按照十六进制方式对读取到的内容进行转换;
步骤2.3:利用正则表达式匹配每行读取的内容,匹配到的内容是包含一条完整的操作指令,或是包含操作码和操作指令,从匹配得到的指令中提取出操作码;
步骤2.4:重复步骤2.1~步骤2.3,直到读取完.asm格式文件中的所有操作码,得到操作码序列;
步骤3:将操作码的局部特征和灰度图的全局特征进行融合,得到融合后的融合特征,通过对两种特征进行融合,实现高性能的恶意代码分类检测方法;括;
步骤3.1:分别读取操作码序列特征f1、读取灰度图像特征f2;
步骤3.2:读取恶意代码的标签文件labels;
步骤3.3:通过恶意代码的ID找到对应的两种特征;
步骤3.4:将操作码序列特征向量叠加在灰度图像特征向量的末尾,通过函数pandas.merge()进行融合;
步骤3.5:通过恶意代码的ID找到对应的标签,将两者的标签通过函数pandas.merge()进行融合,得到融合后的带标签的融合特征f;
卷积神经网络CNN作为一种典型的深层神经网络,广泛应用于计算机视觉领域和图像相关任务中,最显著的特点是通过在空间中共享权重、局部连接减少了大量的计算,CNN直接以原始图像作为输入,输出端到端结构的分类或回归结果,并利用反向传播算法训练CNN的神经元权值。CNN的优点是通过局部连接和权值共享来减少网络训练过程的参数,但是CNN网络要求输入的图像尺寸是固定大小的。
在检测中,特征选择的优劣决定了恶意软代码检测的准确率,对于特征的选择,仅仅通过局部的特征进行检测,或者通过全局特征进行检测,都有可以存在特征的表述不全面问题。而目前的广泛的恶意代码检测研究中,将多种特征融合思想已经得到一定的成效,同时也能提高检测的准确率,因此,需要对CNN进行适应性改进。
步骤4:构建改进的CNN网络结构,利用融合特征作为训练样本对改进的CNN网络进行训练;所述改进的CNN网络结构共12层,包括恶意代码输入层,4个卷积层、3个池化层、增加层、全连接层、softmax层和输出层;输入层之后连接卷积层,前3个卷积层之后分别连接1个池化层,在最大池化层的池化窗口中进行特征元素的概率统计,并按照概率值大小随机选择,最后一个卷积层之后连接增加层,所述增加层根据空间金字塔层原理设计,通过增加层选择不同的池化窗口实现固定特征数的输出,增加层之后连接全连接层,全连接层通过整合增加层输出的局部特征,最终将整合结果输入到softmax层进行种类判别。
改进的CNN网络结构如图2所示,首先,输入层输入的是融合的特征,卷积层对输入的特征进行提取,通过网络的权值共享功能减少网络参数,保留灰度图像的主要特征;池化层位于卷积层的后面,对卷积层输出的特征图进行特征选择,进行多次卷积池化处理得到最为有效的特征;增加层可以通过选择不同的池化窗口实现固定特征数的输出;全连接层可以整合增加层输出的局部特征,最终将整合结果输入到softmax层进行种类判,最终实现恶意代码的检测。
1)卷积层是对输入数据进行处理的第一层,主要功能是对输入的灰度图像进行特征的提取,通过网络的权值共享功能能够减少网络参数,保留灰度图像的主要特征,同时也能够减低噪声的影响。卷积层中的每个神经元与上一层输出的卷积值的系数相连接,卷积层操作计算如下:
2)池化层是对卷积层的输出结果进行处理操作的一层,主要功能是对卷积层的输出进行特征选择,过滤掉无关的信息,实现数据的降低维度作用,减小对图像变形的影响,也可以使图像特征的维度减少,提高模型的准确性。卷池化层的操作计算如下:
增加层依据空间金字塔层的原理,对其进行改进,该层位于全连接层之前,最后的卷积层之后。首先,卷积神经网络的输入标准是固定大小的,其次,恶意代码的反汇编文件因为其信息存储大小不同而导致,那么,转换成的灰度图像也是不同大小的,因此,不能符合网络模型的输入标准。但是,网络模型的输入标准是由全连接层决定的,全连接层的神经元是固定的,是与前一层神经元的全连接,那么,只要在全连接层之前保证灰度图像特征的尺寸大小,就可以实现图像输入的标准。
具体的实现步骤如下:
1.对卷积层的输出进行多次多个池化操作,即分别对池化层的输出进行改进的池化操作;
2.对池化后的特征图进行规范化处理;
3.将得到的三幅特征图进行级联;
4.得到同一大小的输出特征图。
图3说明了设计的增加层的功能,依照此图为例,实现输入一张任意大小特征图的时候,希望提取出9个特征。首先,对输入的图片进行了三种不同大小的池化窗口选择,即对一张输入的图片进行了划分,最后总共可以得到4+4+1=9个块,从这9个块中,每个块提取出一个特征,这样刚好就是我们要提取的9个特征。增加层的改进池化的过程,是分别计算9个图片块中的池化值,将其级联得到9维特征向量,输入到全连接层中。
4)全连接层中的每个神经元都与上一层神经元进行全连接,全连接层可以整合卷积层或者池化层中的局部特征,如下:
xl=∑al-1*Wl+bl
式中,a表示上一层的输出;W表示权重;b表示偏置。
5)softmax作为分类器,作为最后的结构层次,实现对提取后的特征进行恶意代码检测的功能。softmax层的神经元的激活函数是softmax函数,将结果映射在0到1的区间内,映射后的值是每个类别出现的概率,使所有出现类别的概率相加为1。本文softmax层的输出是9维矢量,标注其为公式:
式中,θ表示神经网络的参数矩阵;p(y|x,θ)表示类别为的概率,取该值最大的类别作为目标类别,也就是检测的结果。
网络模型的输入标准是由全连接层决定的,全连接层的神经元是固定的,是与前一层神经元的全连接,本文在全连接层之前添加一层,保证了灰度图像特征的尺寸大小。改进后的CNN解决了大小不同的恶意代码文件转化成的二维图像尺寸的限制。
利用改进后的CNN自动提取恶意代码的深层特征,以表示出不同恶意代码的全面的特征,提高恶意代码分类的能力,实验中通过不断的试验和调整参数,优化的FF-MICNN的网络结构。实验中调整的参数包括学习率、迭代次数等,每个参数的调整均是在其它参数不变的情况下,调整单个参数,然后选择泛化能力最优的参数,将其作为固定参数,然后调整下一个参数。以此类推,直到所有参数全部调整优化完,就得到了网络结构的一组最优参数组。
步骤5:利用训练后的改进CNN网络检测恶意代码。
下面通过比较单一特征与融合特征仿真结果,来说明本发明改进的CNN(简称FF-MICNN)的有效性:
本实施例选取的恶意代码种类及数量情况如表1所示,其中包含9个不同种类的恶意代码,10867个样本已标注标签。
表1恶意代码的种类及数量情况
为了方便的、定量的分析恶意代码的检测效果,本文实验均使用统一的评估指标,准确率accuracy、精确率precision、召回率recall、f1来评估模型的相关性能。四个评估指标的计算公式分别如下:
其中,TP表示将某类恶意代码样本正确分到该类的样本数量;TN表示将其他类的恶意代码样本正确的分到其他类的恶意代码的样本量;FP表示某类恶意代码样本错误的分到其他类中的样本数量;FN表示其他类恶意代码样本错误的分到该类的恶意代码样本量。
如图4所示,本文选取传统的机器学习算法、深度置信网络算法、CNN算法与本文提出的FF-MICNN算法进行比较分析可以得到,在不同的N-Gram的频率次数下,各个模型的检测能力各不相同,但是,从图4的整体来看,本文模型的检测能力比其他模型检测能力相对较好且操作码序列在深度学习模型上的检测是效的;图中,LR表示逻辑回归算法(LogisticRegression);SVM表示支持向量机(support vector machine);KNN表示K-近邻算法。
图5说明了灰度图像特征在FF-MICNN网络模型与其他网络模型上的仿真结果,本文提出的网络模型比其他模型要更加平稳,准确率也趋于平稳状态,准确率高于其他网络模型的准确率,也更具有平稳性。
通过观察图6可知,特征融合的检测准确率始终位于单一特征的检测曲线的上面,说明融合特征检测要好于单一特征检测。
首先,为了验证该模型的融合检测能力,本文先选择LR、KNN、SVM三种机器学习算法与本文提出的FF-MICNN算法进行对比,验证模型在恶意代码检测上有更好的表现,实验结果如图7所示。
在图7中,分别对准确率、f1值、召回率、精确率四个指标进行对比分析,本实验在四个指标的表现能力上均取得良好的效果。其中准确率指标最能体现本实验的检测能力,比传统的机器学习算法效果好,其他指标也达到与之比较相同的程度。本发明方法在准确率指标的实验上有所提升,由此可知,本发明方法在恶意代码特征提取方面,具有一定的优势,可以自动学习并提取出深层次的特征,与机器学习算法提取表面层次的特征不同。反映出本发明方法对恶意代码的检测能力,能够准确且稳定的实现恶意代码的检测。
本发明方法选取不同神经网络模型算法与本方法进行实验仿真,从图8可知,本文提出的模型具有稳定且高准确的特点,平均准确率和最大准确率均高于其他三个模型的准确率。图8中RF表示随机森林算法,combined表示组合神经网络模型算法,本文选取的两种特征与其他方法选取的特征相比,具有很高的检测准确率,验证了本文选择的两种特征能够很好的表达出恶意代码的全局和局部特征,几乎所有的恶意代码特征都能被提取出来进行检测,即FF-MICNN模型提取出的两种融合特征能够实现恶意代码特征的全面表示,对模型后面的分类检测具有一定的提升作用。
综上所述,本发明方法对于恶意样本种类检测具有一定的意义,它不仅提供了一种时间少且消耗资源少的检测方法,而且还不受制于恶意代码的数量和种类,能够解决恶意代码爆炸式的增长且难以分析的问题。
Claims (5)
1.一种基于改进CNN网络的恶意代码检测方法,其特征在于,包括:
步骤1:提取检测代码的灰度图像特征;
步骤2:提取.asm格式文件中的操作码序列特征;
步骤3:将操作码的局部特征和灰度图的全局特征进行融合,得到融合后的融合特征;
步骤4:构建改进的CNN网络结构,利用融合特征作为训练样本对改进的CNN网络进行训练;
步骤5:利用训练后的改进CNN网络检测恶意代码。
2.根据权利要求1所述的一种基于改进CNN网络的恶意代码检测方法,其特征在于,所述步骤1包括:
步骤1.1:将待检测代码经过汇编语言反编译,得到.asm格式的文件;
步骤1.2:以8bit为一个单位,依次读取.asm格式文件中的二进制序列;
步骤1.3:将每个单位的二进制序列转换成一个无符号的十进制数字形式;
步骤1.4:将得到的十进制数值转换成一个二维数组;
步骤1.5:重复步骤1.2~步骤1.4,直到读取完.asm格式文件中的所有二进制序列。
3.根据权利要求1所述的一种基于改进CNN网络的恶意代码检测方法,其特征在于,所述步骤2包括:
步骤2.1:按照行读取方式读取.asm格式文件中的.text代码段中的内容;
步骤2.2:按照十六进制方式对读取到的内容进行转换;
步骤2.3:利用正则表达式匹配每行读取的内容,从匹配得到的指令中提取出操作码;
步骤2.4:重复步骤2.1~步骤2.3,直到读取完.asm格式文件中的所有操作码,得到操作码序列。
4.根据权利要求1所述的一种基于改进CNN网络的恶意代码检测方法,其特征在于,所述步骤3包括;
步骤3.1:分别读取操作码序列特征f1、读取灰度图像特征f2;
步骤3.2:读取恶意代码的标签文件labels;
步骤3.3:通过恶意代码的ID找到对应的两种特征;
步骤3.4:将操作码序列特征向量叠加在灰度图像特征向量的末尾,通过函数pandas.merge()进行融合;
步骤3.5:通过恶意代码的ID找到对应的标签,将两者的标签通过函数pandas.merge()进行融合,得到融合后的带标签的融合特征f。
5.根据权利要求1所述的一种基于改进CNN网络的恶意代码检测方法,其特征在于,所述步骤4中改进的CNN网络结构共12层,包括恶意代码输入层,4个卷积层、3个池化层、增加层、全连接层、softmax层和输出层;输入层之后连接卷积层,前3个卷积层之后分别连接1个池化层,在最大池化层的池化窗口中进行特征元素的概率统计,并按照概率值大小随机选择,最后一个卷积层之后连接增加层,所述增加层根据空间金字塔层原理设计,通过增加层选择不同的池化窗口实现固定特征数的输出,增加层之后连接全连接层,全连接层通过整合增加层输出的局部特征,最终将整合结果输入到softmax层进行种类判别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111119216.6A CN113806746B (zh) | 2021-09-24 | 2021-09-24 | 基于改进cnn网络的恶意代码检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111119216.6A CN113806746B (zh) | 2021-09-24 | 2021-09-24 | 基于改进cnn网络的恶意代码检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113806746A true CN113806746A (zh) | 2021-12-17 |
CN113806746B CN113806746B (zh) | 2024-03-22 |
Family
ID=78896522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111119216.6A Active CN113806746B (zh) | 2021-09-24 | 2021-09-24 | 基于改进cnn网络的恶意代码检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806746B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114511330A (zh) * | 2022-04-18 | 2022-05-17 | 山东省计算中心(国家超级计算济南中心) | 一种基于改进的cnn-rf的以太坊庞氏骗局检测方法及系统 |
CN114510721A (zh) * | 2022-02-18 | 2022-05-17 | 哈尔滨工程大学 | 一种基于特征融合的静态恶意代码分类方法 |
CN114741697A (zh) * | 2022-04-22 | 2022-07-12 | 中国电信股份有限公司 | 恶意代码分类方法、装置、电子设备和介质 |
CN114896598A (zh) * | 2022-05-11 | 2022-08-12 | 武汉科技大学 | 一种基于卷积神经网络的恶意代码检测方法 |
CN116226854A (zh) * | 2023-05-06 | 2023-06-06 | 江西萤火虫微电子科技有限公司 | 恶意软件检测方法、系统、可读存储介质及计算机 |
CN116340944A (zh) * | 2023-05-29 | 2023-06-27 | 山东省计算中心(国家超级计算济南中心) | 基于rgb图像和轻量化模型的恶意代码分类方法及系统 |
CN116861431A (zh) * | 2023-09-05 | 2023-10-10 | 国网山东省电力公司信息通信公司 | 基于多通道图像和神经网络的恶意软件分类方法及系统 |
CN117978517A (zh) * | 2024-02-22 | 2024-05-03 | 国网甘肃省电力公司电力科学研究院 | 一种基于电力监控系统的网络攻击态势智能识别方法 |
CN118199941A (zh) * | 2024-03-04 | 2024-06-14 | 北京中科网芯科技有限公司 | 一种网络可视化方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609399A (zh) * | 2017-09-09 | 2018-01-19 | 北京工业大学 | 基于nin神经网络的恶意代码变种检测方法 |
US20180285740A1 (en) * | 2017-04-03 | 2018-10-04 | Royal Bank Of Canada | Systems and methods for malicious code detection |
KR20190040755A (ko) * | 2017-10-11 | 2019-04-19 | 한국전자통신연구원 | 파일 이미지를 이용한 악성코드 탐지 방법 및 이를 위한 장치 |
US20190163904A1 (en) * | 2017-05-24 | 2019-05-30 | Estsecurity Corp. | Apparatus for detecting variants of malicious code based on neural network learning, method therefor and computer readable recording medium storing program for performing the method |
US20190275744A1 (en) * | 2018-03-07 | 2019-09-12 | New York University | System and method for malware detection in additive manufactured parts |
CN110765458A (zh) * | 2019-09-19 | 2020-02-07 | 浙江工业大学 | 一种基于深度学习的恶意软件检测方法及其装置 |
KR102144914B1 (ko) * | 2020-02-20 | 2020-08-14 | 주식회사 에프원시큐리티 | 인공지능 학습을 위한 pe 명령코드의 왜곡 없는 이미지를 생성하는 악성코드 탐지 방법 및 장치 |
CN112182577A (zh) * | 2020-10-14 | 2021-01-05 | 哈尔滨工程大学 | 一种基于深度学习的安卓恶意代码检测方法 |
CN113360911A (zh) * | 2021-07-22 | 2021-09-07 | 北京天融信网络安全技术有限公司 | 恶意代码同源分析方法、装置、计算机设备和存储介质 |
CN113420294A (zh) * | 2021-06-25 | 2021-09-21 | 杭州电子科技大学 | 基于多尺度卷积神经网络的恶意代码检测方法 |
-
2021
- 2021-09-24 CN CN202111119216.6A patent/CN113806746B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285740A1 (en) * | 2017-04-03 | 2018-10-04 | Royal Bank Of Canada | Systems and methods for malicious code detection |
US20190163904A1 (en) * | 2017-05-24 | 2019-05-30 | Estsecurity Corp. | Apparatus for detecting variants of malicious code based on neural network learning, method therefor and computer readable recording medium storing program for performing the method |
CN107609399A (zh) * | 2017-09-09 | 2018-01-19 | 北京工业大学 | 基于nin神经网络的恶意代码变种检测方法 |
KR20190040755A (ko) * | 2017-10-11 | 2019-04-19 | 한국전자통신연구원 | 파일 이미지를 이용한 악성코드 탐지 방법 및 이를 위한 장치 |
US20190275744A1 (en) * | 2018-03-07 | 2019-09-12 | New York University | System and method for malware detection in additive manufactured parts |
CN110765458A (zh) * | 2019-09-19 | 2020-02-07 | 浙江工业大学 | 一种基于深度学习的恶意软件检测方法及其装置 |
KR102144914B1 (ko) * | 2020-02-20 | 2020-08-14 | 주식회사 에프원시큐리티 | 인공지능 학습을 위한 pe 명령코드의 왜곡 없는 이미지를 생성하는 악성코드 탐지 방법 및 장치 |
CN112182577A (zh) * | 2020-10-14 | 2021-01-05 | 哈尔滨工程大学 | 一种基于深度学习的安卓恶意代码检测方法 |
CN113420294A (zh) * | 2021-06-25 | 2021-09-21 | 杭州电子科技大学 | 基于多尺度卷积神经网络的恶意代码检测方法 |
CN113360911A (zh) * | 2021-07-22 | 2021-09-07 | 北京天融信网络安全技术有限公司 | 恶意代码同源分析方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
唐永旺;王刚;魏晗;: "基于改进卷积神经网络的恶意代码检测技术", 信息工程大学学报, no. 02 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114510721A (zh) * | 2022-02-18 | 2022-05-17 | 哈尔滨工程大学 | 一种基于特征融合的静态恶意代码分类方法 |
CN114511330A (zh) * | 2022-04-18 | 2022-05-17 | 山东省计算中心(国家超级计算济南中心) | 一种基于改进的cnn-rf的以太坊庞氏骗局检测方法及系统 |
CN114511330B (zh) * | 2022-04-18 | 2022-12-13 | 山东省计算中心(国家超级计算济南中心) | 一种基于改进的cnn-rf的以太坊庞氏骗局检测方法及系统 |
CN114741697B (zh) * | 2022-04-22 | 2023-10-13 | 中国电信股份有限公司 | 恶意代码分类方法、装置、电子设备和介质 |
CN114741697A (zh) * | 2022-04-22 | 2022-07-12 | 中国电信股份有限公司 | 恶意代码分类方法、装置、电子设备和介质 |
CN114896598A (zh) * | 2022-05-11 | 2022-08-12 | 武汉科技大学 | 一种基于卷积神经网络的恶意代码检测方法 |
CN114896598B (zh) * | 2022-05-11 | 2024-05-21 | 武汉科技大学 | 一种基于卷积神经网络的恶意代码检测方法 |
CN116226854A (zh) * | 2023-05-06 | 2023-06-06 | 江西萤火虫微电子科技有限公司 | 恶意软件检测方法、系统、可读存储介质及计算机 |
CN116340944A (zh) * | 2023-05-29 | 2023-06-27 | 山东省计算中心(国家超级计算济南中心) | 基于rgb图像和轻量化模型的恶意代码分类方法及系统 |
CN116340944B (zh) * | 2023-05-29 | 2023-08-18 | 山东省计算中心(国家超级计算济南中心) | 基于rgb图像和轻量化模型的恶意代码分类方法及系统 |
CN116861431A (zh) * | 2023-09-05 | 2023-10-10 | 国网山东省电力公司信息通信公司 | 基于多通道图像和神经网络的恶意软件分类方法及系统 |
CN116861431B (zh) * | 2023-09-05 | 2023-11-21 | 国网山东省电力公司信息通信公司 | 基于多通道图像和神经网络的恶意软件分类方法及系统 |
CN117978517A (zh) * | 2024-02-22 | 2024-05-03 | 国网甘肃省电力公司电力科学研究院 | 一种基于电力监控系统的网络攻击态势智能识别方法 |
CN118199941A (zh) * | 2024-03-04 | 2024-06-14 | 北京中科网芯科技有限公司 | 一种网络可视化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113806746B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113806746B (zh) | 基于改进cnn网络的恶意代码检测方法 | |
Yu et al. | CloudLeak: Large-Scale Deep Learning Models Stealing Through Adversarial Examples. | |
CN111753881B (zh) | 一种基于概念敏感性量化识别对抗攻击的防御方法 | |
CN110048827B (zh) | 一种基于深度学习卷积神经网络的类模板攻击方法 | |
CN113076994B (zh) | 一种开集域自适应图像分类方法及系统 | |
CN110222140A (zh) | 一种基于对抗学习和非对称哈希的跨模态检索方法 | |
CN113657450B (zh) | 基于注意机制的陆战场图像-文本跨模态检索方法及其系统 | |
Zhao et al. | A malware detection method of code texture visualization based on an improved faster RCNN combining transfer learning | |
CN110175248B (zh) | 一种基于深度学习和哈希编码的人脸图像检索方法和装置 | |
CN111259397B (zh) | 一种基于马尔科夫图和深度学习的恶意软件分类方法 | |
CN109033833B (zh) | 一种基于多特征与特征选择的恶意代码分类方法 | |
CN113269228B (zh) | 一种图网络分类模型的训练方法、装置、系统及电子设备 | |
CN114255403A (zh) | 基于深度学习的光学遥感图像数据处理方法及系统 | |
CN113901448B (zh) | 基于卷积神经网络和轻量级梯度提升机的入侵检测方法 | |
CN113194094B (zh) | 一种基于神经网络的异常流量检测方法 | |
CN111404942A (zh) | 一种基于深度学习的垂直类恶意爬虫流量识别方法 | |
CN114780767A (zh) | 一种基于深度卷积神经网络的大规模图像检索方法及系统 | |
CN115811440B (zh) | 一种基于网络态势感知的实时流量检测方法 | |
CN116633601A (zh) | 一种基于网络流量态势感知的检测方法 | |
CN111130942A (zh) | 一种基于消息大小分析的应用流量识别方法 | |
CN114299305A (zh) | 聚合密集和注意力多尺度特征的显著性目标检测算法 | |
CN117201082A (zh) | 融合TextCNN和GAN的网络入侵检测方法 | |
Wen et al. | DCN: detector-corrector network against evasion attacks on deep neural networks | |
CN115310083A (zh) | 一种基于对比学习的恶意软件鲁棒识别方法 | |
Chemmakha et al. | A Novel Hybrid Architecture of Conditional Tabular Generative Adversarial Network and 1D Convolution Neural Network for Enhanced Attack Detection in IoT Systems |
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 |