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

文档序号:6434001阅读:904来源:国知局
专利名称:基于梯度直方图的病毒检测方法
技术领域
本发明涉及一种病毒检测方法,尤其是涉及一种基于梯度直方图的病毒检测方法。
背景技术
Internet改变了人们生活方式和工作方式,改变了全球的经济结构、社会结构,对人类社会的各个方面产生了极为深远的影响。但是,在互联网高速发展的同时,网络安全问题也日益严重。随着互联网的普及,病毒的危害日益严重。不仅使企业和用户蒙受了巨大的经济损失,而且使国家安全面临严重的威胁。随着病毒攻击和破坏行为的日益普遍和多样,信息系统安全性面临严峻的挑战,病毒问题也成为影响社会经济发展和国家发展战略的重要因素。因此,剖析计算机病毒的基本原理及相应的防治技术,强化计算机系统的安全可靠性仍是计算机应用领域的重要课题。病毒检测作为安全防御体系中继防火墙、数据加密等传统安全保护措施后又一项重要的安全保障技术,在保障信息系统安全的工作中起着重要的作用。目前病毒检测技术在智能化和分布式两个方向取得了很大的进展。近年来,数据挖掘、人工免疫、信息检索、容错等技术也渗透融合到了病毒检测系统中,从而将病毒检测的发展推向了一个新的高度。 随着互联网的发展,病毒检测系统面对着不断增加的挑战,如何提高检测效率和准确性也成了当务之急。

发明内容
本发明的目的是提供一种提高检测效率的病毒检测方法。为了实现上述目的,本发明提供了一种基于梯度直方图的病毒检测方法,包括以下步骤
使用HOG (Histogram of Oriented Gradients,方向梯度直方图)特征描述器提取目标病毒特征向量的步骤;对病毒进行SVM分类的步骤;识别病毒特征向量的步骤。所述使用HOG特征描述器提取目标病毒特征向量的步骤包括以下步骤
Al、对目标病毒进行预处理,将目标病毒的八位二进制码元作为一个组合来进行二进制到十进制的转换,将十进制的代码表示成一个数值矩阵的形式; A2、计算目标病毒的梯度模值; A3、提取目标病毒的特征向量; A4、对提取的特征向量进行降维处理。所述对病毒进行SVM分类的步骤包括以下步骤
Bi、获取样本的步骤,所述样本由病毒文件的特征向量集合与正常文件的特征向量集合组成;
B2、对获取的样本进行数据归一化;B3、对获取的样本进行分类计算。所述识别病毒特征向量的步骤包括以下步骤
Cl、把目标病毒的特征向量与SVM分类的特征向量进行对比。综上所述,由于采用了上述技术方案,本发明的有益效果是通过对病毒文件进行预处理,将目标病毒文件表示成适合处理的数值矩阵的形式,然后利用HOG特征描述器得到目标病毒文件的特征向量,最后通过把目标病毒的特征向量与SVM分类的特征向量进行对比来检测病毒,从而达到提高恶意代码检测效率的目的。


本发明将通过例子并参照附图的方式说明,其中 图1是本发明的方法流程图2是矩形梯度直方图描述器;
图3是含有2 个单元的区域示意图4是方向梯度直方图示例;
图5是支持向量示意图6是SVM分类器与KNN分类器性能比较图7是SVM分类器与KNN分类器的ROC曲线图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式
仅仅用以解释本发明, 并不用于限定本发明。如图1所示,一种基于梯度直方图的病毒检测方法,包括以下步骤使用HOG特征描述器提取目标病毒特征向量的步骤;对病毒进行SVM分类的步骤;识别病毒特征向量的步骤。使用HOG特征描述器提取目标病毒特征向量的步骤包括以下步骤
Al、对目标病毒进行预处理,将目标病毒的八位二进制码元作为一个组合来进行二进制到十进制的转换,将十进制的代码表示成一个数值矩阵的形式; A2、计算目标病毒的梯度模值; A3、提取目标病毒的特征向量; A4、对提取的特征向量进行降维处理。对病毒进行SVM分类的步骤包括以下步骤
Bi、获取样本的步骤,样本由病毒文件的特征向量集合与正常文件的特征向量集合组
成;
B2、对获取的样本进行数据归一化; B3、对获取的样本进行分类计算。识别病毒特征向量的步骤包括以下步骤
Cl、把目标文件的特征向量与SVM分类的特征向量进行对比。如图2至图4所示,在HOG特征描述器计算时,经过步骤Al得到扫描矩阵,把扫描
4矩阵的窗口分割成密集统一的网格点,包含若干个区域,区域的个数由矩阵决定,每个区域包含ppcpi个数据点,以每个网格点为中心将区域划分成单元。其中每个区域block包括 ^ 单元,而每个单元又包括数据点,每个单元也包括声个方向角度,f Ψ於是参数,图3所示的是本发明中所使用的矩形梯度直方图中区域的示意图,本实施例中每个区域包含含有2*2单元,每个单元中含有8*8个数据点。由于产生网格点的平移间距大小与每个单元中所包含的数据点个数是相同的,故这些描述符区域通常都是重叠的,大多数数据点单元在计算的时候同时对所在的多个区域的HOG特征描述器均有贡献,因此需要对该区域内的HOG特征描述器标准化。在此以矩阵大小为128*64,边缘区域大小为16*16作为示例,介绍划分区域及单
ρ τ— h fili Wi rl
元密集统一网格中心点的计算方法jenlrrf = ---+ 1,其中.表示矩阵
8s^ze
的大小,iiW表示边缘区域的大小。将矩阵大小和边缘区域大小代入可得则垂直方向划分为(64-16) /8+1=7个点,水平方向划分为(128-16) /8+1=15个点,整个扫描矩阵的窗口划分成共105个网格中心点,以这些网格点为中心,计算出单元的梯度直方图,再将每个单元的梯度直方图整合生成相应的局部区域梯度直方图。以函数/(U)表示病毒矩阵,其中Ajr分别表示行号和列号,并设算子函数为A, 有如下表达式= ΣΣ + +,这里取丄,0,4,以5*5矩阵
a b
为例,则上式可写为
giXj jr) = /(χ+Xy +1) AOL 5+ /(XjJf+IJA(O3I) + f(x- Xy+5
ι /(X+ ljr>fea(0 +i fixm由上式可
+/( +Ιν—1)Aa—1)+/<>;ν—5 +DM—l·—I)
r W) mi) K i^
知算子函数h可表示为如下形式acuo Km κ-m,运算时将该算子
IMX I) 1) hi χ I)
放到矩阵上使其正中心正对数据点h(0,0),然后网格中每个h值将与矩阵中相应数据点相乘。在计算矩阵梯度时可以采用一维模板,如3*3的SObel模板和2*2的 Diagonal模板。在本发明中采用的模板是[_1,0,1],分别沿着X轴和Y轴卷积, 然后计算梯度,求出每一个数据点梯度的模值和方向。在本发明中,对应的梯度模
值和方向的表达式为= J[fii +lj)-Ri-Xj)f +[/(U+1)-/(U-I)f,
^^,矩阵和核算子的大小是有限的,当矩阵的边缘点在与
核算子进行运算时,将其周围补充相应的行数,补充行的值取0或者等于周边值,在本发明中采取补0的措施。计算出梯度之后,在形成最后的直方图之前,需要对区域中每个单元的梯度运用高斯窗口滤波,高斯滤波器是一类根据高斯函数的形状来提供权值的线性平滑滤波器,在一个单元里,高斯通过空间距离给出权值,自身的权值最大,离中心点越远,权值越小,以此为原则进行加权滤波。标准差为的一元高斯函数定义如下=
权利要求
1.一种基于梯度直方图的病毒检测方法,其特征在于包括以下步骤使用HOG特征描述器提取目标病毒特征向量的步骤;对病毒进行SVM分类的步骤;识别病毒特征向量的步骤。
2.根据权利要求1所述的基于梯度直方图的病毒检测方法,其特征在于所述使用HOG 特征描述器提取目标病毒特征向量的步骤包括以下步骤Al、对目标病毒进行预处理,将目标病毒的八位二进制码元作为一个组合来进行二进制到十进制的转换,将十进制的代码表示成一个数值矩阵的形式;A2、计算目标病毒的梯度模值;A3、提取目标病毒的特征向量;A4、对提取的特征向量进行降维处理。
3.根据权利要求1所述的基于梯度直方图的病毒检测方法,其特征在于所述对病毒进行SVM分类的步骤包括以下步骤Bi、获取样本的步骤;B2、对获取的样本进行数据归一化;B3、对获取的样本进行分类计算。
4.根据权利要求3所述的基于梯度直方图的病毒检测方法,其特征在于所述样本由病毒文件的特征向量集合与正常文件的特征向量集合组成。
5.根据权利要求1所述的基于梯度直方图的病毒检测方法,其特征在于所述识别病毒特征向量的步骤包括以下步骤Cl、把目标文件的特征向量与SVM分类的特征向量进行对比。
全文摘要
本发明公开了一种基于梯度直方图的病毒检测方法,针对目前在病毒检测中日益增长的实时性与准确性的要求,在此提出一种利用病毒文件二进制表示形式的检测方法。相对于传统的病毒检测方法,该方法主要是从整体上对病毒文件进行操作,首先通过对病毒文件进行预处理,将病毒文件表示成适合处理的数值矩阵的形式,然后利用能够体现边缘特征的HOG描述符得到描述病毒文件的特征向量,最后通过对特征向量的分类进行检测,从而达到提高恶意代码检测效率的目的。
文档编号G06F21/00GK102346830SQ20111028571
公开日2012年2月8日 申请日期2011年9月23日 优先权日2011年9月23日
发明者严鸣, 唐朝伟, 张雪臻, 时豪, 李超群, 杨磊, 蒋阳 申请人:重庆大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1