CN102346830B - 基于梯度直方图的病毒检测方法 - Google Patents

基于梯度直方图的病毒检测方法 Download PDF

Info

Publication number
CN102346830B
CN102346830B CN201110285716.7A CN201110285716A CN102346830B CN 102346830 B CN102346830 B CN 102346830B CN 201110285716 A CN201110285716 A CN 201110285716A CN 102346830 B CN102346830 B CN 102346830B
Authority
CN
China
Prior art keywords
virus
proper vector
histogram
carried out
target viral
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.)
Expired - Fee Related
Application number
CN201110285716.7A
Other languages
English (en)
Other versions
CN102346830A (zh
Inventor
唐朝伟
严鸣
蒋阳
张雪臻
时豪
李超群
杨磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University
Original Assignee
Chongqing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University filed Critical Chongqing University
Priority to CN201110285716.7A priority Critical patent/CN102346830B/zh
Publication of CN102346830A publication Critical patent/CN102346830A/zh
Application granted granted Critical
Publication of CN102346830B publication Critical patent/CN102346830B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

本发明公开了一种基于梯度直方图的病毒检测方法,针对目前在病毒检测中日益增长的实时性与准确性的要求,在此提出一种利用病毒文件二进制表示形式的检测方法。相对于传统的病毒检测方法,该方法主要是从整体上对病毒文件进行操作,首先通过对病毒文件进行预处理,将病毒文件表示成适合处理的数值矩阵的形式,然后利用能够体现边缘特征的HOG描述符得到描述病毒文件的特征向量,最后通过对特征向量的分类进行检测,从而达到提高恶意代码检测效率的目的。

Description

基于梯度直方图的病毒检测方法
技术领域
本发明涉及一种病毒检测方法,尤其是涉及一种基于梯度直方图的病毒检测方法。
背景技术
Internet改变了人们生活方式和工作方式,改变了全球的经济结构、社会结构,对人类社会的各个方面产生了极为深远的影响。但是,在互联网高速发展的同时,网络安全问题也日益严重。
随着互联网的普及,病毒的危害日益严重。不仅使企业和用户蒙受了巨大的经济损失,而且使国家安全面临严重的威胁。随着病毒攻击和破坏行为的日益普遍和多样,信息***安全性面临严峻的挑战,病毒问题也成为影响社会经济发展和国家发展战略的重要因素。因此,剖析计算机病毒的基本原理及相应的防治技术,强化计算机***的安全可靠性仍是计算机应用领域的重要课题。
病毒检测作为安全防御体系中继防火墙、数据加密等传统安全保护措施后又一项重要的安全保障技术,在保障信息***安全的工作中起着重要的作用。目前病毒检测技术在智能化和分布式两个方向取得了很大的进展。近年来,数据挖掘、人工免疫、信息检索、容错等技术也渗透融合到了病毒检测***中,从而将病毒检测的发展推向了一个新的高度。随着互联网的发展,病毒检测***面对着不断增加的挑战,如何提高检测效率和准确性也成了当务之急。
发明内容
本发明的目的是提供一种提高检测效率的病毒检测方法。
为了实现上述目的,本发明提供了一种基于梯度直方图的病毒检测方法,包括以下步骤:
使用HOG(Histogram of Oriented Gradients,方向梯度直方图)特征描述器提取目标病毒特征向量的步骤;对病毒进行SVM分类的步骤;识别病毒特征向量的步骤。
所述使用HOG特征描述器提取目标病毒特征向量的步骤包括以下步骤:
A1、对目标病毒进行预处理,将目标病毒的八位二进制码元作为一个组合来进行二进制到十进制的转换,将十进制的代码表示成一个数值矩阵的形式;
A2、计算目标病毒的梯度模值;
A3、提取目标病毒的特征向量;
A4、对提取的特征向量进行降维处理。
所述对病毒进行SVM分类的步骤包括以下步骤:
B1、获取样本的步骤,所述样本由病毒文件的特征向量集合与正常文件的特征向量集合组成;
B2、对获取的样本进行数据归一化;
B3、对获取的样本进行分类计算。
所述识别病毒特征向量的步骤包括以下步骤:
C1、把目标病毒的特征向量与SVM分类的特征向量进行对比。
综上所述,由于采用了上述技术方案,本发明的有益效果是:通过对病毒文件进行预处理,将目标病毒文件表示成适合处理的数值矩阵的形式,然后利用HOG特征描述器得到目标病毒文件的特征向量,最后通过把目标病毒的特征向量与SVM分类的特征向量进行对比来检测病毒,从而达到提高恶意代码检测效率的目的。 
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明的方法流程图;
图2是矩形梯度直方图描述器;
图3是含有2*2个单元的区域示意图;
图4是方向梯度直方图示例;
图5是支持向量示意图;
图6是SVM分类器与KNN分类器性能比较图;
图7 是SVM分类器与KNN分类器的ROC曲线图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
如图1 所示,一种基于梯度直方图的病毒检测方法,包括以下步骤:使用HOG特征描述器提取目标病毒特征向量的步骤;对病毒进行SVM分类的步骤;识别病毒特征向量的步骤。
使用HOG特征描述器提取目标病毒特征向量的步骤包括以下步骤:
A1、对目标病毒进行预处理,将目标病毒的八位二进制码元作为一个组合来进行二进制到十进制的转换,将十进制的代码表示成一个数值矩阵的形式;
A2、计算目标病毒的梯度模值;
A3、提取目标病毒的特征向量;
A4、对提取的特征向量进行降维处理。
对病毒进行SVM分类的步骤包括以下步骤:
B1、获取样本的步骤,样本由病毒文件的特征向量集合与正常文件的特征向量集合组成;
B2、对获取的样本进行数据归一化;
B3、对获取的样本进行分类计算。
识别病毒特征向量的步骤包括以下步骤:
C1、把目标文件的特征向量与SVM分类的特征向量进行对比。
如图2至图4所示,在HOG特征描述器计算时,经过步骤A1得到扫描矩阵,把扫描矩阵的窗口分割成密集统一的网格点,包含若干个区域,区域的个数由矩阵决定,每个区域包含                                                
Figure 2011102857167100002DEST_PATH_IMAGE001
个数据点,以每个网格点为中心将区域划分成单元。其中每个区域 block包括
Figure 385456DEST_PATH_IMAGE002
单元,而每个单元又包括数据点,每个单元也包括
Figure 57877DEST_PATH_IMAGE004
个方向角度,是参数,图3所示的是本发明中所使用的矩形梯度直方图中区域的示意图,本实施例中每个区域包含含有2*2单元,每个单元中含有8*8个数据点。由于产生网格点的平移间距大小与每个单元中所包含的数据点个数是相同的,故这些描述符区域通常都是重叠的,大多数数据点单元在计算的时候同时对所在的多个区域的HOG特征描述器均有贡献,因此需要对该区域内的HOG特征描述器标准化。
在此以矩阵大小为128*64,边缘区域大小为16*16作为示例,介绍划分区域及单元密集统一网格中心点的计算方法:
Figure 601466DEST_PATH_IMAGE006
,其中
Figure 2011102857167100002DEST_PATH_IMAGE007
表示矩阵的大小,
Figure 525691DEST_PATH_IMAGE008
表示边缘区域的大小。将矩阵大小和边缘区域大小代入可得则垂直方向划分为(64-16)/8+l=7个点,水平方向划分为(128-16)/8+l=15个点,整个扫描矩阵的窗口划分成共105个网格中心点,以这些网格点为中心,计算出单元的梯度直方图,再将每个单元的梯度直方图整合生成相应的局部区域梯度直方图。
以函数表示病毒矩阵,其中
Figure 239436DEST_PATH_IMAGE010
分别表示行号和列号,并设算子函数为
Figure DEST_PATH_IMAGE011
,有如下表达式:
Figure 145075DEST_PATH_IMAGE012
,这里
Figure DEST_PATH_IMAGE013
取1,0,-1,以5*5矩阵为例,则上式可写为:
Figure 116574DEST_PATH_IMAGE014
,由上式可知算子函数h可表示为如下形式:
Figure DEST_PATH_IMAGE015
,运算时将该算子放到矩阵上使其正中心正对数据点h(0,0),然后网格中每个h值将与矩阵中相应数据点相乘。在计算矩阵梯度时可以采用一维模板,如3*3的sobel模板和2*2的Diagonal模板。在本发明中采用的模板是[-1,0,1],分别沿着X轴和Y轴卷积,然后计算梯度,求出每一个数据点梯度的模值和方向。在本发明中,对应的梯度模值和方向的表达式为:
Figure 641227DEST_PATH_IMAGE016
Figure DEST_PATH_IMAGE017
,矩阵和核算子的大小是有限的,当矩阵的边缘点在与核算子进行运算时,将其周围补充相应的行数,补充行的值取0或者等于周边值,在本发明中采取补0的措施。
计算出梯度之后,在形成最后的直方图之前,需要对区域中每个单元的梯度运用高斯窗口滤波,高斯滤波器是一类根据高斯函数的形状来提供权值的线性平滑滤波器,在一个单元里,高斯通过空间距离给出权值,自身的权值最大,离中心点越远,权值越小,以此为原则进行加权滤波。
标准差为
Figure 378851DEST_PATH_IMAGE018
的一元高斯函数定义如下:
Figure DEST_PATH_IMAGE019
Figure 393075DEST_PATH_IMAGE020
代表数据点到所在区域网格中心的距离,矩阵梯度经过高斯滤波为数据点赋予权值后,在每个单元中用直方图统计数据点的梯度方向,梯度直方图的范围是0°~180°,其中每隔20°一个柱,总共9柱,则在每个区域中形成共4*9=36维的特征向量,例如对每个块中的4个单元分别构建方向梯度直方图:直方图的横轴代表方向梯度角,从0到
Figure DEST_PATH_IMAGE021
平均分为9份,每份宽度为
Figure 851869DEST_PATH_IMAGE022
(带宽),纵轴代表梯度幅值统计值。
对于一个单元中的数据点,按照自身的高斯权重对直方图进行投票:按照某个数据点方向梯度角所属的带,给该带加上梯度幅值与权重之积作为统计值,例如某数据点的梯度角是
Figure DEST_PATH_IMAGE023
,那么它属于
Figure 976951DEST_PATH_IMAGE024
Figure DEST_PATH_IMAGE025
这一带,则将该带的统计值加上此数据点的梯度幅值。
因为在对一个矩阵进行处理时,大部分的区域block会重叠,所以在经过上述操作可以得到区域block的梯度直方图的特征向量后,需要对描述区域直方图的特征向量做标准化处理,在本发明中采用L2-Hys对区域梯度直方图向量进行标准化处理,计算方法如下:
Figure 840521DEST_PATH_IMAGE026
 , 
Figure DEST_PATH_IMAGE027
为没有进行标准化的区域HOG特征描述器向量,最后将待测矩阵中所有区域的梯度直方图HOG特征描述器合并在一起,生成描述待测矩阵的梯度直方图特征向量。
在提取出病毒文件的HOG特征向量之后,对特征向量进行降维,从而实现较快的检测速度。在本发明中,使用PCA(principal component analysis,主成分分析)来降低特征向量的维度。
假设要进行主成分分析的原有指标有
Figure 25645DEST_PATH_IMAGE028
个,记为
Figure DEST_PATH_IMAGE029
,样本总数为
Figure 158686DEST_PATH_IMAGE030
,则样本矩阵可记为
Figure DEST_PATH_IMAGE031
Figure 87459DEST_PATH_IMAGE032
Figure DEST_PATH_IMAGE033
)。首先需计算出标准化后样本矩阵的相关系数矩阵
Figure 802606DEST_PATH_IMAGE034
(其中
Figure 155702DEST_PATH_IMAGE036
),然后计算特征方程
Figure DEST_PATH_IMAGE037
,得出非负特征值
Figure 323509DEST_PATH_IMAGE038
Figure DEST_PATH_IMAGE039
,并将其按由大到小的顺序排列。各个主成分
Figure 993656DEST_PATH_IMAGE040
的方差对应于对应的特征值
Figure DEST_PATH_IMAGE041
Figure 563309DEST_PATH_IMAGE041
又称为主成分
Figure 277187DEST_PATH_IMAGE040
的方差贡献,前
Figure 126764DEST_PATH_IMAGE042
个主成分
Figure DEST_PATH_IMAGE043
的方差贡献率之和为
Figure 397339DEST_PATH_IMAGE044
,即的累计贡献率。
如图5所示,对病毒进行SVM分类时,需要先获取样本,在本发明中的样本是由病毒文件的特征向量集和与正常文件的特征向量集合构成,然后进行数据规格化,将特征向量的每个属性值按比例缩放到[-1,1]或者[0,1]范围内,在本发明中将每个属性值按比例缩放到[0,1]范围内,SVM分类常用的核函数有线性核函数
Figure DEST_PATH_IMAGE045
、多项式核函数
Figure 971857DEST_PATH_IMAGE046
、径向基核函数
Figure DEST_PATH_IMAGE047
和 Sigmoid 核函数
Figure 114256DEST_PATH_IMAGE048
(其中
Figure 123276DEST_PATH_IMAGE050
Figure DEST_PATH_IMAGE051
为核参数),在本发明中选择径向基核函数作为SVM分类器的核函数,K(Xi,Xj)表示高维特征空间的内积值,通过内积值可以计算出支持向量,计算支持向量的公式为
Figure 401942DEST_PATH_IMAGE052
Figure DEST_PATH_IMAGE053
Figure 536251DEST_PATH_IMAGE054
,其中
Figure DEST_PATH_IMAGE055
是公式的最优解,当
Figure 165947DEST_PATH_IMAGE055
>0时,
Figure 965276DEST_PATH_IMAGE056
为支持向量,支持向量之间的距离就是最大分类距离,在这个距离中间的平面作为分类超平面。
本实施例数据集中样本总数为202个,其中正常程序105个,病毒程序97个,所有恶意代码来源于网站http: //vx.netlux.org,正常代码是在Windows XP***的计算机上获得。分类算法采用SVM,选用LIBSVM软件包的MATLAB版本及相应的辅助函数,实验采用五重交叉验证。
如图6、图7所示当采用95%作为PCA的累计贡献率时,分别使用SVM和KNN作为分类器的检测效果,为了直观,将分类结果绘制成ROC图,曲线下面的面积越大代表分类器越稳定,实验结果表明,用SVM做分类器的检测效率优于KNN。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

Claims (4)

1.一种基于梯度直方图的病毒检测方法,其特征在于包括以下步骤:
使用HOG特征描述器提取目标病毒特征向量的步骤;对病毒进行SVM分类的步骤;识别病毒特征向量的步骤;所述使用HOG特征描述器提取目标病毒特征向量的步骤包括以下步骤:
A1、对目标病毒进行预处理,将目标病毒的八位二进制码元作为一个组合来进行二进制到十进制的转换,将十进制的代码表示成一个数值矩阵的形式;
A2、计算目标病毒的梯度模值;
A3、提取目标病毒的特征向量;
A4、对提取的特征向量进行降维处理。
2.根据权利要求1所述的基于梯度直方图的病毒检测方法,其特征在于所述对病毒进行SVM分类的步骤包括以下步骤:
B1、获取样本的步骤;
B2、对获取的样本进行数据归一化;
B3、对获取的样本进行分类计算。
3.根据权利要求2所述的基于梯度直方图的病毒检测方法,其特征在于所述样本由病毒文件的特征向量集合与正常文件的特征向量集合组成。
4.根据权利要求1所述的基于梯度直方图的病毒检测方法,其特征在于所述识别病毒特征向量的步骤包括以下步骤:
C1、把目标文件的特征向量与SVM分类的特征向量进行对比。
CN201110285716.7A 2011-09-23 2011-09-23 基于梯度直方图的病毒检测方法 Expired - Fee Related CN102346830B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110285716.7A CN102346830B (zh) 2011-09-23 2011-09-23 基于梯度直方图的病毒检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110285716.7A CN102346830B (zh) 2011-09-23 2011-09-23 基于梯度直方图的病毒检测方法

Publications (2)

Publication Number Publication Date
CN102346830A CN102346830A (zh) 2012-02-08
CN102346830B true CN102346830B (zh) 2014-03-05

Family

ID=45545499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110285716.7A Expired - Fee Related CN102346830B (zh) 2011-09-23 2011-09-23 基于梯度直方图的病毒检测方法

Country Status (1)

Country Link
CN (1) CN102346830B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077527B (zh) * 2014-06-20 2017-12-19 珠海市君天电子科技有限公司 病毒检测机的生成方法和装置及病毒检测方法和装置
CN112183433B (zh) * 2020-10-12 2024-02-23 水木未来(北京)科技有限公司 一种实心和空心病毒颗粒的表征量化方法
CN113449304B (zh) * 2021-07-06 2024-03-22 北京科技大学 一种基于策略梯度降维的恶意软件检测方法及装置
CN114647849B (zh) * 2022-03-22 2024-06-25 安天科技集团股份有限公司 潜在危险文件的检测方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101382984A (zh) * 2007-09-05 2009-03-11 江启煜 一种扫描检测广义未知病毒的方法
IL191744A0 (en) * 2008-05-27 2009-02-11 Yuval Elovici Unknown malcode detection using classifiers with optimal training sets
CN102142068A (zh) * 2011-03-29 2011-08-03 华北电力大学 一种未知恶意代码的检测方法
CN102169533A (zh) * 2011-05-11 2011-08-31 华南理工大学 一种商用网页恶意篡改检测方法

Also Published As

Publication number Publication date
CN102346830A (zh) 2012-02-08

Similar Documents

Publication Publication Date Title
Liu et al. Automatic malware classification and new malware detection using machine learning
Liu et al. Targeting ultimate accuracy: Face recognition via deep embedding
Pedronette et al. Shape retrieval using contour features and distance optimization.
US8913798B2 (en) System for recognizing disguised face using gabor feature and SVM classifier and method thereof
CN102346830B (zh) 基于梯度直方图的病毒检测方法
CN104966090B (zh) 实现面向图像理解的视觉单词生成和评价的***及方法
CN104299003A (zh) 一种基于相似规则高斯核函数分类器的步态识别方法
Zhang et al. Character proposal network for robust text extraction
Nanni et al. Combining face and eye detectors in a high-performance face-detection system
Gu et al. An advanced deep learning approach for safety helmet wearing detection
CN112241530A (zh) 恶意pdf文档的检测方法及电子设备
Yin et al. Accurate and robust text detection: A step-in for text retrieval in natural scene images
CN109934852B (zh) 一种基于对象属性关系图的视频描述方法
CN103246877A (zh) 基于图像轮廓的人脸识别新方法
Yuan et al. A review of recent advances in ear recognition
Ronao et al. Mining SQL queries to detect anomalous database access using random forest and PCA
Lin et al. Multi-class image classification based on fast stochastic gradient boosting
Li et al. Face gesture recognition based on clustering algorithm
CN113225300B (zh) 一种基于图像的大数据分析方法
Shaharudin et al. Improved cluster partition in principal component analysis guided clustering
Paul et al. Automatic adaptive facial feature extraction using CDF analysis
CN106933805B (zh) 一种大数据集中生物事件触发词的识别方法
JP6080580B2 (ja) パターン認識装置
Sang et al. An effective face recognition algorithm based on parallel local phase quantization and matching degree
CN104143089B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140305

Termination date: 20190923