CN102142068A - 一种未知恶意代码的检测方法 - Google Patents
一种未知恶意代码的检测方法 Download PDFInfo
- Publication number
- CN102142068A CN102142068A CN201110076525XA CN201110076525A CN102142068A CN 102142068 A CN102142068 A CN 102142068A CN 201110076525X A CN201110076525X A CN 201110076525XA CN 201110076525 A CN201110076525 A CN 201110076525A CN 102142068 A CN102142068 A CN 102142068A
- Authority
- CN
- China
- Prior art keywords
- file
- malicious code
- sample point
- proper vector
- dimensionality reduction
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了信息安全技术领域中的一种未知恶意代码的检测方法,能够在不更新恶意代码库的情况下对文件中的恶意代码进行事前检测。该方法包括利用Byte n-grams方法提取训练集中的文件的特征向量;采用局部线性嵌入算法对提取的训练集中的文件的特征向量进行降维;将降维后的特征向量作为输入,利用核覆盖学习算法训练核覆盖分类器;再利用Byte n-grams方法提取测试集中的文件的特征向量;采用局部线性嵌入算法对提取的测试集中的文件的特征向量进行降维;将降维后的结果输入核覆盖分类器进行分类,对分类结果进行统计并确定测试集中的文件是否含有恶意代码。本发明提高了文件的检测速度,实现了恶意代码的事前准确检测。
Description
技术领域
本发明属于信息安全技术领域,尤其涉及一种未知恶意代码的检测方法。
背景技术
目前,恶意代码在互联网上无处不在,其传播性、危害性、隐藏性等也在不断提高,从而使计算机恶意代码检测工作面临着巨大的挑战。现有的计算机恶意代码检测技术主要有两种,一种是基于特征码的模式匹配技术,另一种是基于恶意代码行为规则的检测技术。
基于特征码的模式匹配技术是当恶意代码文件出现后由分析人员对其进行人工分析,提取出能唯一标识此恶意代码文件的特征码,并将特征码升级给恶意代码特征码库,然后将特征码库提供给用户,用来查杀计算机程序中的恶意代码。基于恶意代码行为规则的检测技术,是依据专家预先定义的一些恶意代码行为规则来检测恶意代码。上述两种检测方法的缺点是必须不断更新恶意代码数据库,否则新类型的恶意代码便可以绕过检测。另外,这两种技术是一种事后检测技术,不能在新出现的恶意代码执行之前检测到它,只有当恶意代码出现后,由分析人员对其进行特征提取并将其特征码升级给特征数据库,才可以进行检测。然而在此期间,恶意代码可以已经得到运行并造成破坏。
发明内容
本发明的目的在于,针对目前恶意代码检测技术存在的不足,提出一种未知恶意代码的检测方法,以同时包含恶意文件和非恶意文件的样本集作为训练集,利用分类算法训练分类器,然后利用训练好的分类器对未知文件进行分类,以确定其是否为恶意代码文件。
为了实现本发明的目的,本发明的提供的技术方案是,一种未知恶意代码的检测方法,其特征是所述方法包括下列步骤:
步骤1:利用Byte n-grams方法提取训练集中的文件的特征向量;
步骤2:采用局部线性嵌入算法对提取的训练集中的文件的特征向量进行降维;
步骤3:将降维后的特征向量作为输入,利用核覆盖学习算法训练核覆盖分类器;
步骤4:利用Byte n-grams方法提取测试集中的文件的特征向量;
步骤5:采用局部线性嵌入算法对提取的测试集中的文件的特征向量进行降维;
步骤6:将降维后的结果输入核覆盖分类器进行分类,对分类结果进行统计后,确定测试集中的文件是否含有恶意代码。
所述采用局部线性嵌入算法对特征向量进行降维具体包括:
步骤21:将特征向量作为样本点,利用K近邻方法寻找每个样本点的K个近邻点,其中K为设定值;
步骤23:由每个样本点xi的局部重建权值矩阵及其近邻点计算其低维输出值。
所述步骤23中,样本点xi的低维输出yi满足如下映射条件:
所述步骤3具体包括:
步骤31:在样本点构成的样本空间中,构造覆盖领域系;
步骤32:对覆盖领域进行融合,将属于同类的覆盖领域融合成特征空间的一个球面;
步骤33:构造出融合曲面f(x),对每一个样本点xi计算f(xi)的值,如果f(xi)的值大于零,则该样本点xi代表不含恶意代码的文件;如果f(xi)的值小于零,则该样本点xi代表含有恶意代码的文件。
本发明引入流形学习算法对文件进行特征选择,能够从高维数据中发现有意义的低维结构并进行降维,提高了文件的检测速度;另外,在分类学习算法中引入核覆盖学习算法,能构造出一次就可准确划分样本集的核函数,从而实现了准确检测新出现的恶意代码的目标。
附图说明
图1是未知恶意代码的检测方法的过程示意图;
图2是采用局部线性嵌入算法对提取的特征向量进行降维的流程图;
图3是利用核覆盖学习算法训练核覆盖分类器的流程图。
具体实施方式
下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
本发明解决问题的思路是:以同时含有恶意代码的文件和不含恶意代码的文件集为训练样本,采用流形学习算法对训练集文件进行特征选择,从而每个文件对应一个特征向量,特征向量作为核覆盖分类算法的输入来训练核覆盖分类器。最后对未知文件进行特征选择产生对应的特征向量,作为分类器的输入对其进行分类,从而分辨出其是恶意文件或非恶意文件。
下面结合附图说明本发明的具体实现方式。图1是本发明所提供的未知恶意代码的智能检测方法的检测过程示意图。该方法包括如下的步骤:
步骤1:利用Byte n-grams方法提取训练集中的文件的特征向量。
训练集可以通过网上下载的标准数据集进行构造。在网上,能够下载到专门用来进行恶意代码检测的标准数据集,数据集中会包含恶意代码文件和正常文件,可以根据特定规则从标准数据集中选择文件来构造训练集。
Byte n-grams方法是对二进制字节流或文本采用一个n字节大小的滑动窗口进行取词,每个词都是n个字节大小。比如一个文本文件的内容为“abcdef”,那么它的2-grams序列为:ab bc cd de ef,3-grams序列为:abc bcd cde def。
以一个文件的内容是“abcd”为例,对该文件提取2-grams序列为:ab bccd,这样就说这个文件具有三个属性,可以利用这三个属性组成的向量来表示这个文件,向量为:{ab,bc,cd}。
对每个属性进行量化,可以得到该文件的特征向量。比如a在字母表中位置为1,b为2……,那么我们可以以位置和的规则进行量化,量化结果为{3,5,7}。向量{3,5,7}即为该文件的特征向量。
步骤2:采用局部线性嵌入算法对提取的训练集中的文件的特征向量进行降维。图2是采用局部线性嵌入算法对提取的特征向量进行降维的流程图,图2中,采用局部线性嵌入算法对提取的训练集中的文件的特征向量进行降维包括:
步骤21:将特征向量作为样本点,利用K近邻方法寻找每个样本点的K个近邻点,其中K为设定值。
把相对于所求样本点距离最近的K个样本点规定为所求样本点的K个近邻点,其中K是预先给定的值,距离的计算可采用欧式距离计算方法。欧氏距离算法如下:设x,y∈RN,则x,y的欧氏距离可由下式求得:
W=(wij)∈Mn,n是这样的权值矩阵,如果xi与xj不相邻,则wij=0,设xi与xj(j=1,2,…,K)是相邻的,则有约束
使用XW近似表示X,会存在一定的误差,这里定义矩阵的Frobenius范数如下:A=(ai,j)∈Mm,m,为一个m阶矩阵,则
步骤23:由每个样本点xi的局部重建权值矩阵及其近邻点计算其低维输出值。
通过权值矩阵W,我们可以在低维空间中找到合适的yi,可通过以下约束来完成:其中yi是xi的输出向量,yjk,i(k=1,2,…,K)是yi的近邻点,并且要满足两个条件:与其中I是m×m的单位矩阵。由此,损失函数可重写为:其中M是n×n的对称矩阵:M=(I-W)T(I-W)。
要使损失函数值达到最小,则取Y为M的最小m个非零特征值所对应的特征向量。在处理过程中,将M的特征值从小到大排列,第一个特征值几乎接近于零,那么舍去第一个特征值。通常取从第2到第m+1之间的特征值所对应的特征向量作为输出结果。
步骤3:将降维后的特征向量作为输入,利用核覆盖学习算法训练核覆盖分类器。
核覆盖学习算法是在覆盖算法中引入核函数。首先,取一核函数K(x,y)=<T(x),T(y)>做以下变换T:D →Z,x∈D;其中D为输入的定义域为n维空间的有界集合,共有p个样本,这种变换就是将D上的点映射到P维核空间上。记核空间的输入集为Pt,t=1,2,…,p。在核空间中,不妨设输出集Y的前k个值均不相同。令所有输出为Yj(j≤k)的样本标号的集合为Ij,其对应的输入集合记为Pj(j=0,1,…,k-1)。经过上面的一系列初始化后,即可开始求取一批核空间中的覆盖。图3是利用核覆盖学习算法训练核覆盖分类器的流程图,图3中,利用核覆盖学习算法训练核覆盖分类器包括如下步骤:
步骤31:在样本点构成的样本空间中,构造覆盖领域系。
(1)在样本集中任取一个尚未被覆盖的点xj∈Pt,按式
步骤32:对覆盖领域进行融合,将属于同类的覆盖领域融合成特征空间的一个球面。
得到最优解α*={α1α2…αm}。
步骤33:构造出融合曲面f(x),对每一个样本点xi计算f(xi)的值,如果f(xi)的值大于零,则该样本点xi不含恶意文件;如果f(xi)的值小于零,则该样本点xi含有恶意文件。
用步骤32中得到的α*构造超平面:
其判别函数为:F(x)=Sign(f(x)+b0),其中b0为决策阈值。
对样本进行分类时,对每一个样本,计算f(x)的值,若f(x)>0,则x属于正类(即不含恶意文件),若f(x)<0,则x属于负类(即含有恶意文件),若f(x)=0,则称x被拒识。可以设定一个阈值ε,当|f(x)|<ε时认为x被拒识,这样可以减少误差。
步骤4:利用Byte n-grams方法提取测试集中的文件的特征向量。
如步骤1那样,利用Byte n-grams方法提取测试集中的文件的特征向量。测试集可以从网络上提供的数据集中进行选取。
步骤5:采用局部线性嵌入算法对提取的测试集中的文件的特征向量进行降维。
如步骤1那样,采用局部线性嵌入算法对步骤4提取的特征向量进行降维。
步骤6:将降维后的结果输入核覆盖分类器进行分类,对分类结果进行统计后,确定测试集中的文件是否含有恶意文件。
将步骤5的降维结果作为输入,使用步骤3得到的核覆盖分类器对步骤5的降维结果进行分类,对分类结果进行统计,而后,根据核覆盖分类器分类统计结果确定测试集中的文件是否含有恶意文件。
本发明以同时包含恶意文件和非恶意文件的样本集作为训练集,利用分类算法训练分类器,然后利用训练好的分类器对未知文件进行分类,以确定其是否为恶意文件。在对文件进行特征选择的过程中引入流形学习算法,对大量的文件特征属性进行分析处理,以发现隐藏在高维数据中有意义的低维结构,从而达到对高维文件特征属性进行降维处理的目的,提高了处理速度。在分类学习算法中引入核覆盖学习算法,该算法是在覆盖算法中引入支持向量机中的核函数的概念,与支持向量机算法相比,该算法对任意给定的样本集,能构造出一次就可准确划分样本集的核函数,从而保证了在先验知识不足和小样本的情况下,***仍有较好的分类正确率和较小的运算量。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (3)
1.一种未知恶意代码的检测方法,其特征是所述方法包括下列步骤:
步骤1:利用Byte n-grams方法提取训练集中的文件的特征向量;
步骤2:采用局部线性嵌入算法对提取的训练集中的文件的特征向量进行降维;
步骤3:将降维后的特征向量作为输入,利用核覆盖学习算法训练核覆盖分类器;
步骤4:利用Byte n-grams方法提取测试集中的文件的特征向量;
步骤5:采用局部线性嵌入算法对提取的测试集中的文件的特征向量进行降维;
步骤6:将降维后的结果输入核覆盖分类器进行分类,对分类结果进行统计后,确定测试集中的文件是否含有恶意代码。
3.根据权利要求1所述的一种未知恶意代码的检测方法,其特征是所述步骤3具体包括:
步骤31:在样本点构成的样本空间中,构造覆盖领域系;
步骤32:对覆盖领域进行融合,将属于同类的覆盖领域融合成特征空间的一个球面;
步骤33:构造出融合曲面f(x),对每一个样本点xi计算f(xi)的值,如果f(xi)的值大于零,则该样本点xi代表不含恶意代码的文件;如果f(xi)的值小于零,则该样本点xi代表含有恶意代码的文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110076525XA CN102142068A (zh) | 2011-03-29 | 2011-03-29 | 一种未知恶意代码的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110076525XA CN102142068A (zh) | 2011-03-29 | 2011-03-29 | 一种未知恶意代码的检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102142068A true CN102142068A (zh) | 2011-08-03 |
Family
ID=44409571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110076525XA Pending CN102142068A (zh) | 2011-03-29 | 2011-03-29 | 一种未知恶意代码的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102142068A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346830A (zh) * | 2011-09-23 | 2012-02-08 | 重庆大学 | 基于梯度直方图的病毒检测方法 |
CN102411687A (zh) * | 2011-11-22 | 2012-04-11 | 华北电力大学 | 未知恶意代码的深度学习检测方法 |
CN102651088A (zh) * | 2012-04-09 | 2012-08-29 | 南京邮电大学 | 基于A_Kohonen神经网络的恶意代码分类方法 |
CN102779249A (zh) * | 2012-06-28 | 2012-11-14 | 奇智软件(北京)有限公司 | 恶意程序检测方法及扫描引擎 |
CN104077524A (zh) * | 2013-03-25 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 用于病毒鉴定的训练方法和病毒鉴定方法及装置 |
CN104504334A (zh) * | 2013-12-05 | 2015-04-08 | 卡巴斯基实验室封闭式股份公司 | 用于评估分类规则选择性的***及方法 |
CN104778407A (zh) * | 2015-04-14 | 2015-07-15 | 电子科技大学 | 一种多维无特征码恶意程序检测方法 |
CN106447066A (zh) * | 2016-06-01 | 2017-02-22 | 上海坤士合生信息科技有限公司 | 一种大数据的特征提取方法和装置 |
CN106446221A (zh) * | 2016-09-30 | 2017-02-22 | 北京奇虎科技有限公司 | 数据分析方法及装置 |
US20180144131A1 (en) * | 2016-11-21 | 2018-05-24 | Michael Wojnowicz | Anomaly based malware detection |
WO2018184102A1 (en) * | 2017-04-03 | 2018-10-11 | Royal Bank Of Canada | Systems and methods for malicious code detection |
CN108985361A (zh) * | 2018-07-02 | 2018-12-11 | 北京金睛云华科技有限公司 | 一种基于深度学习的恶意流量检测实现方法和装置 |
CN109934004A (zh) * | 2019-03-14 | 2019-06-25 | 中国科学技术大学 | 一种机器学习服务***中保护隐私的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300765A1 (en) * | 2008-05-27 | 2009-12-03 | Deutsche Telekom Ag | Unknown malcode detection using classifiers with optimal training sets |
CN101944167A (zh) * | 2010-09-29 | 2011-01-12 | 中国科学院计算技术研究所 | 识别恶意程序的方法及*** |
CN101984450A (zh) * | 2010-12-15 | 2011-03-09 | 北京安天电子设备有限公司 | 恶意代码检测方法和*** |
-
2011
- 2011-03-29 CN CN201110076525XA patent/CN102142068A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300765A1 (en) * | 2008-05-27 | 2009-12-03 | Deutsche Telekom Ag | Unknown malcode detection using classifiers with optimal training sets |
CN101944167A (zh) * | 2010-09-29 | 2011-01-12 | 中国科学院计算技术研究所 | 识别恶意程序的方法及*** |
CN101984450A (zh) * | 2010-12-15 | 2011-03-09 | 北京安天电子设备有限公司 | 恶意代码检测方法和*** |
Non-Patent Citations (2)
Title |
---|
《2010 International Conference on Information,Networking and Automation(ICINA)》 20101019 Li Yuancheng等 An intrusion detection method based on LLE and BVM , * |
《电子学报》 20070531 周鸣争等 基于构造性核覆盖算法的异常入侵检测 第35卷, 第5期 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346830A (zh) * | 2011-09-23 | 2012-02-08 | 重庆大学 | 基于梯度直方图的病毒检测方法 |
CN102411687A (zh) * | 2011-11-22 | 2012-04-11 | 华北电力大学 | 未知恶意代码的深度学习检测方法 |
CN102411687B (zh) * | 2011-11-22 | 2014-04-23 | 华北电力大学 | 未知恶意代码的深度学习检测方法 |
CN102651088A (zh) * | 2012-04-09 | 2012-08-29 | 南京邮电大学 | 基于A_Kohonen神经网络的恶意代码分类方法 |
CN102651088B (zh) * | 2012-04-09 | 2014-03-26 | 南京邮电大学 | 基于A_Kohonen神经网络的恶意代码分类方法 |
CN102779249A (zh) * | 2012-06-28 | 2012-11-14 | 奇智软件(北京)有限公司 | 恶意程序检测方法及扫描引擎 |
CN102779249B (zh) * | 2012-06-28 | 2015-07-29 | 北京奇虎科技有限公司 | 恶意程序检测方法及扫描引擎 |
CN104077524A (zh) * | 2013-03-25 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 用于病毒鉴定的训练方法和病毒鉴定方法及装置 |
CN104077524B (zh) * | 2013-03-25 | 2018-01-09 | 腾讯科技(深圳)有限公司 | 用于病毒鉴定的训练方法和病毒鉴定方法及装置 |
CN104504334A (zh) * | 2013-12-05 | 2015-04-08 | 卡巴斯基实验室封闭式股份公司 | 用于评估分类规则选择性的***及方法 |
CN104504334B (zh) * | 2013-12-05 | 2018-08-10 | 卡巴斯基实验室封闭式股份公司 | 用于评估分类规则选择性的***及方法 |
CN104778407B (zh) * | 2015-04-14 | 2017-08-08 | 电子科技大学 | 一种多维无特征码恶意程序检测方法 |
CN104778407A (zh) * | 2015-04-14 | 2015-07-15 | 电子科技大学 | 一种多维无特征码恶意程序检测方法 |
CN106447066A (zh) * | 2016-06-01 | 2017-02-22 | 上海坤士合生信息科技有限公司 | 一种大数据的特征提取方法和装置 |
CN106446221A (zh) * | 2016-09-30 | 2017-02-22 | 北京奇虎科技有限公司 | 数据分析方法及装置 |
CN106446221B (zh) * | 2016-09-30 | 2019-09-17 | 北京奇虎科技有限公司 | 数据分析方法及装置 |
US20180144131A1 (en) * | 2016-11-21 | 2018-05-24 | Michael Wojnowicz | Anomaly based malware detection |
US10489589B2 (en) * | 2016-11-21 | 2019-11-26 | Cylance Inc. | Anomaly based malware detection |
US11210394B2 (en) | 2016-11-21 | 2021-12-28 | Cylance Inc. | Anomaly based malware detection |
WO2018184102A1 (en) * | 2017-04-03 | 2018-10-11 | Royal Bank Of Canada | Systems and methods for malicious code detection |
US10685284B2 (en) | 2017-04-03 | 2020-06-16 | Royal Bank Of Canada | Systems and methods for malicious code detection |
CN108985361A (zh) * | 2018-07-02 | 2018-12-11 | 北京金睛云华科技有限公司 | 一种基于深度学习的恶意流量检测实现方法和装置 |
CN108985361B (zh) * | 2018-07-02 | 2021-06-18 | 北京金睛云华科技有限公司 | 一种基于深度学习的恶意流量检测实现方法和装置 |
CN109934004A (zh) * | 2019-03-14 | 2019-06-25 | 中国科学技术大学 | 一种机器学习服务***中保护隐私的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102142068A (zh) | 一种未知恶意代码的检测方法 | |
CN104572958B (zh) | 一种基于事件抽取的敏感信息监控方法 | |
CN104598535B (zh) | 一种基于最大熵的事件抽取方法 | |
Nguyen et al. | Learning graph representation via frequent subgraphs | |
CN109670177A (zh) | 一种基于lstm实现医学语义归一化的控制方法及控制装置 | |
CN104504412A (zh) | 一种手写体笔划特征提取和识别方法及*** | |
CN103838744A (zh) | 一种查询词需求分析的方法及装置 | |
CN111597328B (zh) | 一种新事件主题提取方法 | |
CN105912525A (zh) | 基于主题特征的半监督学习情感分类方法 | |
CN106777957A (zh) | 不平衡数据集上生物医学多参事件抽取的新方法 | |
CN108681532B (zh) | 一种面向中文微博的情感分析方法 | |
CN103514150A (zh) | 识别具有组合型歧义的歧义词的方法和装置 | |
CN108877947A (zh) | 基于迭代均值聚类的深度样本学习方法 | |
CN104978569A (zh) | 一种基于稀疏表示的增量人脸识别方法 | |
CN116204831A (zh) | 一种基于神经网络的道地性分析方法 | |
Shao et al. | Land use classification using high-resolution remote sensing images based on structural topic model | |
CN108280357A (zh) | 基于语义特征提取的数据防泄漏方法、*** | |
CN102902984B (zh) | 基于局部一致性的遥感影像半监督投影降维方法 | |
CN115146062A (zh) | 融合专家推荐与文本聚类的智能事件分析方法和*** | |
Rani et al. | A zone based approach for classification and recognition of telugu handwritten characters | |
CN112784601B (zh) | 关键信息提取方法、装置、电子设备和存储介质 | |
Dotan et al. | Effect of tokenization on transformers for biological sequences | |
CN103093239B (zh) | 一种融合了点对和邻域信息的建图方法 | |
Zhang et al. | Predicting binding affinities of emerging variants of SARS-CoV-2 using spike protein sequencing data: observations, caveats and recommendations | |
CN108108184A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110803 |