一种基于多模式的恶意代码匹配方法及装置的制造方法_2

文档序号:9888027阅读:来源:国知局
式匹配算法,允许I个错误率的近似匹配,即使模式个数达到几千的数目,搜索匹配的效率仍旧很高;
优选地,所述压缩存储方法包括:矩阵压缩存储或者Bitmap压缩存储。
[0021]其中,传统的有限状态机的存储方式为利用二维数组进行完全存储,但是由于二维数组中有效状态较少,存在大量的置空元素,造成了内存的大量消耗,因此可以采用矩阵压缩存储或者Bitmap压缩存储的方式改善这一缺陷。
[0022]所述矩阵压缩存储包括如下三个行元素:
Value Vector:存放有限状态机中所有的非零元素的值;
Col Vector:存放非零元素对应的列值;
Raw Vector:存放每一行的第一个非零元素在Value Vector中的位置。
[0023]例如:存在如下6X6的矩阵:
0 2 0 0 0 1
0 0 0 0 0 5 0 0 0 0 3 0 0 0 1 9 0 0 0 0 0 0 5 0 0 3 0 0 0 6 Value Vector:2 15319536;
Col Vector:2 66534526;
Raw Vector:1 3 4 5 7 80
[0024]所述Bitmap压缩存储方法需要结合特征库中特征码的字频特征进行存储;主要考虑使用ASCII和UNICODE的编码,并只考虑小写字母,将大写字母转换为小写字母可以减少26个状态指针,内存占用会减少至少10% ;对于字频高于预设阈值T的字符保留,对于字频低于预设阈值T的字符则被压缩;字符c的频率为f (c)表示,则映射值F (c)如下。
[0025]if f (c) >= T,F (c) = ++c ;iff (c) == O,F (c) = O ;if O < f (c) < T,F(c) = -1 ;
在匹配过程中,映射值为正的字符进入跳转状态,为O的字符进入零状态,为-1的字符为低频字符,利用哈希或Bitmap的方法来存储跳转状态。Bitmap利用一个256位的位图来保存二进制I或O,如果对应位为O,则表示对应二维数组对应位置为O,那么需要计算Fail表来获得失效状态,因为使用了 256位保存,所以保存的位置能与原来的二维数组相对应。
[0026]用户可以根据矩阵压缩存储和Bitmap压缩存储的特征选择所需的压缩存储方法,所述压缩存储方法可以减少状态机的存储空间,减少系统资源占用,能够保证较快的随机访问速度。
[0027]本发明还提供了一种基于多模式的恶意代码匹配装置实施例,如图4所示,包括: 预处理模块401,用于基于特征库中特征码的语义特征对待检测样本进行筛选,缩短待检测样本长度;
状态机生成模块402,用于判断特征库是否存在更新,若是,则重新基于各特征码前缀构建树状有限状态机,否则沿用已生成的有限状态机;
压缩存储模块403,用于对于生成的有限状态机进行压缩存储;
匹配模块404,用于基于坏字符跳转的原则利用压缩存储的有限状态机从后向前匹配待检测样本。
[0028]优选地,所述缩短待检测样本长度的方法为:利用多模式近似匹配算法在预设错误率下缩短待检测样本长度。
[0029]优选地,所述压缩存储方法包括:矩阵压缩存储或者Bitmap压缩存储。
[0030]如上所述,上述所给出的实施例对传统的AC多模式匹配算法进行了改进,首先,对待检测样本基于特征码的语义特征进行缩短处理;其次,基于特征库中的特征码前缀生成树状有限状态机;选择矩阵压缩存储或者Bitmap压缩存储等方式对生成的有限状态机进行压缩存储;最终基于坏字符跳转的原则进行多模式并行的特征码匹配。
[0031]综上,传统的多模式匹配算法是从前向后匹配的,在匹配时也可以做到对待检测样本只进行一次扫描,但是,当特征库中的特征码数量过大时,会造成启动速度慢、内存占用率过高等问题。本发明所给出的方法及装置,针对现有技术中存在的缺陷进行了改进,缩短了待检测样本的长度并压缩存储由特征码生成的有限状态机,并进一步采用坏字符跳转原则从后向前匹配,这样大大减少了参与匹配的字符数量,从而缩短了恶意代码匹配所需的时间。
[0032]以上实施例用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
【主权项】
1.一种基于多模式的恶意代码匹配方法,其特征在于,包括: 基于特征库中特征码的语义特征对待检测样本进行筛选,缩短待检测样本长度; 判断特征库是否存在更新,若是,则重新基于各特征码前缀构建树状有限状态机,否则沿用已生成的有限状态机; 对于生成的有限状态机进行压缩存储; 基于坏字符跳转的原则利用压缩存储的有限状态机从后向前匹配待检测样本。2.如权利要求1所述的方法,其特征在于,所述缩短待检测样本长度的方法为:利用多模式近似匹配算法在预设错误率下缩短待检测样本长度。3.如权利要求1所述的方法,其特征在于,所述压缩存储方法包括:矩阵压缩存储或者Bitmap压缩存储。4.一种基于多模式的恶意代码匹配装置,其特征在于,包括: 预处理模块,用于基于特征库中特征码的语义特征对待检测样本进行筛选,缩短待检测样本长度; 状态机生成模块,用于判断特征库是否存在更新,若是,则重新基于各特征码前缀构建树状有限状态机,否则沿用已生成的有限状态机; 压缩存储模块,用于对于生成的有限状态机进行压缩存储; 匹配模块,用于基于坏字符跳转的原则利用压缩存储的有限状态机从后向前匹配待检测样本。5.如权利要求4所述的装置,其特征在于,所述缩短待检测样本长度的方法为:利用多模式近似匹配算法在预设错误率下缩短待检测样本长度。6.如权利要求4所述的装置,其特征在于,所述压缩存储方法包括:矩阵压缩存储或者Bitmap压缩存储。
【专利摘要】本发明公开了一种基于多模式的恶意代码匹配方法,包括:基于特征库中特征码的语义特征对待检测样本进行筛选,缩短待检测样本长度;判断特征库是否存在更新,若是,则重新基于各特征码前缀构建树状有限状态机,否则沿用已生成的有限状态机;对于生成的有限状态机进行压缩存储;基于坏字符跳转的原则利用压缩存储的有限状态机从后向前匹配待检测样本。同时,本发明公开了一种基于多模式的恶意代码匹配装置。本发明所述的技术方案即使在特征库中特征码较多的情况下,也能够以较快的匹配速度完成特征码匹配,同时减少了系统资源的占用。
【IPC分类】G06F21/56
【公开号】CN105653950
【申请号】
【发明人】张家兴, 李柏松
【申请人】哈尔滨安天科技股份有限公司
【公开日】2016年6月8日
【申请日】2015年7月17日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1