一种基于特征向量的相似恶意样本匹配方法及系统的制作方法
【专利说明】-种基于特征向量的相似恶意样本匹配方法及系统
[0001]
技术领域
[0002] 本发明设及信息安全技术领域,尤其设及一种基于特征向量的相似恶意样本匹配 方法及系统。
【背景技术】
[0003] 随着近些年来数据的井喷式的增长,在网络安全运个领域,恶意程序的种类、数量 也在飞速增长。如何能够在运海量的恶意代码中,发现恶意代码的共性,对于反病毒技术的 发展有着很大的帮助。
【发明内容】
[0004] 针对上述技术问题,本发明提供了一种基于特征向量的相似恶意样本匹配方法及 系统,能够在海量恶意样本文件中快速发现恶意样本文件间的共性,查询到所需的相似样 本,生成报告,W提供给相关人员进行分析。解决了传统方法中检索速度慢、耗时长等技术 问题。 阳〇化]本发明采用如下方法来实现:一种基于特征向量的相似恶意样本匹配方法,包 括: 提取海量恶意样本文件库中的各恶意样本文件的行为特征; 过滤所述行为特征,计算过滤后的各行为特征的hash值,并针对各恶意样本文件生成 行为特征向量组,所述行为特征向量组包含m个行为特征向量,所述m个行为特征向量对应 于各恶意样本文件的m类行为特征; 所述行为特征向量的结构为:行为特征类型:[行为分量1,行为分量2…行为分量η]; 获取待查询样本文件的待查询特征向量组; 求取待查询样本文件与各恶意样本文件的样本相似度,获取样本相似度大于或等于目 标相似度的恶意样本文件的行为特征向量组,根据所述行为特征向量组,找到相应的恶意 样本文件,所述恶意样本文件为与待查询样本文件相似的恶意样本文件; 所述求取样本相似度的具体方法为: 将待查询特征向量组的行为特征向量与各恶意样本文件的行为特征向量进行比对,求 取任一行为特征类型下,两者所含的相同行为分量的数目; 求取相同行为分量的数目与该行为特征向量的行为分量总数目的比值,再乘W该行为 特征向量的预设权重,获得该行为特征向量的中间权重值,并W同样的方法求取其余行为 特征向量的中间权重值,计算所有中间权重值之和,获得样本相似度; 所述的全部行为特征向量权重总和为1。
[0006] 进一步地,在求取样本相似度之前,还包括:基于预设过滤条件,对海量恶意样本 文件库进行过滤。
[0007] 进一步地,所述预设过滤条件为: 选取待查询特征向量组的任一行为特征向量作为单一变量,假设其余行为特征向量完 全匹配,根据行为分量数目、目标相似度W及行为特征向量的权重之间的运算关系,求出相 对应各行为分量的最少匹配分量数; 计算行为分量的子权重,从大到小排列,形成倒叙子权重列表; 逐一累加列表中子权重,直至累加之和大于预设目标权重,列表中参与累加的行为分 量的个数即为最少匹配总数; 基于获取的各行为分量的最少匹配分量数和最少匹配总数进一步过滤海量恶意样本 文件库。
[0008] 本发明采用如下系统来实现:一种基于特征向量的相似恶意样本匹配系统,包 括: 恶意样本文件库处理模块,用于提取海量恶意样本文件库中的各恶意样本文件的行为 特征; 过滤所述行为特征,计算过滤后的各行为特征的hash值,并针对各恶意样本文件生成 行为特征向量组,所述行为特征向量组包含m个行为特征向量,所述m个行为特征向量对应 于各恶意样本文件的m类行为特征; 所述行为特征向量的结构为:行为特征类型:[行为分量1,行为分量2…行为分量η]; 待查询样本文件处理模块,用于获取待查询样本文件的待查询特征向量组; 匹配计算模块,用于求取待查询样本文件与各恶意样本文件的样本相似度,获取样本 相似度大于或等于目标相似度的恶意样本文件的行为特征向量组,根据所述行为特征向量 组,找到相应的恶意样本文件,所述恶意样本文件为与待查询样本文件相似的恶意样本文 件; 所述求取样本相似度的具体方法为: 将待查询特征向量组的行为特征向量与各恶意样本文件的行为特征向量进行比对,求 取任一行为特征类型下,两者所含的相同行为分量的数目; 求取相同行为分量的数目与该行为特征向量的行为分量总数目的比值,再乘W该行为 特征向量的预设权重,获得该行为特征向量的中间权重值,并W同样的方法求取其余行为 特征向量的中间权重值,计算所有中间权重值之和,获得样本相似度; 所述的全部行为特征向量权重总和为1。
[0009] 进一步地,在求取样本相似度之前,还包括:基于预设过滤条件,对海量恶意样本 文件进行过滤。
[0010] 进一步地,所述预设过滤条件为: 选取待查询特征向量组的任一行为特征向量作为单一变量,假设其余行为特征向量完 全匹配,根据行为分量数目、目标相似度W及行为特征向量的权重之间的运算关系,求出相 对应各行为分量的最少匹配分量数; 计算行为分量的子权重,从大到小排列,形成倒叙子权重列表; 逐一累加列表中子权重,直至累加之和大于预设目标权重,列表中参与累加的行为分 量的个数即为最少匹配总数; 基于获取的各行为分量的最少匹配分量数和最少匹配总数进一步过滤海量恶意样本 文件库。
[0011] 综上所述,本发明所述技术方案首先提取海量恶意样本文件库中的各恶意样本文 件的行为特征;过滤所述行为特征,计算过滤后的各行为特征的hash值,并针对各恶意样 本文件生成行为特征向量组;获取待查询样本文件的待查询特征向量组;求取待查询样本 文件与各恶意样本文件的样本相似度,获取样本相似度大于或等于目标相似度的恶意样本 文件的行为特征向量组,根据所述行为特征向量组,找到相应的恶意样本文件,所述恶意样 本文件为与待查询样本文件相似的恶意样本文件。本发明所述技术方案能够在海量恶意样 本文件中快速发现恶意样本文件间的共性,查询到所需的相似样本,并生成报告W提供给 相关人员进行分析。
[0012] 本发明的有益效果为:本发明基于恶意样本文件的行为特征向量,使用了有效的 相似样本匹配算法,能够在海量恶意样本文件中快速发现恶意样本文件间的共性,查询到 所需的相似样本,生成报告,W提供给相关人员进行分析。解决了传统方法中检索速度慢、 耗时长等技术问题。
【附图说明】
[0013] 为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简 单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域 普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据运些附图获得其他的附图。
[0014] 图1为本发明提供的一种基于特征向量的相似恶意样本匹配方法实施例流程图; 图2为本发明提供的一种基于特征向量的相似恶意样本匹配系统实施例结构图。
【具体实施方式】
[0015] 本发明给出了一种基于特征向量的相似恶意样本匹配方法及系统,为了使本技术 领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点 能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明: 本发明首先提供了一种基于特征向量的相似恶意样本匹配方法实施例,如图1所示, 包括: S101提取海量恶意样本文件库中的各恶意样本文件的行为特征; 其中,所述行为特征包括恶意样本文件访问的m?L,IP,域名等信息; S102过滤所述行为特征,计算过滤后的各行为特征的hash值,并针对各恶意样本文件 生成行为特征向量组; 所述行为特征向量组包含m个行为特征向量,所述m个行为特征向量对应于各恶意样 本文件的m类行为特征; 所述行为特征向量的结构 为:行为特征类型:[行为分量1,行为分量2…行为分量η]; 其中,过滤所述行为特征是基于原有的恶意样本库进行的。
[0016
] 具体实例如下: 假设MD5值为E13A8763AE6F6抓F4C72D130B6696056恶意样本文件的行为特征向量组 的具体形式如下: URL :比ttp: //46. 211. 87. 16/mod2/safp;rol. exe,http://89. 149. 101. 121/modl/ safprol.exe, http://188. 0. 133. 161/modl/safprol. exe]; 域名:["188. 0. 133. 161", "WWW. baidu. com", "WWW. google, com"] IP: [39. 119. 165. 76, 178. 151. 173. 178, 46. 148. 53. 253, 86. 100. 8. 75, 89. 149. 101. 12 1, 188.0.133.161, 74.82.216.5, 95.141.42.87, 65.98.83.117] 其中,由于WWW. bai化.com和WWW. google, com是普通常见的域名,很明显不属于恶意 样本文件的行为特征,因此被过滤掉。
[0017] 计算过滤后的各行为特征的hasM直如下: U化:[c62f6e80, a097745c, 4b865ed5] 域名:[1化3c40引 IP: [180a97dd,日ecdccfe, 12d99ac4, 918f478b, 8c870f31, Ilb3c408, fb油2cfa, 62fl0103, d65c4fb7] 从上述可知,行为特征U化、域名W及IP分别包含3个、1个W及9个行为分量。
[0018] 其中,基于海量恶意样本的行为特征向量组生成倒挂索引表,所述倒挂索引表的 结构为:行为分量i :[样本文件1的MD5值、样本文件2的MD5值…样本文件P的MD5值], 其中,所述K=i<=n ;所述样本文件P的MD5值为,海量恶意样本文件的特征向量组中具备 行为分量i的恶意样本文件的MD5值; 行为特征向量U化的索引表如下: c62f6e80 :[E13A8763AE6F65DF4C72D130B6696056, ···] a097745c: [E13A8763AE6F65DF4C72D130B6696056,…] 4b865ed5 :圧 13A8763AE6F65DF4C72D130B6696056,…] S103获取待查询样本文件的待查询特征向量组; S104求取待查询样本文件与各恶意样本文件的样本相似度,获取样本相似度大于或等 于目标相似度的恶意样本文件的行为特征向量组,根据所述行为特征向量组,找到相应的 恶意样本文件,所述恶意样本文件为与待查询样本文件相似的恶意样本文件; 所述求取样本相似度的具体方法为: 将待查询特征向量组的行为特征向量与各恶意样本文件的行为特征向量进行比对,求 取任一行为特征类型下,两者所含的相同行为分量的数目; 求取相同行为分量的数目与该行为特征向量的行为分量总数目的比值,再乘W该行为 特征向量的预设权重,获得该行为特征向量的中间权重值,并W同样的方法求取其余行为 特征向量的中间权重值,计算所有中间权重值之和,获得样本相似度; 所述的全部行为特征向量权重总和为1。
[0019] 其中,目标相似度为人为设定值。在此,假设目标相似度的值为90%,U化、域名W 及IP行为特征向量的预设权重分别为20%,20%,60%。
[0020] 计算公式如下:
I为待查询特征向量组,wei曲t (η)为第η类行为 特征向量在待查询特征向量组中所占的权重,in (η)和ord (η)分别代表待查询特征向量 组的行为特征向量和各恶意样本文件的行为特征向量。f(n)为待查询样本文件与各恶意 样本文件的样本相似度。计算过程举例如下: 假设恶意样本文件只包含Ξ类行为特征,分别为U化、域名和IP ; 则所有中间权重值之和Wei曲t = Wei曲t (UPL) * I in扣化)η ord扣化)/ in 扣化)1+ Wei 曲t (域名)* |in (域名)η in (域名)I / |in (域名)1+ Wei 曲t (ip) * in(ip) n〇rd(ip)| / |in(ip)| = 0. 2巧/2+0. 2*l/l+0. 6*8/9 =93%。则可获取样本相似 度大于或等于目标相似度的恶意样本文件的行为特征向量组,根据所述行为特征向量组, 找到相应的恶意样本文件,所述恶意样本文件为与待查询样本文件相似的恶意样本文件。
[0021] 优选地,在求取样本相似度之前,还包括:基于预设过滤条件,对海量恶意样本文 件库进行过滤。
[0022] 优选地,所述预设过滤条件为: 选取待查询特征向量组的任一行为特征向量作为单一变量,假设其余行为特征向量完 全匹配,根据行为分量数目、目标相似度W及行为特征向量的权重之间的运算关系,求出相 对应各行为分量的最少匹配分量数; 计算行为分量的子权重,从大到小排列,形成倒叙子权重列表; 逐一累加列表中子权重,直至累加之和大于预设目标权重,列表中参与累加的行为分 量的个数即为最少匹配总数; 基于获取的各行为分量的最少匹配分量数和最少匹配总数进一步过滤海量恶意样本 文件库。 阳02引其中,计算公式如下:x〉n-(l-Wd)*n/Wc。Wd为目标相似度。Wc该行为特征类型的 行为特征向量的预设权重,X为所求该类行为特征的至少匹配的数目,η该行为特征类型下 所包含行为分量的总数目。
[0024] 则计算过程如下: U化至少匹配的数目为2- (1-90%) *2/20%=1个, 域名至少匹配的数目为1- (1-90%) * 1 / 20% = 1个 IP至少匹配的数目为9 - (1-90%)* 9 / 60% = 8个 计算行为分量的子权重的过程为: 每个U化行为分量的子权重为20% / 2 = 10% 每个域名行为分量的子权重20% / 1 = 20% 每个IP行为分量的子权重60% / 9 = 6. 67% 由上述可知,从大到小排列,形成倒叙子权重列表为[域名行为分量1,U化行为分量1, U化行为分量2, IP行为分量1,……IP行为分量9],其中,每类行为特征类型间的行为分量 排序不分先后。 阳0巧]逐一累加列表中子权重,直至累加之和大于预设目标权重,列表中参与累加的行 为分量的个数即为最少匹配总数; 因此最少匹配总数至少为1+化8=11个。
[0026] 预设过滤条件为,U化,域名化及IP至少匹配的数目分别为1个,1个,8个。最少 匹配总数不得少于11个。
[0027] 本发明其次提供了一种基于特征向量的相似恶意样本匹配系统实施例,如图2所 示,包括: 恶意样本文件库处理模块201,用于提取海量恶意样本文件库中的各恶意样本文件的 行为特征; 过滤所述行为特征,计算过滤后的各行为特征的hash值,并针对各恶意样本文件生成 行为特征向量组,所述行为特征向量组包含m个行为特征向量,所述m个行为特征向量对应 于各恶意样本文件的m类行为特征; 所述行为特征向量的结构为:行为特征类型:[行为分量1,行为分量2…行为分量η]; 待查询样本文件处理模块202,用于获取待查询样本文件的待查询特征向量组; 匹配计算模块203,用于求取待查询样本文件与各恶意样本文件的样本相似度,获取样 本相似度大于或等于目标相似度的恶意样本文件的行为特征向量组,根据所述行为特征向 量组,找到相应的恶意样本文件,所述恶意样本文件为与待查询样本文件相似的恶意样本 文件; 所述求取样本相似度的具体方法为: 将待查询特征向量组的行为特征向量与各恶意样本文件的行为特征向量进行比对,求 取任一行为特征类
型下,两者所含的相同行为分量的数目; 求取相同行为分量的数目与该行为特征向量的行为分量总数目的比值,再乘W该行为 特征向量的预设权重,获得该行为特征向量的中间权重值,并W同样的方法求取其余行为 特征向量的中间权重值,计算所有中间权重值之和,获得样本相似度; 所述的全部行为特征向量权重总和为1。
[0028] 优选地,在求取样本相似度之前,还包括:基于预设过滤条件,对海量恶意样本文 件库进行过滤。
[0029] 优选地,所述预设过滤条件为: 选取待查询特征向量组的任一行为特征向量作为单一变量,假设其余行为特征向量完 全匹配,根据行为分量数目、目标相似度W及行为特征向量的权重之间的运算关系,求出相 对应各行为分量的最少匹配分量数; 计算行为分量的子权重,从大到小排列,形成倒叙子权重列表; 逐一累加列表中子权重,直至累加之和大于预设目标权重,列表中参与累加的行为分 量的个数即为最少匹配总数; 基于获取的各行为分量的最少匹配分量数和最少匹配总数进一步过滤海量恶意样本 文件库。
[0030] 综上所述,本发明所述技术方案首先提取海量恶意样本文件库中的各恶意样本文 件的行为特征;过滤所述行为特征,计算过滤后的各行为特征的hash值,并针对各恶意样 本文件生成行为特征向量组;获取待查询样本文件的待查询特征向量组;求取待查询样本 文件与各恶意样本文件的样本相似度,获取样本相似度大于或等于目标相似度的恶意样本 文件的行为特征向量组,根据所述行为特征向量组,找到相应的恶意样本文件,所述恶意样 本文件为与待查询样本文件相似的恶意样本文件。本发明所述技术方案能够在海量恶意样 本文件中快速发现恶意样本文件间的共性,查询到所需的相似样本,并生成报告W提供给 相关人员进行分析。
[0031] 本发明的有益效果为:本发明基于恶意样本文件的行为特征向量,使用了有效的 相似样本匹配算法,能够在海量恶意样本文件中快速发现恶意样本文件间的共性,查询到 所需的相似样本,生成报告,w提供给相关人员进行分析。能有有效解决了传统方法中检索 速度慢、耗时长等技术问题。
[0032] W上实施例用W说明而非限制本发明的技术方案。不脱离本发明精神和范围的任 何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
【主权项】
1. 一种基于特征向量的相似恶意样本文件匹配方法,其特征在于,包括: 提取海量恶意样本文件库中的各恶意样本文件的行为特征; 过滤所述行为特征,计算过滤后的各行为特征的hash值,并针对各恶意样本文件生成 行为特征向量组,所述行为特征向量组包含m个行为特征向量,所述m个行为特征向量对应 于各恶意样本文件的m类行为特征; 所述行为特征向量的结构为:行为特征类型:[行为分量1,行为分量2···行为分量η]; 获取待查询样本文件的待查询特征向量组; 求取待查询样本文件与各恶意样本文件的样本相似度,获取样本相似度大于或等于目 标相似度的恶意样本文件的行为特征向量组,根据所述行为特征向量组,找到相应的恶意 样本文件,所述恶意样本文件为与待查询样本文件相似的恶意样本文件; 所述求取样本相似度的具体方法为: 将待查询特征向量组的行为特征向量与各恶意样本文件的行为特征向量进行比对,求 取任一行为特征类型下,两者所含的相同行为分量的数目; 求取相同行为分量的数目与该行为特征向量的行为分量总数目的比值,再乘以该行为 特征向量的预设权重,获得该行为特征向量的中间权重值,并以同样的方法求取其余行为 特征向量的中间权重值,计算所有中间权重值之和,获得样本相似度; 所述的全部行为特征向量权重总和为1。2. 如权利要求1所述的方法,其特征在于,在求取样本相似度之前,还包括:基于预设 过滤条件,对海量恶意样本文件库进行过滤。3. 如权利要求2所述的方法,其特征在于,所述预设过滤条件为: 选取待查询特征向量组的任一行为特征向量作为单一变量,假设其余行为特征向量完 全匹配,根据行为分量数目、目标相似度以及行为特征向量的权重之间的运算关系,求出相 对应各行为分量的最少匹配分量数; 计算行为分量的子权重,从大到小排列,形成倒叙子权重列表; 逐一累加列表中子权重,直至累加之和大于预设目标权重,列表中参与累加的行为分 量的个数即为最少匹配总数; 基于获取的各行为分量的最少匹配分量数和最少匹配总数进一步过滤海量恶意样本 文件库。4. 一种基于特征向量的相似恶意样本文件匹配系统,其特征在于,包括: 恶意样本文件库处理模块,用于提取海量恶意样本文件库中的各恶意样本文件的行为 特征; 过滤所述行为特征,计算过滤后的各行为特征的hash值,并针对各恶意样本文件生成 行为特征向量组,所述行为特征向量组包含m个行为特征向量,所述m个行为特征向量对应 于各恶意样本文件的m类行为特征; 所述行为特征向量的结构为:行为特征类型:[行为分量1,行为分量2···行为分量η]; 待查询样本文件处理模块,用于获取待查询样本文件的待查询特征向量组; 匹配计算模块,用于求取待查询样本文件与各恶意样本文件的样本相似度,获取样本 相似度大于或等于目标相似度的恶意样本文件的行为特征向量组,根据所述行为特征向量 组,找到相应的恶意样本文件,所述恶意样本文件为与待查询样本文件相似的恶意样本文 件; 所述求取样本相似度的具体方法为: 将待查询特征向量组的行为特征向量与各恶意样本文件的行为特征向量进行比对,求 取任一行为特征类型下,两者所含的相同行为分量的数目; 求取相同行为分量的数目与该行为特征向量的行为分量总数目的比值,再乘以该行为 特征向量的预设权重,获得该行为特征向量的中间权重值,并以同样的方法求取其余行为 特征向量的中间权重值,计算所有中间权重值之和,获得样本相似度; 所述的全部行为特征向量权重总和为1。5. 如权利要求4所述的系统,其特征在于,在求取样本相似度之前,还包括:基于预设 过滤条件,对海量恶意样本文件进行过滤。6. 如权利要求5所述的系统,其特征在于,所述预设过滤条件为: 选取待查询特征向量组的任一行为特征向量作为单一变量,假设其余行为特征向量完 全匹配,根据行为分量数目、目标相似度以及行为特征向量的权重之间的运算关系,求出相 对应各行为分量的最少匹配分量数; 计算行为分量的子权重,从大到小排列,形成倒叙子权重列表; 逐一累加列表中子权重,直至累加之和大于预设目标权重,列表中参与累加的行为分 量的个数即为最少匹配总数; 基于获取的各行为分量的最少匹配分量数和最少匹配总数进一步过滤海量恶意样本 文件库。
【专利摘要】本发明提出了一种基于特征向量的相似恶意样本文件匹配方法及系统,本发明首先?提取海量恶意样本文件库中的各恶意样本文件的行为特征;过滤所述行为特征,计算过滤后的各行为特征的hash值,并针对各恶意样本文件生成行为特征向量组;获取待查询样本文件的待查询特征向量组;求取待查询样本文件与各恶意样本文件的样本相似度,获取样本相似度大于或等于目标相似度的恶意样本文件的行为特征向量组,根据所述行为特征向量组,找到相应的恶意样本文件,所述恶意样本文件为与待查询样本文件相似的恶意样本文件。本发明所述技术方案能够在海量样本中快速发现恶意样本文件的共性,查询到所需的相似样本,并生成报告以提供给相关人员进行分析。
【IPC分类】G06F21/56
【公开号】CN105488406
【申请号】CN201410827237
【发明人】张洋, 康学斌, 董晓齐, 孙晋超, 肖新光
【申请人】哈尔滨安天科技股份有限公司
【公开日】2016年4月13日
【申请日】2014年12月29日