CN106096415B - 一种基于深度学习的恶意代码检测方法及系统 - Google Patents
一种基于深度学习的恶意代码检测方法及系统 Download PDFInfo
- Publication number
- CN106096415B CN106096415B CN201610482502.1A CN201610482502A CN106096415B CN 106096415 B CN106096415 B CN 106096415B CN 201610482502 A CN201610482502 A CN 201610482502A CN 106096415 B CN106096415 B CN 106096415B
- Authority
- CN
- China
- Prior art keywords
- code
- feature
- boolean
- malicious code
- measured
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013135 deep learning Methods 0.000 title claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 97
- 238000001514 detection method Methods 0.000 claims description 38
- 230000009123 feedback regulation Effects 0.000 claims description 19
- 239000000284 extract Substances 0.000 claims description 14
- 238000013459 approach Methods 0.000 claims description 8
- 238000010438 heat treatment Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 2
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007812 deficiency 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
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Abstract
本发明公开了一种基于深度学习的恶意代码检测方法及系统,该方法包括:通过提取代码中特征并选取有效特征,根据训练样本代码是否包含有效特征构成第一布尔特征向量;通过提取待测代码的特征,根据待测代码是否包括训练阶段的有效特征,构成第二布尔特征向量;在训练阶段输入第一布尔特征向量构建深度置信网络模型,在检测阶段将第二布尔特征向量输入所述深度置信网络模型,根据所述模型输出的结果判断待测代码是否为恶意代码。该方法采用深度学习中的半监督训练学习模型,用大规模的无标记的集合代码样本进行训练,可以节省标注大量样本的时间;且该模型能对实现对已知恶意代码的准确判断和未知恶意代码的准确预测。
Description
技术领域
本发明涉及移动终端应用领域,尤其涉及一种基于深度学习的恶意代码检测方法及系统。
背景技术
随着恶意代码爆炸性增长,恶意代码成为个人、企业信息泄露的最大原因,所以对恶意代码在运行之前被检测出来很有必要。目前有比较成熟的恶意代码检测技术,主要有基于签名、基于特征码、基于启发式等等方法。
基于签名的恶意检测方法,对各种恶意代码生成一个标记,并利用这些标记构建一个恶意代码数据库。这种方法能快速的检测出一段代码是否为恶意代码,对数据库中已有样本种类检验准确率很高,是很多商业杀毒软件采取的主要方式。
但是这种方法存在以下的缺点:对恶意代码的标记有些需要领域专家进行人工提取;一个新的恶意代码可能不包括任何已知的特征,只能检测已有的恶意代码,不能检测出新种类的恶意代码;这种方法使得特征库不断增加,这需要用户不断更新恶意代码数据库,特征库的样本会越来越大,会影响检测的速度和系统的性能。
有鉴于此,现有技术有待改进和提高。
发明内容
鉴于现有技术的不足,本发明目的在于提供一种基于深度学习的恶意代码检测方法及系统,从而解决了现有技术中需要对恶意代码进行标注的繁琐及不能检测出新种类的恶意代码的问题。
本发明的技术方案如下:
一种基于深度学习的恶意代码检测方法,其中,所述方法包括:
步骤A、提取训练集合中代码的特征并选取有效特征,根据训练样本代码是否包含有效特征构成第一布尔特征向量;
步骤B、提取待测代码的特征,根据待测代码是否包括训练阶段的有效特征,构成第二布尔特征向量;
步骤C、在训练阶段输入第一布尔特征向量构建深度置信网络模型,在检测阶段将第二布尔特征向量输入所述深度置信网络模型进行运算,根据所述模型输出的结果判断待测代码是否为恶意代码。
所述基于深度学习的恶意代码检测方法,其中,所述步骤A具体包括:
A1、选取恶意代码和正常代码作为训练集合;
A2、提取训练集合中代码的操作码序列的变长N-gram作为特征;
A3、采用加权信息增益的特征选择方法,计算出每个特征对应的加权信息增益,并按照加权信息增益的降序排列选取有效特征;
A4、根据每个训练样本代码是否包含所述有效特征,构成第一布尔特征向量。
所述基于深度学习的恶意代码检测方法,其中,所述步骤C具体包括:
C1、通过训练集合的第一布尔特征向量构建深度置信网络模型,对所述深度置信网络模型进行DBN无监督反馈调节,最后对模型进行优化微调权值的BP反馈调节,确定模型的权值;
C2、将待测代码的第二布尔特征向量输入同样权值的所述深度置信网络模型进行运算;
C3、输出待测代码的标签,所述标签标记出是否为恶意代码。
所述基于深度学习的恶意代码检测方法,其中,
所述待测代码为恶意代码或者正常代码;
所述训练集合中的代码为无标签样本。
所述基于深度学习的恶意代码检测方法,其中,
所述步骤A之前还包括:
A0:对训练集合中代码样本进行查壳、脱壳处理,并提取相关操作码。
一种基于深度学习的恶意代码检测系统,其中,包括:
训练集合模块,用于提取训练集合中代码的操作码序列的变长N-gram作为特征并选取有效特征,根据训练样本代码是否包含有效特征构成第一布尔特征向量;
待测代码模块,用于提取待测代码的特征,根据待测代码是否包括训练阶段的有效特征,构成第二布尔特征向量;
恶意代码检测模块,用于在训练阶段输入第一布尔特征向量构建深度置信网络模型,在检测阶段将第二布尔特征向量输入所述深度置信网络模型进行运算,根据所述模型输出的结果判断待测代码是否为恶意代码。
所述基于深度学习的恶意代码检测系统,其中,所述训练集合模块具体包括:
代码选取单元,用于选取恶意代码和正常代码作为训练集合;
特征提取单元,用于提取训练结合代码中操作码序列的变长N-gram作为特征;
有效特征单元,用于采用加权信息增益的特征选择方法,计算出每个特征对应的加权信息增益,并按照加权信息增益的降序排列选取有效特征;
特征向量单元,用于根据每个训练样本代码是否包含所述有效特征,构成第一布尔特征向量。
所述基于深度学习的恶意代码检测系统,其中,所述恶意代码检测模块具体包括:
训练单元,用于通过训练集合的第一布尔特征向量构建深度置信网络模型,对所述深度置信网络模型进行DBN无监督反馈调节,最后对模型进行优化微调权值的BP反馈调节,确定模型的权值;
检测单元,用于将待测代码的第二布尔特征向量输入同样权值的所述深度置信网络模型进行运算;
输出结果单元,用于输出待测代码的标签,所述标签标记出是否为恶意代码。
所述基于深度学习的恶意代码检测系统,其中,
所述待测代码为恶意代码或者正常代码;所述训练集合中的代码为无标签样本。
所述基于深度学习的恶意代码检测系统,其中,还包括:
预处理单元,用于对训练集合中代码样本进行查壳、脱壳处理,并提取相关操作码。
有益效果:本发明提出了一种基于深度学习的恶意代码检测方法及系统,采用大规模的无标记的恶意代码样本集合进行训练,相对于传统的监督学习模型可以节省标注大量样本的时间; 用变长N-gram作为恶意代码特征提取方法,能够提取相关的不同长度的有效特征,弥补了定长N-gram可能拆分有意义特征的缺陷;该深度学习方法,能够训练出一个泛化能力比较强的模型,能够对已知和未知的恶意代码进行准确的预测判断。
附图说明
图1为本发明的基于深度学习的恶意代码检测方法的流程图。
图2为本发明的基于深度学习的恶意代码检测方法的实施过程图。
图3为本发明的面向恶意代码检测的深度置信网络的原理图。
图4为本发明的基于深度学习的恶意代码检测系统的功能原理框图。
具体实施方式
本发明提供了一种基于深度学习的恶意代码检测方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
深度学习的方法可以从大量的恶意代码和正常代码数据中学习到有效的信息,形成区别恶意代码与正常代码的标准,代码进入系统时通过训练过的分类器进行分类,从而判断为恶意代码或者正常代码。该深度学习过程主要包括训练阶段和检测阶段,在训练阶段应该选择某些已有的代码作为训练集合进行训练,在检测阶段则将待测代码进行分类。该方法所对应的系统即为面向恶意代码检测的深度置信网络模型。
如图1所示,为本发明中基于深度学习的恶意代码检测方法的流程图,该方法包括以下步骤:
步骤S100、提取训练集合中代码的特征并选取有效特征,根据训练样本代码是否包含有效特征构成第一布尔特征向量。
当移动终端处于恶意代码检测模式下时,首先应对已有的代码进行训练,得出一个通过训练得出的分类器,步骤S100即是深度学习算法实现恶意代码检测方法的训练阶段中训练集合的特征向量提取过程。选取恶意代码和正常代码的训练集合,提取该训练集合中所有代码样本的特征,并在所有得到的特征中选取有效特征,可以对每个训练样本的特征是否包含这些有效特征进行判断,在此基础上构成第一布尔特征向量,该特征向量在训练阶段进入网络置信网络模型,最后得到一个经过训练的分类器,该分类器可以供深度网络学习。
所述训练集合可以不断更新,允许增量学习,还可通过采集新的训练集合进行有效的实时训练;
步骤S200、提取待测代码的特征,根据待测代码是否包括训练阶段的有效特征,构成第二布尔特征向量。
当完成该恶意代码检测系统的训练阶段后,则对待测代码进行分类检测,对待测代码进行与训练阶段相同的代码样本特征的提取过程,并对待测代码的特征是否包含训练阶段的有效特征进行判断,在此基础上构成第二布尔特征向量,该特征向量在检测阶段进入网络置信网络模型。
步骤S300、在训练阶段输入第一布尔特征向量构建深度置信网络模型,在检测阶段将第二布尔特征向量输入所述深度置信网络模型进行运算,根据所述模型输出的结果判断待测代码是否为恶意代码。
所述深度置信网络,由多层受限玻尔兹曼机叠加之后加上一层分类层组成的一种深层次的神经网络。待测代码的第二布尔特征向量进入面向恶意代码检测的深度置信网络时,通过训练过的分类器进行分类,最后输出该待测代码的标签,从而判断待测代码为恶意代码或者正常代码。
该检测模式下的所有操作是基于代码,因此在此步骤S100之前还应
选取恶意代码和正常代码作为训练集合,并且对训练集合中代码样本进行查壳、脱壳处理。
软件的壳即为一段专门负责保护软件不被非法修改或反编译的程序。软件被选取为训练集合中代码样本时,为了更方便对代码进行分析,必须进行查壳和脱壳处理,查壳是找到具有保护功能的软件,脱壳即是运用脱壳工具将上述找到的软件中负责保护软件不被非法修改或反编译的程序进行处理。将脱壳后的软件作为训练集合中代码样本,并提取操作码。
进一步,对步骤S100进行更加详细的说明,该步骤可以结合图2进行解释:
S11、选取恶意代码和正常代码作为训练集合。
深度置信网络模型为半监督训练学习模型,选取恶意代码和正常代码作为训练集合,所述训练集合中代码为无标记代码,采用大规模的无标签的恶意代码为集合样本进行训练,相对于传统的监督学习模型可以节省大量标注样本的时间。
代码是通过静态语义分析,无需运行恶意代码,可以获取代码的全部信息,使得分析的结果相对较全面。且基于语义分析,不针对专门的某个恶意程序,对于已知和未知的代码均能有效检测。
S12、提取训练集合中代码的操作码序列的变长N-gram作为特征。
将操作码序列的变长N-gram作为特征。N-gram是由一个长度为N的滑动窗口收集的一系列重叠的子字符串,每次滑动一个窗口的单元长度;变长N-gram是一串有意义的连续字节序列,它的长度是不固定的。用变长N-gram作为代码特征提取方式,提取代码中操作码序列的变长N-gram作为特征,能够提取相关的不同长度的特征,弥补了定长N-gram可能拆分有意义的特征的缺陷,防止某些特征的缺失。待测代码同样采取变长N-gram的特征提取方式。
S13、采用加权信息增益的特征选择方法,计算出每个特征对应的加权信息增益,并按照加权信息增益的降序排列选取有效特征。
当完成训练集合中所有代码的特征提取后,对这些特征进行有效特征的选取。采用加权信息增益的特征选择方法,该方法通过计算出每个特征对应的加权信息增益,并按照加权信息增益的降序排列,选取前面若干个作为有效特征。所述特征选择方法还可以为互信息方法、开方拟和检验方法、文档频率方法等。
S14、根据每个训练样本代码是否包含所述有效特征,构成第一布尔特征向量。
对该训练集合中每个训练样本代码的特征是否包含所述有效特征进行判断,在此基础上构成第一布尔特征向量,该特征向量在训练阶段进入网络置信网络模型,最后得到一个经过训练的分类器,该分类器可以供深度网络学习。
进一步,对步骤S300进行更加详细的说明:
S31、通过训练集合的第一布尔特征向量构建深度置信网络模型,对所述深度置信网络模型进行DBN(深度置信网络)无监督反馈调节,最后对模型进行优化微调权值的BP反馈调节,确定模型的权值。
如图3所示,在训练阶段所述第一布尔特征向量输入时,该原始训练集的特征向量隐式的存在于RBM(受限波尔兹曼机)模块的第一层中,并进行RBM模式的调用,先自下而上的逐层无监督训练RBM,对输入特征向量通过识别模式自底向上转换,到最顶层得到一个输入特征向量的表示,再进行从上而下的生成模型的转换,重构出输入特征向量。选取RBM的层数为N层,RBM层数的确定是根据实验效果来确定的。
深度置信网络在进行RBM预训练之后,输入数据和重构数据的误差达到了阈值要求。此时网络权值对每个RBM是最优的,但是对于整个DBN网络的权值并未达到最优,在由可见层向顶层隐藏层传递时,DBN会产生额外的错误和信息,因此必须进行整个DBN的反馈微调,以此来保证整个网络的精度要求。
精度微调主要经过两个过程:DBN无监督反馈调节和BP反馈调节。
DBN无监督反馈调节过程,通过降低调节输入特征与重构的输入特征向量的误差,不断的调节权值,从而使生成模型可以重构出具有较低误差的原样本。
BP反馈调节是有监督过程,以样本原始类标和目标输出之间的误差进行 BP 反馈微调,调节整个网络层数的权值。对输入特征向量经过网络得到目标输出,与样本原始类标进行对比,不断降低样本原始类标与目标输出之间的误差来微调网络参数,优化整个面向恶意代码检测的深度置信网络模型。
S32、将待测代码的第二布尔特征向量输入同样权值的所述深度置信网络模型;
将待测代码的特征向量应用于上述练习所得出的深度置信网络,该检测阶段和训练阶段是共享网络权值的。在训练阶段结束后,网络的参数固定,用相同的网络把测试的特征向量输入。
S33、输出待测代码的标签,所述标签标记出是否为恶意代码。
所述待测代码可以为恶意代码或者正常代码,根据上述深度置信网络输出待测代码的标签。如果待测代码为恶意代码,则输出恶意代码的标签;反之,则输出正常代码的标签。
由上可见,为本发明所述的一种深度学习的恶意代码检测方法的实施例,基于上述方法实施例,本发明还提供了一种深度学习的恶意代码检测系统,如图4所示,所述系统包括:
训练集合模块210,用于提取训练集合中代码的操作码序列的变长N-gram作为特征并选取有效特征,根据训练样本代码是否包含有效特征构成第一布尔特征向量;具体如上所述。
待测代码模块220,用于提取待测代码的特征,根据待测代码是否包括训练阶段的有效特征,构成第二布尔特征向量;具体如上所述。
恶意代码检测模块230,用于在训练阶段输入第一布尔特征向量构建深度置信网络,在检测阶段向同样参数的所述深度置信网络中输入第二布尔特征向量进行运算,根据所述模型输出的结果判断待测代码是否为恶意代码;具体如上所述。
进一步的所述基于深度学习的恶意代码检测系统,其中,所述训练集合模块具体包括:
代码选取单元,用于选取恶意代码和正常代码作为训练集合;具体如上所述。
特征提取单元,用于提取训练结合中代码的操作码序列的变长N-gram作为特征;具体如上所述。
有效特征单元,用于采用加权信息增益的特征选择方法,计算出每个特征对应的加权信息增益,并按照加权信息增益的降序排列选取有效特征;具体如上所述。
特征向量单元,用于根据每个训练样本代码是否包含所述有效特征,构成第一布尔特征向量;具体如上所述。
进一步的所述基于深度学习的恶意代码检测系统,其中,所述恶意代码检测模块具体包括:
训练单元,用于通过训练集合的第一布尔特征向量构建深度置信网络模型,对所述深度置信网络模型进行DBN无监督反馈调节,最后对模型进行优化微调权值的BP反馈调节,确定模型的权值;具体如上所述。
对构建的深度置信网络模型进行详细的讲解,如图3所示,该深度置信网络模型中包括三大模块:RBM模块、DBN反向调节模块、BP反馈调节模块。
RBM模块,由多层受限玻尔兹曼机(RBM)叠加之后加上一层分类层组成。
DBN反向调节模块,包括共轭梯度MINIMIZE模块和par_der模块,调用共轭梯度MINIMIZE模块负责优化微调权值,调用par_der模块用于计算输入数据与重构数据误差关于权值的偏导数。
BP反馈调节模块,主要包括MINIMIZE模块和CG_PAR_DER模块,
调用共轭梯度MINIMIZE模块负责优化微调权值,调用CG_PAR_DER模块用于计算原始类标与目标输出误差关于权值偏导数。
检测单元,用于将待测代码的第二布尔特征向量输入同样权值的所述深度置信网络模型进行运算;具体如上所述。
输出结果单元,用于输出待测代码的标签,所述标签标记出是否为恶意代码;具体如上所述。
所述基于深度学习的恶意代码检测系统,其中,
所述待测代码为恶意代码或者正常代码;所述训练集合中的代码为无标记样本。
所述基于深度学习的恶意代码检测系统,其中,还包括:
预处理模块,用于对训练集合中代码样本进行查壳、脱壳处理,并提取相关操作码;具体如上所述。
综上所述,本发明公开的一种基于深度学习的恶意代码检测方法及系统,用变长
N-gram作为恶意代码特征提取方法,能够提取相关的不同长度的有效特征,弥补了定长
N-gram可能拆分有意义特征的缺陷;选取深度置信网络作为深度学习方法,深度置信网络为半监督学习模型,可以采用大规模未标记的样本集合进行训练,相对于传统的监督学习模型节省标记大量样本的时间;该深度学习方法,能够训练出一个泛化能力比较强的模型,能够对已知和未知的恶意代码进行准确的预测判断。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (6)
1.一种基于深度学习的恶意代码检测方法,其特征在于,包括:
步骤A、提取训练集合中代码的特征并选取有效特征,根据训练样本代码是否包含有效特征构成第一布尔特征向量;
步骤B、提取待测代码的特征,根据待测代码是否包括训练阶段的有效特征,构成第二布尔特征向量;
步骤C、在训练阶段输入第一布尔特征向量构建深度置信网络模型,在检测阶段将第二布尔特征向量输入所述深度置信网络模型进行运算,根据所述模型输出的结果判断待测代码是否为恶意代码;
步骤A具体包括:
A1、选取恶意代码和正常代码作为训练集合;
A2、提取训练集合中代码的操作码序列的变长N-gram作为特征;
A3、采用加权信息增益的特征选择方法,计算出每个特征对应的加权信息增益,并按照加权信息增益的降序排列选取有效特征;
A4、根据每个训练样本代码是否包含所述有效特征,构成第一布尔特征向量;
所述步骤C具体包括:
C1、通过训练集合的第一布尔特征向量构建深度置信网络模型,对所述深度置信网络模型进行DBN无监督反馈调节,最后对模型进行优化微调权值的BP反馈调节,确定模型的权值;
C2、将待测代码的第二布尔特征向量输入同样权值的所述深度置信网络模型进行运算;
C3、输出待测代码的标签,所述标签标记出是否为恶意代码;
DBN无监督反馈调节过程,通过降低调节输入特征与重构的输入特征向量的误差,不断的调节权值,从而使生成模型可以重构出具有较低误差的原样本;
BP反馈调节有监督过程,以样本原始类标和目标输出之间的误差进行 BP 反馈微调,调节整个网络层数的权值,对输入特征向量经过网络得到目标输出,与样本原始类标进行对比,不断降低样本原始类标与目标输出之间的误差来微调网络参数,优化整个面向恶意代码检测的深度置信网络模型。
2.根据权利要求1所述基于深度学习的恶意代码检测方法,其特征在于,
所述待测代码为恶意代码或者正常代码;
所述训练集合中的代码为无标签样本。
3.根据权利要求1所述基于深度学习的恶意代码检测方法,其特征在于,所述步骤A之前还包括:
A0:对训练集合中代码样本进行查壳、脱壳处理,并提取相关操作码。
4.一种基于深度学习的恶意代码检测系统,其特征在于,包括:
训练集合模块,用于提取训练集合中代码的操作码序列的变长N-gram作为特征并选取有效特征,根据训练样本代码是否包含有效特征构成第一布尔特征向量;
待测代码模块,用于提取待测代码的特征,根据待测代码是否包括训练阶段的有效特征,构成第二布尔特征向量;
恶意代码检测模块,用于在训练阶段输入第一布尔特征向量构建深度置信网络模型,在检测阶段将第二布尔特征向量输入所述深度置信网络模型进行运算,根据所述模型输出的结果判断待测代码是否为恶意代码;
所述训练集合模块具体包括:
代码选取单元,用于选取恶意代码和正常代码作为训练集合;
特征提取单元,用于提取训练集合中代码的操作码序列的变长N-gram作为特征;
有效特征单元,用于采用加权信息增益的特征选择方法,计算出每个特征对应的加权信息增益,并按照加权信息增益的降序排列选取有效特征;
特征向量单元,用于根据每个训练样本代码是否包含所述有效特征,构成第一布尔特征向量;
所述恶意代码检测模块具体包括:
训练单元,用于通过训练集合的第一布尔特征向量构建深度置信网络模型,对所述深度置信网络模型进行DBN无监督反馈调节,最后对模型进行优化微调权值的BP反馈调节,确定模型的权值;
检测单元,用于将待测代码的第二布尔特征向量输入同样权值的所述深度置信网络模型进行运算;
输出结果单元,用于输出待测代码的标签,所述标签标记出是否为恶意代码;
DBN无监督反馈调节过程,通过降低调节输入特征与重构的输入特征向量的误差,不断的调节权值,从而使生成模型可以重构出具有较低误差的原样本;
BP反馈调节有监督过程,以样本原始类标和目标输出之间的误差进行 BP 反馈微调,调节整个网络层数的权值,对输入特征向量经过网络得到目标输出,与样本原始类标进行对比,不断降低样本原始类标与目标输出之间的误差来微调网络参数,优化整个面向恶意代码检测的深度置信网络模型。
5.根据权利要求4所述基于深度学习的恶意代码检测系统,其特征在于,
所述待测代码为恶意代码或者正常代码;
所述训练集合中的代码为无标签样本。
6.根据权利要求4所述基于深度学习的恶意代码检测系统,其特征在于,还包括:
预处理模块,用于对训练集合中代码样本进行查壳、脱壳处理,并提取相关操作码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610482502.1A CN106096415B (zh) | 2016-06-24 | 2016-06-24 | 一种基于深度学习的恶意代码检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610482502.1A CN106096415B (zh) | 2016-06-24 | 2016-06-24 | 一种基于深度学习的恶意代码检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106096415A CN106096415A (zh) | 2016-11-09 |
CN106096415B true CN106096415B (zh) | 2019-05-21 |
Family
ID=57213611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610482502.1A Active CN106096415B (zh) | 2016-06-24 | 2016-06-24 | 一种基于深度学习的恶意代码检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106096415B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106557566B (zh) * | 2016-11-18 | 2019-06-07 | 杭州费尔斯通科技有限公司 | 一种文本训练方法及装置 |
CN106778277A (zh) * | 2017-01-13 | 2017-05-31 | 北京邮电大学 | 恶意程序检测方法及装置 |
CN108108184B (zh) * | 2017-03-07 | 2020-12-04 | 北京理工大学 | 一种基于深度信念网络的源代码作者识别方法 |
CN107194251B (zh) * | 2017-04-01 | 2020-02-14 | 中国科学院信息工程研究所 | Android平台恶意应用检测方法及装置 |
WO2018184102A1 (en) * | 2017-04-03 | 2018-10-11 | Royal Bank Of Canada | Systems and methods for malicious code detection |
CN107180191A (zh) * | 2017-05-03 | 2017-09-19 | 北京理工大学 | 一种基于半监督学习的恶意代码分析方法和系统 |
CN108304719B (zh) * | 2018-02-05 | 2022-02-01 | 新疆大学 | Android恶意代码分析与检测算法 |
US20190317879A1 (en) * | 2018-04-16 | 2019-10-17 | Huawei Technologies Co., Ltd. | Deep learning for software defect identification |
CN110389887B (zh) * | 2018-04-16 | 2022-07-05 | 鸿富锦精密工业(武汉)有限公司 | 代码检测系统及方法 |
CN108881196B (zh) * | 2018-06-07 | 2020-11-24 | 中国民航大学 | 基于深度生成模型的半监督入侵检测方法 |
CN108920954B (zh) * | 2018-06-28 | 2020-08-04 | 中国科学院软件研究所 | 一种恶意代码自动化检测平台及方法 |
CN110414233A (zh) * | 2019-06-28 | 2019-11-05 | 奇安信科技集团股份有限公司 | 恶意代码检测方法及装置 |
CN110826063A (zh) * | 2019-10-23 | 2020-02-21 | 中国人民解放军陆军工程大学 | 一种基于api片段的恶意代码检测方法 |
CN111881446B (zh) * | 2020-06-19 | 2023-10-27 | 中国科学院信息工程研究所 | 一种工业互联网恶意代码识别方法及装置 |
CN111898129B (zh) * | 2020-08-07 | 2022-10-14 | 北京理工大学 | 基于Two-Head异常检测模型的恶意代码样本筛选器及方法 |
CN112861135A (zh) * | 2021-04-12 | 2021-05-28 | 中南大学 | 基于注意力机制的恶意代码检测方法 |
CN113742730B (zh) * | 2021-11-04 | 2022-02-22 | 北京生泰尔科技股份有限公司 | 恶意代码检测方法、系统及计算机可读存储介质 |
CN114679331B (zh) * | 2022-04-11 | 2024-02-02 | 北京国联天成信息技术有限公司 | 一种基于ai技术的恶意代码被动检测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411687A (zh) * | 2011-11-22 | 2012-04-11 | 华北电力大学 | 未知恶意代码的深度学习检测方法 |
CN104050163A (zh) * | 2013-03-11 | 2014-09-17 | 捷达世软件(深圳)有限公司 | 内容推荐系统及方法 |
CN105205396A (zh) * | 2015-10-15 | 2015-12-30 | 上海交通大学 | 一种基于深度学习的安卓恶意代码检测系统及其方法 |
-
2016
- 2016-06-24 CN CN201610482502.1A patent/CN106096415B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411687A (zh) * | 2011-11-22 | 2012-04-11 | 华北电力大学 | 未知恶意代码的深度学习检测方法 |
CN104050163A (zh) * | 2013-03-11 | 2014-09-17 | 捷达世软件(深圳)有限公司 | 内容推荐系统及方法 |
CN105205396A (zh) * | 2015-10-15 | 2015-12-30 | 上海交通大学 | 一种基于深度学习的安卓恶意代码检测系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106096415A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106096415B (zh) | 一种基于深度学习的恶意代码检测方法及系统 | |
CN110532900B (zh) | 基于U-Net和LS-CNN的人脸表情识别方法 | |
CN109005145B (zh) | 一种基于自动特征抽取的恶意url检测系统及其方法 | |
CN103544392B (zh) | 基于深度学习的医学气体识别方法 | |
CN110245496A (zh) | 一种源代码漏洞检测方法及检测器和其训练方法及系统 | |
CN104123500A (zh) | 一种基于深度学习的Android平台恶意应用检测方法及装置 | |
CN109165510A (zh) | 基于双通道卷积神经网络的Android恶意应用程序检测方法 | |
CN108985060A (zh) | 一种大规模安卓恶意软件自动化检测系统及方法 | |
Liu et al. | Locate-Then-Detect: Real-time Web Attack Detection via Attention-based Deep Neural Networks. | |
CN110232280A (zh) | 一种基于树结构卷积神经网络的软件安全漏洞检测方法 | |
CN109886021A (zh) | 一种基于api全局词向量和分层循环神经网络的恶意代码检测方法 | |
CN106096413B (zh) | 一种基于多特征融合的恶意代码检测方法及系统 | |
CN109657461B (zh) | 基于梯度提升算法的rtl硬件木马检测方法 | |
CN109598292A (zh) | 一种不同辅助样本正负比例的迁移学习方法 | |
CN116361801B (zh) | 基于应用程序接口语义信息的恶意软件检测方法及系统 | |
CN111382438A (zh) | 基于多尺度卷积神经网络的恶意软件检测方法 | |
CN110430183A (zh) | 基于会话特征相似性的mh-lstm异常检测方法 | |
CN108229170B (zh) | 利用大数据和神经网络的软件分析方法和装置 | |
CN113434418A (zh) | 知识驱动的软件缺陷检测与分析方法及系统 | |
CN115017513A (zh) | 一种基于人工智能的智能合约漏洞检测方法 | |
CN106874762B (zh) | 基于api依赖关系图的安卓恶意代码检测方法 | |
CN116432184A (zh) | 基于语义分析和双向编码表征的恶意软件检测方法 | |
CN110458239A (zh) | 基于双通道卷积神经网络的恶意软件分类方法及系统 | |
KR102068507B1 (ko) | 기계 학습 모델의 신뢰도를 판단하기 위한 후처리 방법 및 이를 사용한 후처리 장치 | |
CN116032654B (zh) | 一种固件漏洞检测及数据安全治理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |