一种样本相似度的检测方法及装置的制造方法

文档序号:9471435阅读:414来源:国知局
一种样本相似度的检测方法及装置的制造方法
【技术领域】
[0001] 本发明是关于计算机安全领域,具体地,是关于一种样本相似度检测方法及装置。
【背景技术】
[0002] 在样本分析过程中,需要计算不同样本之间的相似度,以便用于样本的家族分类, 减少重复分析的工作量。现有的相似度计算方法是使用模糊哈希算法CTPH,然后计算不同 哈希之间的加权编辑距离。然而,这种算法对信息的压缩程度较大,因而对于文件差异的敏 感程度较低,计算的复杂度也较高。

【发明内容】

[0003] 本发明实施例的主要目的在于提供一种样本相似度的检测方法及装置,以克服现 有技术的上述缺点,利用布隆过滤器的优异的空间效率,提高针对样本的特征计算和相似 度计算过程中的效率。
[0004] 为了实现上述目的,本发明实施例提供一种样本相似度的检测方法,该检测方法 包括:获取一待检测的样本,并根据样本构建布隆过滤器;提取样本中的字符串集合;将字 符串集合输入至布隆过滤器中,生成字符串集合的二进制位串,作为样本的样本特征;计算 样本特征与基准样本特征之间的相似度。
[0005] 在一实施例中,上述的检测方法还包括:根据相似度对样本进行分类。
[0006] 进一步地,根据相似度对样本进行分类,包括:判断相似度与一预设阈值距离的大 小关系;当相似度小于预设阈值距离时,将样本与相似度对应的基准样本划分为一类。
[0007] 在一实施例中,提取样本中的字符串集合,进一步包括:提取样本中的常量信息, 并根据常量信息生成字符串集合。
[0008] 在一实施例中,上述的常量信息至少包括:调用函数名称、字符串信息、数值常量。
[0009] 在一实施例中,上述的样本包括:计算机病毒文件、计算机木马文件、计算机恶意 软件。
[0010] 在一实施例中,计算样本特征与基准样本特征之间的相似度,包括:计算样本特征 与基准样本特征之间的汉明距离,作为相似度。
[0011] 在一实施例中,上述的检测方法还包括:根据布隆过滤器的容量及误差率计算布 隆过滤器的二进制位串存储长度。
[0012] 本发明实施例还提供一种样本相似度的检测装置,该检测装置包括:布隆过滤器 构建单元,用于获取一待检测的样本,并根据样本构建布隆过滤器;字符串集合提取单元, 用于提取样本中的字符串集合;样本特征生成单元,用于将字符串集合输入至布隆过滤器 中,生成字符串集合的二进制位串,作为样本的样本特征;相似度计算单元,用于计算样本 特征与基准样本特征之间的相似度。
[0013] 在一实施例中,上述的检测装置还包括;分类单元,用于根据相似度对样本进行分 类。
[0014] 具体地,该分类单元包括:距离判断模块,用于判断相似度与一预设阈值距离的大 小关系;分类模块,用于当相似度小于预设阈值距离时,将样本与相似度对应的基准样本划 分为一类。
[0015] 在一实施例中,上述的字符串集合提取单元具体用于:提取样本中的常量信息,并 根据常量信息生成字符串集合。
[0016] 在一实施例中,上述的常量信息至少包括:调用函数名称、字符串信息、数值常量。
[0017] 在一实施例中,上述的样本包括:计算机病毒文件、计算机木马文件、计算机恶意 软件。
[0018] 在一实施例中,上述的相似度计算单元具体用于:计算样本特征与基准样本特征 之间的汉明距离,作为相似度。
[0019] 在一实施例中,上述的检测装置还包括:存储长度计算单元,用于根据布隆过滤器 的容量及误差率计算布隆过滤器的二进制位串存储长度。
[0020] 本发明实施例的有益效果在于,利用布隆过滤器的优异的空间效率,将通过布隆 过滤器生成的二进制位串作为样本的样本特征,并根据该样本特征来计算样本的相似度, 能够节省样本特征的存储空间,并可提高样本的特征计算和相似度计算过程中的效率。
【附图说明】
[0021] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。
[0022] 图1为根据本发明实施例的样本相似度的检测方法的流程图;
[0023] 图2A及图2B为根据本发明实施例的布隆过滤器的应用示例图;
[0024] 图3为根据本发明实施例的样本相似度的检测装置的结构示意图;
[0025] 图4为根据本发明实施例的样本相似度的检测装置的另一结构示意图;
[0026] 图5为根据本发明实施例的分类单元500的结构示意图。
【具体实施方式】
[0027] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0028] 本发明实施例提供一种样本相似度的检测方法及装置。以下结合附图对本发明进 行详细说明。
[0029] 本发明实施例提供一种样本相似度的检测方法,如图1所示,该检测方法主要包 括以下各步骤:
[0030] 步骤SlOl:获取一待检测的样本,并根据该样本构建布隆过滤器;
[0031] 步骤S102 :提取样本中的字符串集合;
[0032] 步骤S103 :将字符串集合输入至布隆过滤器中,生成字符串集合的二进制位串, 作为样本的样本特征;
[0033] 步骤S104 :计算样本特征与基准样本特征之间的相似度。
[0034] 通过上述的步骤SlOl~步骤S104,利用布隆过滤器的优异的空间效率,将通过 布隆过滤器生成的二进制位串作为样本的样本特征,并根据该样本特征来计算样本的相似 度,可提高样本的特征计算以及相似度计算过程中的效率。
[0035] 以下将结合具体的实例,对本发明实施例的样本相似度的检测方法进行详细的说 明。
[0036] 在本发明实施例中,首先通过上述的步骤S101,获取待检测的样本,并根据该样本 构建布隆过滤器。在此实施例中,该样本可以包括但不限于:计算机病毒文件、计算机木马 文件、计算机恶意软件。在具体实施时,可根据该样本及对样本进行转换的实际需求构建不 同的布隆过滤器,不同的布隆过滤器中的位数组的大小、哈希函数等可能均不相同。布隆过 滤器是一种基于二进制向量和一系列随机函数的数据结构,通常用于检查一个元素是否在 一个集合中,它的优点是空间效率和查询时间都远远超过一般的算法。
[0037] 上述的步骤S102,对样本的所有常用信息进行提取,并将提取到的所有常用信息 生成字符串形式的字符串集合S1= (S1,S2,…,Sn)。上述样本的常用信息例如是该样本的 调用函数名称、字符串信息、数值常量等。此处所述的该样本的调用函数名称、字符串信息、 数值常量,是指该样本(例如计算机病毒文件)对计算机系统进行的篡改行为或未经许可 的操作等的过程中,所调用的计算机系统中的函数,或是所调用或篡改的计算机系统中的 字符串信息、数值常量等信息。
[0038] 然后,执行上述的步骤S103,将该字符串集合S1加入一个建立好的布隆过滤器中。 布隆过滤器的容量可根据样本的字符串集合的个数进行设定,以确保布隆过滤器能够容纳 该样本,并对样本的字符串集合31进行字符串转换过程。
[0039] 将上述的字符串集合Si加入该布隆过滤器bloom,add(Si) =bloom.Bitarray中, 其中,i= 1,2,…n。该布隆过滤器的二进制位串bloom.Bitarray就是该样本的样本特 征。在一实施例中,该布隆过滤
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1