CN111651762A - 一种基于卷积神经网络的pe恶意软件检测方法 - Google Patents
一种基于卷积神经网络的pe恶意软件检测方法 Download PDFInfo
- Publication number
- CN111651762A CN111651762A CN202010317111.0A CN202010317111A CN111651762A CN 111651762 A CN111651762 A CN 111651762A CN 202010317111 A CN202010317111 A CN 202010317111A CN 111651762 A CN111651762 A CN 111651762A
- Authority
- CN
- China
- Prior art keywords
- model
- software
- sample
- neural network
- byte
- 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.)
- Pending
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 7
- 238000013140 knowledge distillation Methods 0.000 claims abstract description 6
- 238000004458 analytical method Methods 0.000 claims abstract description 5
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000013145 classification model Methods 0.000 claims description 6
- 238000003062 neural network model Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000003042 antagnostic effect Effects 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 238000002156 mixing Methods 0.000 claims description 3
- 238000002715 modification method Methods 0.000 claims description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 2
- 238000007689 inspection Methods 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000007423 decrease Effects 0.000 claims 1
- 238000013210 evaluation model Methods 0.000 claims 1
- 238000013507 mapping Methods 0.000 claims 1
- 238000012935 Averaging Methods 0.000 abstract 1
- 238000013135 deep learning Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning 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
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Virology (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于卷积神经网络的PE恶意软件检测方法,通过引入深度可分离卷积结构、空洞卷积、知识蒸馏等方法在保证准确率的前提下大幅提高恶意软件检测速率。本发明使用一个基于PE软件结构分析的模块,来判定PE软件中可以进行字节填充以生成对抗样本的部分,使得能够在PE软件中间填充字节生成对抗样本;接着通过半黑盒攻击的快速梯度下降算法产生对抗样本所需的迭代次数对样本集的平均来评估模型鲁棒性。最后本发明还可提供逻辑配对和权重参数非负训练两种方法来提升模型的鲁棒性,使得模型在保持较高检测准确率的前提下对对抗样本有一定的抵御能力。
Description
技术领域
本发明属于网络安全领域,涉及深度学习和恶意软件检测的交叉领域,尤其涉及一种基于卷积神经网络的PE恶意软件检测方法,着重于该领域内模型检测鲁棒性的评估和改进的方法与相应模块设计。
背景技术
随着深度学习在图像方面大放异彩,越来越多的行业希望借由深度学习技术为本领域赋能,网络安全正是其中之一。深度学习在原先机器学习的基础上,通过多层神经网络自动提取特征,免去了人工设计特征的步骤,同时能够更加充分的利用原始数据,对于大部分恶意软件的简单变种有着较好的检测效果。因此,网络安全界的研究人员做出了不少研究,Rezende,E.Ruppert,G.Carvalho,et al(2017).Malicious Software ClassificationUsing Transfer Learning of ResNet-50 Deep Neural Network.将恶意软件机器码转化为二维灰度图的形式,并使用迁移学习的方法直接将训练好的ResNet-50在恶意软件样本集上进行训练。国内瀚思科技也使用inception-V4网络结构和更轻量级的SqueezeNet进行类似的训练,并构建对应的恶意软件检测系统。这些研究是比较早期的借鉴图像领域的方法。存在的问题是图像分类领域和恶意软件分类领域本身是有较大差别的,使用图像模型预训练的权重下,有一定可能导致优化器难以将损失函数优化到一个比较好的位置。另一个方面的问题是,恶意软件的二进制代码从形式上来说更接近于自然语言文本的一维结构而并非图像的二维结构。将其做二维化可能会引入额外的结构信息。
为了解决上述的两个问题,在Raff,Edward&Barker,Jon&Sylvester,Jared&Brandon,Robert&Catanzaro,Bryan&Nicholas,Charles.(2017).Malware Detection byEating a Whole EXE.提出了一维度的基于门控卷积神经网络的模型Malconv来对恶意软件进行分类。该模型有着比较高的检测精确度,但是其计算复杂度比较高。尽管其在附录中提到使用更小的卷积核和更多的层数的类ResNet模型效果并没有Malconv好,但这个问题可以通过知识蒸馏的方式使得采用精简结构的神经网络也保持有近似的准确率和更高的检测效率。
基于深度学习的恶意软件检测方法虽然不需要人工设计特征,但原始数据的高维度和基于梯度的优化方法却带来了其他的麻烦。即深度学习的模型非常容易受到对抗样本的攻击。对抗样本是通过将模型参数固定,通过反向梯度传播去更新样本来生成的。对于图像而言即是改变像素点的RGB值,对于恶意软件检测,是在不影响恶意软件功能的前提下,对可改变的二进制字节进行填充或是修改。Kolosnjaji,Bojan&Demontis,Ambra&Biggio,Battista&Maiorca,Davide&Giacinto,Giorgio&Eckert,Claudia&Roli,Fabio.(2018).Adversarial Mal-ware Binaries:Evading Deep Learning for Malware Detection inExecutables.给出了一种在PE恶意软件末端添加额外字节(Overlay)来使得恶意样本骗过深度学习检测模型。其另外提到了可以在PE软件中添加字节段(Section),但未给出具体的实现方法。同时其对模型的鲁棒性评估方式没有给出一个很好地解决方案。
一种基于深度学习的恶意软件检测方法(CN 109784056A)提出了对整个PE软件和PE软件中的.text字段做哈希的方法来过滤掉对抗样本,这种方法可以非常完美地应对基于Overlay字节填充生成的对抗样本,但是这种方法需要记录每个恶意软件的哈希结果,其复杂度为O(n),即随着检测出来的恶意软件数目的增长,该过滤器的计算成本也呈线性增长,这在面对数以百万计的恶意软件威胁时是难以接受的。同时这种方法也难以过滤基于冗余空间生成的恶意样本。面向恶意软件汇编格式检测模型的黑盒攻击的防御方法(CN110633570A)通过单纯地对抗训练来增强模型对对抗样本的识别率,有一定的作用,但是没有充分利用原样本与生成的对抗样本之间的联系,存在进一步改进的空间。
发明内容
本发明公开了一种基于卷积神经网络的PE恶意软件检测方法,使用精简的卷积结构的深度学习模型提高检测效率,并在此基础上,提出在PE软件中间使用快速梯度下降算法生成对抗样本的方法,并给出了一个较为完整的评价深度学习恶意软件检测模型鲁棒性的模块。最后,本发明使用权重非负约束的训练方式来改进模型对对抗样本的准确率,同时借助逻辑配对的方法更好的利用对抗样本和原始样本之间的关系进行重训练,相比起单纯的将对抗样本添入数据集有更好的效果。
为解决上述技术问题,本发明采用以下技术方案:
一种基于卷积神经网络的PE恶意软件检测方法,包括如下:
步骤1:对原始样本进行预处理,构建数据集,获得训练集、验证集、测试集;
步骤2:构建神经网络分类模型:使用类似Resnet的多层残差结构,通过多个Block块的叠加来构造网络,对于每一个块内采用深度可分离卷积的方式,在块的入口和出口通过1*1的卷积核来变换通道层Channel的数目,通过传统卷积核的卷积结果和空洞卷积核的卷积结果在通道层叠加的方式来增加神经网络每一层的感受野;
步骤3:评估模型鲁棒性:通过半黑盒攻击的快速梯度下降算法产生对抗样本所需的平均迭代次数以及给定迭代次数内生成对抗样本的成功率,来作为模型鲁棒性的评判标准。
具体如下:
一、对原始样本进行预处理,构建数据集
对收集到的PE恶意软件,先进行加壳检查,对于有壳的恶意软件,使用对应的脱壳器进行脱壳处理。对于无法识别的壳或是无法进行脱壳处理的恶意软件,将其过滤掉,转交人工分析或是动态分析处理。将处理后的PE恶意软件打上恶意标签,如果有具体的恶意软件家族类别,则以家族类别做标签。对于正常的PE软件打上正常标签后与过滤后的恶意软件混合,对于数据集中每一个软件,通过PE软件格式解析获得的其节地址、空闲空间地址等重要属性。之后通过末尾填充0字节和截断的方式使所有软件的二进制代码长度统一到一个定值(例如2Mb)。将得到的数据以0.8:0.1:0.1的比例分为训练集,验证集,测试集。
二、设计分类网络模型
本发明主要使用类似Resnet的多层残差结构,通过多个块(Block)的叠加来构造较深的网络,以获取较强的表达能力。对于每一个块内,借鉴深度可分离卷积的方式,在块的入口和出口通过1*1的卷积核来变换通道层(Channel)的数目。使用较小的卷积核并通过传统卷积核的卷积结果和空洞卷积核的卷积结果在通道层叠加的方式来增加神经网络每一层的感受野,卷积的方式采用Depth-wise的方式以减小计算量。此外,为了充分利用已有研究的优势,提供了知识蒸馏的方式进一步提升模型的精确率,当在一些样本集上,可能会出现与前文所述MalConv相比我们设计的精简网络有较高准确率时,这种方法能够将MalConv学到的一些隐知识传递到我们设计的神经网络中。
三、模型鲁棒性评估
除了简单地在软件末尾填充字节,PE软件格式还存在其他可以利用的空间,能够在不改变软件功能的情况下,进行字节的修改或填充。例如利用PE软件的冗余空间,这是PE的节在进行2的整数幂字节对齐时所多出来的为全0的空间。同时,通过新加节段的方法也能够在PE软件中进行字节填充。上述方法总体而言可以分为两种类型,一是以冗余空间二进制代码修改为首的字节段修改类型,这种方法对每个恶意软件都是不同的,可修改的字节段往往也有长度限制。另外两种填充方法可以归为添加字节类型,只不过利用新加节段的方法还需要对PE头的一些信息进行修改。对于这类方法,我们默认填充的字节为一个定长,例如10KB。将这两类方法中可供操作的字节部分记为B。我们通过额外训练一个与原网络结构相同,但初始化权重不同的网络。并基于该网络对能够被分类正确的恶意样本使用FGSM算法,在更改字节时,只对B中字节进行更改。通过迭代生成对抗样本所需的平均迭代次数以及给定迭代次数内生成对抗样本的成功率,来作为模型鲁棒性的评判标准。这种方法与图像领域通过L2范数或是无穷范数内对抗样本生成的成功率相比更适用于网络安全领域。
四、模型鲁棒性改进方法
本发明中,提供两种方法来在一定程度上提高模型的鲁棒性,一种是逻辑配对的方法,它使得对抗样本与原样本的softmax层结果尽可能的接近,从而更好地利用两者之间的关联来优化模型。另一种方法是对网络的权重进行非负限制,这会使得字节的修改大概率会导致判定的结果朝着恶意软件的方向倾斜。
本发明与背景技术相比,具有的技术优势是:
1.本发明使用残差结构和空洞卷积来增加模型表达力,使用深度可分离卷积来减少每一层的模型计算量,同时使用知识蒸馏技术,能够利用其他模型学到的隐知识来进一步增加识别准确率。在保证较高准确率的情况下有着较好的检测速率
2.本发明提出的针对恶意软件检测领域量化分析神经网络模型鲁棒性的方法,通过半黑盒攻击的快速梯度下降算法产生对抗样本所需的迭代次数对样本集的平均来评估神经网络模型鲁棒性,能够更好地对模型鲁棒性进行分析。能够使相关领域从业人员更好的评估深度学习方法在恶意软件检测领域潜在的风险。
3..本发明将两种新的提升神经网络模型鲁棒性的方式应用在了恶意软件检测当中,其中逻辑配对方法相较背景技术能够更好地利用原始样本和对抗样本之间的关联。
附图说明
图1是本发明的整体框架流程示意图;
图2是本发明所使用的卷积神经网络分类器的架构。
图3是本发明生成恶意软件对抗样本可用的填充字节段的说明图。
具体实施方案
下面结合附图和实例对本发明技术方案做进一步的说明。
第一步、对原始样本进行预处理,构建数据集:
步骤1.1从Virusshare等公共恶意软件平台上下载PE软件,使用PEID对加壳的恶意软件进行脱壳。收集大量正常PE软件。
步骤1.2对步骤1.1中,处理后的恶意软件,根据PE软件结构,提取其重要信息,主要包括PE软件每个节起始位置,每个节的实效尺寸(Virtual Size)等信息。
步骤1.3将1.1中的恶意软件和正常软件混合后,通过末尾填充0字节和截断的方式使所有软件的二进制代码长度统一到一个定值(例如2Mb)。以0.8:0.1:0.1的比例分为训练集,验证集,测试集。
第二步、构建神经网络分类模型
步骤2.1使用embedding层将二进制PE软件代码的0-255的离散值映射为一个四维的连续向量,该向量作为初始的通道层输入到后面的分类模型。
步骤2.2使用如附图2的神经网络结构构建卷积神经网络分类模型,其中附图2左边是模型的整体结构。附图2右边是每一个小的块的结构实现,使用深度可分离卷积的方法降低模型计算效率,计算量减少普通卷积的1/C,其中C为卷积输出的通道数。使用空洞卷积增加每一层的感受野。
步骤2.3使用softmax层作为最终的概率输出,并用交叉熵函数作为损失函数.式中下标label为实际类别的种类标量,表示输出向量中第label个元素。
L=-log(q(xlabel))(2)
使用Xavier作为全连接层的权重初始化,使用He-normal作为卷积核的权重初始化。使用Adam优化器和初始为0.001随迭代轮数递减的的学习速率进行20个轮次的迭代,之后使用SGD优化器进行损失极小值搜寻,并且每进行一轮迭代即在步骤1.3中的验证集上进行验证,直到验证集的平均交叉熵损失函数提升小于一个预定阈值。
步骤2.4对于步骤2.3训练所得的神经网络模型,在测试集上进行测试,输出检测结果的混淆矩阵,进而得到检测的精确率,查全率等结果。
步骤2.5图2中的虚线部分是使用知识蒸馏进一步提升步骤2.4中所得模型的精确率的方法。当使用计算量较大,表达能力更强的模型(例如Malconv)替换步骤2.2中的模型,并在步骤1.3的训练集上采取相同方法进行训练。之后将训练集每个样本作为输入,记录替代模型的Softmax层结果。将以下损失函数作为步骤2.3中的损失函数重新训练步骤2.2中的模型,其中p(xi)为替代模型Softmax层输出向量第i个类别对应的概率,q(xi)为步骤2.2中模型softmax层输出向量第i个类别对应的概率,l是数据集样本的总类别数。
再使用步骤2.2中的模型在训练集上训练,本步骤更加适用于多分类任务(即恶意软件按家族类别划分),对仅有恶意软件和正常软件两种类别的数据集并无明显提升。
第三步、模型鲁棒性评估
步骤3.1如附图3所示,利用步骤1.2中获取的PE软件结构信息。可以对PE软件进行字节填充,图中的深色部分为可以修改的字节段。其中,基于冗余空间的修改方法需要同时在节表修改每个节的实效尺寸。基于新增节的方法需要在节表中添加新增节名,新增节的实效尺寸,新增节的实效地址,新增节在软件中的存储大小和起始地址,新增节的属性等信息。对于在PE软件末尾添加的字节,无需对PE软件进行修改。
步骤3.2选取步骤3.1中所述的一种生成对抗样本的字节修改方法,对被步骤2.3训练后的模型可以正确检测出来的恶意软件样本M,维护一个与M相同长度的向量V,其中,步骤3.1中所有可以修改的字节段,V中对应位置的值为1,对于其他位置,V中对应位置的值为0。
步骤3.3对步骤2.2以训练好的模型Model,使用步骤2.3额外训练一个与其结构相同但是权重初始化值不同的模型Modelnew。对Modelnew使用快速梯度下降算法(FGSM)对步骤3.2中的恶意软件样本M经过词嵌入层的输出ME进行对抗样本梯度计算。如公式4所示。ME为输入的恶意软件样本经过词嵌入层后的输出,η代表对词嵌入后向量ME进行最优改动的方向,θ代表模型Modelnew的权重参数,y代表要改变成的类别,在该例子中,为正常样本所对应的类别。
步骤3.4对于V中所有为1的位置,计算ME中当前位置字节对应向量与词嵌入矩阵的向量差得到向量差矩阵,再将步骤3.3中的计算结果η与向量差矩阵中的每一个向量(对于字节码而言共有256个)进行向量夹角计算,将当前位置字节替换为夹角最小的向量所对应的字节。即是使字节改动后,词嵌入后的向量差值在梯度η方向上单位投影最大;
步骤3.5重复进行步骤3.4直到成功生成对于检测模型Model的对抗样本M’,或是迭代次数超过阈值。记录生成对抗样本所需的迭代次数,作为模型鲁棒性评估方式。如果存在迭代次数超过阈值的情况,则额外记录在指定的迭代次数内,生成对抗样本的成功率。
第四步、模型鲁棒性优化
步骤4.1对于步骤2.2中训练好的模型,在训练时对其权重进行额外的非负约束,即当模型更新时,如果该权重会更新为负值,则不对其进行更新。使用步骤3的流程重新进行鲁棒性评估。如果本步骤改进后,生成样本所需迭代次数增加,或是单位迭代次数内生成对抗样本成功率降低,则用本步骤所得的模型替代步骤2.2中模型。
步骤4.2对于步骤2.2或是步骤4.1的模型,对其按照步骤3的流程生成对抗样本,并在训练时同时输入对抗样本和其对应的原始样本,更改步骤2.3中的损失函数为以下公式,其中前半项代表使模型将对抗样本M’成功分类为正确样本的损失函数,后半项代表模型对两者输出的softmax结果的交叉熵。
L=L(M′,θ)+H(f(M,θ),f(M′,θ))(5)
如果本步骤改进后,生成样本所需迭代次数增加,或是单位迭代次数内生成对抗样本成功率降低,则用本步骤所得的模型替代步骤2.2或是步骤4.1中模型。
Claims (6)
1.一种基于卷积神经网络的PE恶意软件检测方法,其特征在于,该方法包括如下:
步骤1:对原始样本进行预处理,构建数据集,获得训练集、验证集、测试集;
步骤2:构建神经网络分类模型:使用类似Resnet的多层残差结构,通过多个Block块的叠加来构造网络,对于每一个块内采用深度可分离卷积的方式,在块的入口和出口通过1*1的卷积核来变换通道层Channel的数目,通过传统卷积核的卷积结果和空洞卷积核的卷积结果在通道层叠加的方式来增加神经网络每一层的感受野;
步骤3:评估模型鲁棒性:通过半黑盒攻击的快速梯度下降算法产生对抗样本所需的平均迭代次数以及给定迭代次数内生成对抗样本的成功率,来作为模型鲁棒性的评判标准。
2.根据权利要求1所述的基于卷积神经网络的PE恶意软件检测方法,其特征在于,步骤1所述的对原始样本进行预处理,具体如下:
对收集到的PE恶意软件,先进行加壳检查,对于有壳的恶意软件进行脱壳处理,对于无法识别的壳或是无法进行脱壳处理的恶意软件,将其过滤掉,转交人工分析或是动态分析处理;将处理后的PE恶意软件打上恶意标签,如果有具体的恶意软件家族类别,则以家族类别做标签,对于正常的PE软件打上正常标签后与过滤并标签处理后的恶意软件混合,对于数据集中每一个软件,通过PE软件格式解析获得的其节地址、空闲空间地址等重要属性,之后通过末尾填充0字节和截断的方式使所有软件的二进制代码长度统一到一个定值,将得到的数据以0.8:0.1:0.1的比例分为训练集,验证集,测试集。
3.根据权利要求1所述的基于卷积神经网络的PE恶意软件检测方法,其特征在于,步骤2所述的构建神经网络分类模型,具体为:
步骤2.1使用embedding层将二进制PE软件代码的0-255的离散值映射为一个四维的连续向量,该向量作为初始的通道层输入;
步骤2.2通过多个Block块的叠加来构造类似Resnet的多层残差结构网络,对于每一个块内采用深度可分离卷积的方式,在块的入口和出口通过1*1的卷积核来变换通道层Channel的数目,通过传统卷积核的卷积结果和空洞卷积核的卷积结果在通道层叠加的方式来增加神经网络每一层的感受野;
步骤2.3使用softmax层作为最终的概率输出,并用交叉熵函数作为损失函数;使用Xavier作为全连接层的权重初始化,使用He-normal作为卷积核的权重初始化,使用Adam优化器和初始为0.001随迭代轮数递减的的学习速率进行20个轮次的迭代,之后使用SGD优化器进行损失极小值搜寻,并且每进行一轮迭代即在验证集上进行验证,直到验证集的平均交叉熵损失函数提升小于一个预定阈值;
步骤2.4对于步骤2.3训练所得的神经网络模型,在测试集上进行测试,输出检测结果的混淆矩阵,进而得到检测的精确率、查全率结果。
4.根据权利要求3所述的基于卷积神经网络的PE恶意软件检测方法,其特征在于,使用知识蒸馏技术进一步提升步骤2.4中所得模型的精确率。
5.根据权利要求1所述的基于卷积神经网络的PE恶意软件检测方法,其特征在于,步骤3所述的评估模型鲁棒性,具体为:
步骤3.1利用获取的PE软件结构信息,对PE软件进行字节修改或填充,具体分为两类,一类是以冗余空间二进制代码修改为首的字节段修改类型的方法,另一类为添加字节类型的方法;
步骤3.2选取步骤3.1中任一种生成对抗样本的字节修改方法,对被训练后的模型可以正确检测出来的恶意软件样本M,维护一个与M相同长度的向量V。对于M所有可以修改的字节B,将V中对应位置的值为1,对于其他位置,V中对应位置的值为0;
步骤3.3对训练好的模型Model,使用相同方法额外训练一个与其结构相同但是权重初始化值不同的模型Modelnew,对Modelnew使用快速梯度下降算法对步骤3.2中的恶意软件样本M经过词嵌入层的输出ME进行对抗样本梯度计算;
步骤3.4对于V中所有为1的位置,计算ME中当前位置字节对应向量与词嵌入矩阵的向量差得到向量差矩阵,再将步骤3.3中的计算结果与向量差矩阵中的每一个向量进行向量夹角计算,将当前位置字节替换为夹角最小的所对应的字节,即是使字节改动后,词嵌入后的向量差值在所计算梯度方向上单位投影最大;
步骤3.5重复进行步骤3.4直到成功生成对于检测模型Model的对抗样本M’,或是迭代次数超过阈值,记录生成对抗样本所需的迭代次数,作为模型鲁棒性评估方式;如果存在迭代次数超过阈值的情况,则额外记录在指定的迭代次数内,生成对抗样本的成功率。
6.根据权利要求1所述的基于卷积神经网络的PE恶意软件检测方法,其特征在于,采用逻辑配对的方法或对网络的权重进行非负限制的方法对模型鲁棒性进行改进。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010317111.0A CN111651762A (zh) | 2020-04-21 | 2020-04-21 | 一种基于卷积神经网络的pe恶意软件检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010317111.0A CN111651762A (zh) | 2020-04-21 | 2020-04-21 | 一种基于卷积神经网络的pe恶意软件检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111651762A true CN111651762A (zh) | 2020-09-11 |
Family
ID=72349200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010317111.0A Pending CN111651762A (zh) | 2020-04-21 | 2020-04-21 | 一种基于卷积神经网络的pe恶意软件检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651762A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112086198A (zh) * | 2020-09-17 | 2020-12-15 | 西安交通大学口腔医院 | 一种基于深度学习技术建立年龄评估模型的系统及方法 |
CN112417447A (zh) * | 2020-11-11 | 2021-02-26 | 北京京航计算通讯研究所 | 一种恶意代码分类结果的精确度验证方法及装置 |
CN113014569A (zh) * | 2021-02-22 | 2021-06-22 | 深圳供电局有限公司 | 一种智能录波器网络安全管理方法及系统 |
CN113191966A (zh) * | 2021-04-15 | 2021-07-30 | 青海师范大学 | 一种运算轻量化图像修复方法 |
CN113866375A (zh) * | 2021-09-17 | 2021-12-31 | 华南师范大学 | 出水含氮物智能在线监测方法和系统 |
CN114143024A (zh) * | 2021-10-26 | 2022-03-04 | 广州大学 | 基于生成对抗网络的黑盒恶意软件检测对抗样本生成方法及装置 |
CN115271067A (zh) * | 2022-08-25 | 2022-11-01 | 天津大学 | 基于特征关系评估的安卓对抗样本攻击方法 |
CN115859290A (zh) * | 2023-02-01 | 2023-03-28 | 中国人民解放军61660部队 | 一种基于静态特征的恶意代码检测方法和存储介质 |
CN117272303A (zh) * | 2023-09-27 | 2023-12-22 | 四川大学 | 一种基于遗传对抗的恶意代码样本变体生成方法及系统 |
CN117828601A (zh) * | 2024-01-24 | 2024-04-05 | 中国科学院软件研究所 | 基于对抗性恶意软件的恶意软件检测工具推荐方法和系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108257116A (zh) * | 2017-12-30 | 2018-07-06 | 清华大学 | 一种生成对抗图像的方法 |
US20190042743A1 (en) * | 2017-12-15 | 2019-02-07 | Intel Corporation | Malware detection and classification using artificial neural network |
CN109740656A (zh) * | 2018-12-26 | 2019-05-10 | 华侨大学 | 一种基于卷积神经网络的矿石分选方法 |
US20190147318A1 (en) * | 2017-11-14 | 2019-05-16 | Google Llc | Highly Efficient Convolutional Neural Networks |
CN109784056A (zh) * | 2019-01-02 | 2019-05-21 | 大连理工大学 | 一种基于深度学习的恶意软件检测方法 |
CN110096878A (zh) * | 2019-04-26 | 2019-08-06 | 武汉智美互联科技有限公司 | 一种恶意软件的检测方法 |
CN110163197A (zh) * | 2018-08-24 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 目标检测方法、装置、计算机可读存储介质及计算机设备 |
CN110647817A (zh) * | 2019-08-27 | 2020-01-03 | 江南大学 | 基于MobileNet V3的实时人脸检测方法 |
CN110826059A (zh) * | 2019-09-19 | 2020-02-21 | 浙江工业大学 | 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置 |
-
2020
- 2020-04-21 CN CN202010317111.0A patent/CN111651762A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190147318A1 (en) * | 2017-11-14 | 2019-05-16 | Google Llc | Highly Efficient Convolutional Neural Networks |
US20190042743A1 (en) * | 2017-12-15 | 2019-02-07 | Intel Corporation | Malware detection and classification using artificial neural network |
CN109933982A (zh) * | 2017-12-15 | 2019-06-25 | 英特尔公司 | 使用人工神经网络的恶意软件检测和分类 |
CN108257116A (zh) * | 2017-12-30 | 2018-07-06 | 清华大学 | 一种生成对抗图像的方法 |
CN110163197A (zh) * | 2018-08-24 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 目标检测方法、装置、计算机可读存储介质及计算机设备 |
CN109740656A (zh) * | 2018-12-26 | 2019-05-10 | 华侨大学 | 一种基于卷积神经网络的矿石分选方法 |
CN109784056A (zh) * | 2019-01-02 | 2019-05-21 | 大连理工大学 | 一种基于深度学习的恶意软件检测方法 |
CN110096878A (zh) * | 2019-04-26 | 2019-08-06 | 武汉智美互联科技有限公司 | 一种恶意软件的检测方法 |
CN110647817A (zh) * | 2019-08-27 | 2020-01-03 | 江南大学 | 基于MobileNet V3的实时人脸检测方法 |
CN110826059A (zh) * | 2019-09-19 | 2020-02-21 | 浙江工业大学 | 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置 |
Non-Patent Citations (3)
Title |
---|
BINGCAI CHEN: "Adversarial Examples for CNN-Based Malware Detectors" * |
YINPENG DONG: "Boosting Adversarial Attacks with Momentum" * |
王赛男;: "信息安全领域中鲁棒的深度学习及其应用研究" * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112086198B (zh) * | 2020-09-17 | 2023-09-26 | 西安交通大学口腔医院 | 一种基于深度学习技术建立年龄评估模型的系统及方法 |
CN112086198A (zh) * | 2020-09-17 | 2020-12-15 | 西安交通大学口腔医院 | 一种基于深度学习技术建立年龄评估模型的系统及方法 |
CN112417447A (zh) * | 2020-11-11 | 2021-02-26 | 北京京航计算通讯研究所 | 一种恶意代码分类结果的精确度验证方法及装置 |
CN113014569B (zh) * | 2021-02-22 | 2023-02-03 | 深圳供电局有限公司 | 一种智能录波器网络安全管理方法及系统 |
CN113014569A (zh) * | 2021-02-22 | 2021-06-22 | 深圳供电局有限公司 | 一种智能录波器网络安全管理方法及系统 |
CN113191966A (zh) * | 2021-04-15 | 2021-07-30 | 青海师范大学 | 一种运算轻量化图像修复方法 |
CN113866375A (zh) * | 2021-09-17 | 2021-12-31 | 华南师范大学 | 出水含氮物智能在线监测方法和系统 |
CN114143024B (zh) * | 2021-10-26 | 2022-07-26 | 广州大学 | 基于生成对抗网络的黑盒恶意软件检测对抗样本生成方法、系统、电子设备及存储介质 |
CN114143024A (zh) * | 2021-10-26 | 2022-03-04 | 广州大学 | 基于生成对抗网络的黑盒恶意软件检测对抗样本生成方法及装置 |
CN115271067A (zh) * | 2022-08-25 | 2022-11-01 | 天津大学 | 基于特征关系评估的安卓对抗样本攻击方法 |
CN115271067B (zh) * | 2022-08-25 | 2024-02-23 | 天津大学 | 基于特征关系评估的安卓对抗样本攻击方法 |
CN115859290A (zh) * | 2023-02-01 | 2023-03-28 | 中国人民解放军61660部队 | 一种基于静态特征的恶意代码检测方法和存储介质 |
CN117272303A (zh) * | 2023-09-27 | 2023-12-22 | 四川大学 | 一种基于遗传对抗的恶意代码样本变体生成方法及系统 |
CN117828601A (zh) * | 2024-01-24 | 2024-04-05 | 中国科学院软件研究所 | 基于对抗性恶意软件的恶意软件检测工具推荐方法和系统 |
CN117828601B (zh) * | 2024-01-24 | 2024-07-30 | 中国科学院软件研究所 | 基于对抗性恶意软件的恶意软件检测工具推荐方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651762A (zh) | 一种基于卷积神经网络的pe恶意软件检测方法 | |
Yu et al. | CloudLeak: Large-Scale Deep Learning Models Stealing Through Adversarial Examples. | |
CN109993236B (zh) | 基于one-shot Siamese卷积神经网络的少样本满文匹配方法 | |
CN107480144B (zh) | 具备跨语言学习能力的图像自然语言描述生成方法和装置 | |
CN109960804B (zh) | 一种题目文本句子向量生成方法及装置 | |
CN107516041A (zh) | 基于深度神经网络的WebShell检测方法及其系统 | |
CN113806746B (zh) | 基于改进cnn网络的恶意代码检测方法 | |
CN110188195B (zh) | 一种基于深度学习的文本意图识别方法、装置及设备 | |
CN110826060A (zh) | 物联网恶意软件的可视化分类方法、装置与电子设备 | |
CN113628059B (zh) | 一种基于多层图注意力网络的关联用户识别方法及装置 | |
CN111753881A (zh) | 一种基于概念敏感性量化识别对抗攻击的防御方法 | |
CN114842267A (zh) | 基于标签噪声域自适应的图像分类方法及系统 | |
CN111866004B (zh) | 安全评估方法、装置、计算机系统和介质 | |
CN109033833B (zh) | 一种基于多特征与特征选择的恶意代码分类方法 | |
CN114092747A (zh) | 基于深度元度量模型互学习的小样本图像分类方法 | |
CN113221115B (zh) | 基于协同学习的可视化恶意软件检测方法 | |
CN113269228A (zh) | 一种图网络分类模型的训练方法、装置、系统及电子设备 | |
CN114048729A (zh) | 医学文献评价方法、电子设备、存储介质和程序产品 | |
CN115422518A (zh) | 基于无数据知识蒸馏的文本验证码识别方法 | |
CN112380535B (zh) | 一种基于cbow的恶意代码三通道可视化识别方法 | |
CN116206227B (zh) | 5g富媒体信息的图片审查系统、方法、电子设备及介质 | |
Abdollahi et al. | Image steganography based on smooth cycle-consistent adversarial learning | |
CN117407875A (zh) | 一种恶意代码分类方法、系统及电子设备 | |
CN115277065B (zh) | 一种物联网异常流量检测中的对抗攻击方法及装置 | |
CN115759081A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200911 |
|
WD01 | Invention patent application deemed withdrawn after publication |