CN105224600A - 一种样本相似度的检测方法及装置 - Google Patents

一种样本相似度的检测方法及装置 Download PDF

Info

Publication number
CN105224600A
CN105224600A CN201510548448.1A CN201510548448A CN105224600A CN 105224600 A CN105224600 A CN 105224600A CN 201510548448 A CN201510548448 A CN 201510548448A CN 105224600 A CN105224600 A CN 105224600A
Authority
CN
China
Prior art keywords
sample
similarity
detection method
string
bloom filter
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.)
Granted
Application number
CN201510548448.1A
Other languages
English (en)
Other versions
CN105224600B (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510548448.1A priority Critical patent/CN105224600B/zh
Publication of CN105224600A publication Critical patent/CN105224600A/zh
Application granted granted Critical
Publication of CN105224600B publication Critical patent/CN105224600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/244Grouping and aggregation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

本发明提供一种样本相似度的检测方法及装置,该检测方法包括:提取样本中的字符串集合;将字符串集合输入至布隆过滤器中,生成字符串集合的二进制位串,作为样本的样本特征;计算样本特征与基准样本特征之间的相似度;根据相似度对样本进行分类。通过本发明,利用布隆过滤器的优异的空间效率,将通过布隆过滤器生成的二进制位串作为样本的样本特征,并根据该样本特征来计算样本的相似度,能够节省样本特征的存储空间,并可提高样本的特征计算和相似度计算过程中的效率。

Description

一种样本相似度的检测方法及装置
技术领域
本发明是关于计算机安全领域,具体地,是关于一种样本相似度检测方法及装置。
背景技术
在样本分析过程中,需要计算不同样本之间的相似度,以便用于样本的家族分类,减少重复分析的工作量。现有的相似度计算方法是使用模糊哈希算法CTPH,然后计算不同哈希之间的加权编辑距离。然而,这种算法对信息的压缩程度较大,因而对于文件差异的敏感程度较低,计算的复杂度也较高。
发明内容
本发明实施例的主要目的在于提供一种样本相似度的检测方法及装置,以克服现有技术的上述缺点,利用布隆过滤器的优异的空间效率,提高针对样本的特征计算和相似度计算过程中的效率。
为了实现上述目的,本发明实施例提供一种样本相似度的检测方法,该检测方法包括:获取一待检测的样本,并根据样本构建布隆过滤器;提取样本中的字符串集合;将字符串集合输入至布隆过滤器中,生成字符串集合的二进制位串,作为样本的样本特征;计算样本特征与基准样本特征之间的相似度。
在一实施例中,上述的检测方法还包括:根据相似度对样本进行分类。
进一步地,根据相似度对样本进行分类,包括:判断相似度与一预设阈值距离的大小关系;当相似度小于预设阈值距离时,将样本与相似度对应的基准样本划分为一类。
在一实施例中,提取样本中的字符串集合,进一步包括:提取样本中的常量信息,并根据常量信息生成字符串集合。
在一实施例中,上述的常量信息至少包括:调用函数名称、字符串信息、数值常量。
在一实施例中,上述的样本包括:计算机病毒文件、计算机木马文件、计算机恶意软件。
在一实施例中,计算样本特征与基准样本特征之间的相似度,包括:计算样本特征与基准样本特征之间的汉明距离,作为相似度。
在一实施例中,上述的检测方法还包括:根据布隆过滤器的容量及误差率计算布隆过滤器的二进制位串存储长度。
本发明实施例还提供一种样本相似度的检测装置,该检测装置包括:布隆过滤器构建单元,用于获取一待检测的样本,并根据样本构建布隆过滤器;字符串集合提取单元,用于提取样本中的字符串集合;样本特征生成单元,用于将字符串集合输入至布隆过滤器中,生成字符串集合的二进制位串,作为样本的样本特征;相似度计算单元,用于计算样本特征与基准样本特征之间的相似度。
在一实施例中,上述的检测装置还包括;分类单元,用于根据相似度对样本进行分类。
具体地,该分类单元包括:距离判断模块,用于判断相似度与一预设阈值距离的大小关系;分类模块,用于当相似度小于预设阈值距离时,将样本与相似度对应的基准样本划分为一类。
在一实施例中,上述的字符串集合提取单元具体用于:提取样本中的常量信息,并根据常量信息生成字符串集合。
在一实施例中,上述的常量信息至少包括:调用函数名称、字符串信息、数值常量。
在一实施例中,上述的样本包括:计算机病毒文件、计算机木马文件、计算机恶意软件。
在一实施例中,上述的相似度计算单元具体用于:计算样本特征与基准样本特征之间的汉明距离,作为相似度。
在一实施例中,上述的检测装置还包括:存储长度计算单元,用于根据布隆过滤器的容量及误差率计算布隆过滤器的二进制位串存储长度。
本发明实施例的有益效果在于,利用布隆过滤器的优异的空间效率,将通过布隆过滤器生成的二进制位串作为样本的样本特征,并根据该样本特征来计算样本的相似度,能够节省样本特征的存储空间,并可提高样本的特征计算和相似度计算过程中的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的样本相似度的检测方法的流程图;
图2A及图2B为根据本发明实施例的布隆过滤器的应用示例图;
图3为根据本发明实施例的样本相似度的检测装置的结构示意图;
图4为根据本发明实施例的样本相似度的检测装置的另一结构示意图;
图5为根据本发明实施例的分类单元500的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种样本相似度的检测方法及装置。以下结合附图对本发明进行详细说明。
本发明实施例提供一种样本相似度的检测方法,如图1所示,该检测方法主要包括以下各步骤:
步骤S101:获取一待检测的样本,并根据该样本构建布隆过滤器;
步骤S102:提取样本中的字符串集合;
步骤S103:将字符串集合输入至布隆过滤器中,生成字符串集合的二进制位串,作为样本的样本特征;
步骤S104:计算样本特征与基准样本特征之间的相似度。
通过上述的步骤S101~步骤S104,利用布隆过滤器的优异的空间效率,将通过布隆过滤器生成的二进制位串作为样本的样本特征,并根据该样本特征来计算样本的相似度,可提高样本的特征计算以及相似度计算过程中的效率。
以下将结合具体的实例,对本发明实施例的样本相似度的检测方法进行详细的说明。
在本发明实施例中,首先通过上述的步骤S101,获取待检测的样本,并根据该样本构建布隆过滤器。在此实施例中,该样本可以包括但不限于:计算机病毒文件、计算机木马文件、计算机恶意软件。在具体实施时,可根据该样本及对样本进行转换的实际需求构建不同的布隆过滤器,不同的布隆过滤器中的位数组的大小、哈希函数等可能均不相同。布隆过滤器是一种基于二进制向量和一系列随机函数的数据结构,通常用于检查一个元素是否在一个集合中,它的优点是空间效率和查询时间都远远超过一般的算法。
上述的步骤S102,对样本的所有常用信息进行提取,并将提取到的所有常用信息生成字符串形式的字符串集合Si=(S1,S2,…,Sn)。上述样本的常用信息例如是该样本的调用函数名称、字符串信息、数值常量等。此处所述的该样本的调用函数名称、字符串信息、数值常量,是指该样本(例如计算机病毒文件)对计算机系统进行的篡改行为或未经许可的操作等的过程中,所调用的计算机系统中的函数,或是所调用或篡改的计算机系统中的字符串信息、数值常量等信息。
然后,执行上述的步骤S103,将该字符串集合Si加入一个建立好的布隆过滤器中。布隆过滤器的容量可根据样本的字符串集合的个数进行设定,以确保布隆过滤器能够容纳该样本,并对样本的字符串集合Si进行字符串转换过程。
将上述的字符串集合Si加入该布隆过滤器bloom.add(Si)=bloom.Bitarray中,其中,i=1,2,…n。该布隆过滤器的二进制位串bloom.Bitarray就是该样本的样本特征。在一实施例中,该布隆过滤器可包含一个长度为m的位数组array和k个映射函数。首先,将该位数组array的各个位置为0,如图2A所示。对于有n个元素的集合Si=(S1,S2,…,Sn),通过k个映射函数(f1,f2,...,fk),将集合Si中的每个元素Sj映射为k个值(g1,g2,...,gk),然后在将位数组array中相对应的array[g1],array[g2],...,array[gk]置为1。因此可得该元素所对应的布隆过滤函数所生成的二进制位串如图2B所示。
在计算机应用过程中,由于黑客或者存在恶意目的的使用者会通过恶意程序(即上文所述的样本中的一种,例如计算机病毒文件、计算机木马文件、计算机恶意软件等),对一般用户的计算机进行恶意的攻击行为。因此,为了防范此种情况,大多数计算机用户都选择安装例如是杀毒软件类的防御程序对计算机进行保护。而在恶意程序与这类防御程序的攻防过程中,恶意程序为了更好地提高自身的稳定性以及隐蔽性,会衍生出各种不同的程序变种,这就为防御程序的防御过程增加了难度。因此,对各种类型的恶意程序进行识别和准确分类,能够使得防御程序能够更加高效、准确地对恶意程序进行检测和处理。而在本发明实施例中,对上文所述的样本进行识别和分类的基础,则是通过上述的步骤S104来计算样本的相似度。
在本发明实施例中,当经过上述的步骤S102及步骤S103计算出样本对应的样本特征后,即可通过上述的步骤S104,计算样本的样本特征与基准样本特征之间的相似度。
具体地,在本发明实施例中,是通过汉明距离来表征上述的相似度。汉明距离是指两个等长的字符串对应位置的不同字符的个数。换句话说,汉明距离是将一个字符串变换成另外一个字符串所需要替换的字符个数。例如,二进制位串1011101与1001001之间的汉明距离是2。在本发明实施例中,对于样本A及基准样本B,根据它们各自的样本特征bloomA和bloomB来计算样本A的样本特征和基准样本B的基准样本特征之间的汉明距离:
Distance(A,B)=hamming_distance(bloomA.Bittarry,bloomB.Bittary)。通过上述计算获得的汉明距离即是样本A的样本特征和基准样本B的基准样本特征之间的相似度。
在本发明实施例的样本相似度的检测方法中,在通过上述步骤S104计算获取了样本的样本特征和基准样本特征之间的相似度之后,还可包含对样本进行分类的步骤。具体地,是根据该相似度对样本进行分类。
在对诸如恶意程序等的样本进行分类的过程中,可以根据该样本的应用环境、应用地区、程序家族等的不同,将样本分为多个类别,从而针对各个类别采取相应的检测和防御措施。而针对每一类别,则分别设定有一个上述的基准样本特征,用以对各个类别进行定义,并作为对新的样本进行分类的标准。当检测或提取到一个新的样本后,可通过计算新的样本与各个基准样本特征之间的相似度,来对该新的样本进行类别的划分。
在本发明实施例中,对样本进行分类的标准是判断该样本的样本特征与基准样本特征之间的汉明距离与一预设的阈值距离之间的大小关系。当该汉明距离小于该阈值距离时,即可将该样本划分到与该基准样本相同的类别中。
需要说明的是,在本实施例中所采用的计算相似度的算法为汉明距离算法,但在实际应用中,也可通过例如编辑距离(LevenshteinDistance)算法等的相似度算法进行计算,本发明并不以此为限。
并且,在实际应用中,对于一个新的样本的样本特征,也可能会与多个类别的基准样本特征之间的相似度均小于该预设的阈值距离,在这种情况下,可将该新的样本划分为多个类别。例如,当一个样本中既存在钓鱼网站相关的常用信息,又存在木马软件的常用信息,则可将该样本同时划分到钓鱼网站类别和木马软件类别中,而并非只能将该样本划分为一个类别。通过上述举例也可看出,如果仅将样本限制于一个类别中,有时也并不能够准确地定义该样本,从而导致后续针对样本的分析、检测和防御等操作并不能有效地实施。因此,在本发明实施例的样本相似度的检测方法中,并不限定可将该样本划分的类别的个数,而是可根据样本具体的样本特征来将该样本划分到一个或者多个类别中。
在对样本进行分类后,可执行如下操作:分类完成后,可提示管理员分类结束,并显示分类结果,供管理员查看针对该样本的具体的分类信息。而对于进行分类的样本,可按其划分的类别存储至相应类别的数据库中,并更新相应的数据库信息。具体地,例如检测到一样本为一计算机病毒软件,则可根据该计算机病毒软件的名称、恶意攻击行为等将其划分至某一病毒软件家族中,并更新该病毒软件家族的病毒库,从而为后续的病毒检测、防御提供更加全面、准确的病毒软件信息。
在实际应用中,以SWF格式的样本为例,对本发明实施例的样本相似度的检测方法做进一步说明。
对于SWF格式文件类型中的DoABC代码段内容,可以使用以下方法提取该样本的字符串集合以及样本特征:
在DoABC代码结构中,有一个单独的常量区域,存储程序所用到的所有常量,包括有符号整型、无符号整型、浮点类型、字符串类型等。该DoABC代码的常量区域结构如表一所示。
表一
u30 int_count
s32 integer[int_count]
u30 uint_count
u32 uinteger[uint_count]
u30 double_count
d64 double[double_count]
u30 string_count
string_info string[string_count]
首先,提取该SWF格式文件的所有的常量信息,并将其转换为字符串,例如对于有符号整型数值,可直接转换成对应的字符串形式,最终得到该SWF格式的所有字符串集合。
然后,预估每个SWF文件可能出现的最多的字符串个数,在此实施例中,是预估每个SWF文件可能出现的最多的字符串个数为10万个。因此,设定布隆过滤器容量为100000,误判率为0.001,即允许存储10万个字符串,则对应的布隆过滤器的二进制位串存储长度为:
m = - n · ln p ( l n 2 ) 2 = - 10 5 · l n 10 - 3 ( ln 2 ) 2 ≈ 1437759 b i t ≈ 176 K B ,
其中,n为布隆过滤器的容量,p为误差率。
通过176KB的布隆过滤器,能够表示一个SWF文件的字符串集合,可大大减少该SWF文件的存储空间。并且,布隆过滤器相比现有的模糊哈希算法,能够容纳更多的特征,减少文件间差异。
在获得所有的SWF文件的字符串集合之后,根据布隆过滤器的算法,计算每一个字符串的哈希值并将对应位置1,最终得到每个SWF文件的字符串集合所对应的二进制位串,作为每个SWF文件的样本特征。
接下来,可根据每个SWF文件的样本特征计算该SWF文件与基准样本之间的汉明距离,以表示SWF文件与基准样本之间的相似度(或差异)。并且,可根据该汉明距离对各个SWF文件进行分类。在此实施例中,是以1000为阈值(即上文所述的阈值距离),作为划分不同SWF文件的标准,即若SWF文件与基准样本之间的差异大于1000,则认为两者没有任何相关性;若SWF文件与基准样本之间差异小于1000,则认为两者具有一定的相关性,则可将该SWF文件划分到与该基准样本相同的类别中。在实际应用中,上述待分类的样本中调用系统的应用程序编程接口(ApplicationProgrammingInterface,API)的函数可以例如是:
危险函数名:sendTextMessage;
危险函数类名:SmsManager;
恶意行为所在函数的函数名:SmsManager;
恶意行为所在函数的类名:MessageService;
恶意行为类型:恶意扣费;
恶意行为描述:向sp号码XXXXXXXXX发送短信订购服务。
需要说明的是,上述的函数仅是用举例说明本发明实施例中的样本可能的类型之一,而并非用以限制本发明。
本发明实施例还提供一种样本相似度的检测装置,如图3所示,该检测装置主要包括:布隆过滤器构建单元100、字符串集合提取单元200、样本特征生成单元300及相似度计算单元400等。
在本发明实施例中,首先通过上述的布隆过滤器构建单元100获取待检测的样本,并根据该样本构建布隆过滤器。在此实施例中,该样本可以包括但不限于:计算机病毒文件、计算机木马文件、计算机恶意软件。在具体实施时,该布隆过滤器构建单元100可根据该样本及对样本进行转换的实际需求构建不同的布隆过滤器,不同的布隆过滤器中的位数组的大小、哈希函数等可能均不相同。布隆过滤器是一种基于二进制向量和一系列随机函数的数据结构,通常用于检查一个元素是否在一个集合中,它的优点是空间效率和查询时间都远远超过一般的算法。
上述的字符串集合提取单元200,用于对样本的所有常用信息进行提取,并将提取到的所有常用信息生成字符串形式的字符串集合Si=(S1,S2,…,Sn)。上述样本的常用信息例如是该样本的调用函数名称、字符串信息、数值常量等。此处所述的该样本的调用函数名称、字符串信息、数值常量,是指该样本(例如计算机病毒文件)对计算机系统进行的篡改行为或未经许可的操作等的过程中,所调用的计算机系统中的函数,或是所调用或篡改的计算机系统中的字符串信息、数值常量等信息。
然后,样本特征生成单元300将该字符串集合Si加入一个建立好的布隆过滤器中。布隆过滤器是一种基于二进制向量和一系列随机函数的数据结构,通常用于检查一个元素是否在一个集合中,它的优点是空间效率和查询时间都远远超过一般的算法。布隆过滤器的容量可根据样本的字符串集合的个数进行设定,以确保布隆过滤器能够容纳该样本,并对样本的字符串集合Si进行字符串转换过程。
将上述的字符串集合Si加入该布隆过滤器bloom.add(Si)=bloom.Bitarray中,其中,i=1,2,…n。该布隆过滤器的二进制位串bloom.Bitarray就是该样本的样本特征。在一实施例中,该布隆过滤器可包含一个长度为m的位数组array和k个映射函数。首先,将该位数组array的各个位置为0,如图2A所示。对于有n个元素的集合Si=(S1,S2,…,Sn),通过k个映射函数(f1,f2,...,fk),将集合Si中的每个元素Sj映射为k个值(g1,g2,...,gk),然后在将位数组array中相对应的array[g1],array[g2],...,array[gk]置为1。因此可得该元素所对应的布隆过滤函数所生成的二进制位串如图2B所示。
在计算机应用过程中,由于黑客或者存在恶意目的的使用者会通过恶意程序(即上文所述的样本中的一种,例如计算机病毒文件、计算机木马文件、计算机恶意软件等),对一般用户的计算机进行恶意的攻击行为。因此,为了防范此种情况,大多数计算机用户都选择安装例如是杀毒软件类的防御程序对计算机进行保护。而在恶意程序与这类防御程序的攻防过程中,恶意程序为了更好地提高自身的稳定性以及隐蔽性,会衍生出各种不同的程序变种,这就为防御程序的防御过程增加了难度。因此,对各种类型的恶意程序进行识别和准确分类,能够使得防御程序能够更加高效、准确地对恶意程序进行检测和处理。而在本发明实施例中,对上文所述的样本进行识别和分类的基础,则是通过上述的相似度计算单元400来计算样本的相似度。
在本发明实施例中,当经过上述字符串集合提取单元200及样本特征生成单元300计算出样本对应的样本特征后,即可通过上述的相似度计算单元400计算样本的样本特征与基准样本特征之间的相似度。
具体地,在本发明实施例中,是通过汉明距离来表征上述的相似度。汉明距离是指两个等长的字符串对应位置的不同字符的个数。换句话说,汉明距离是将一个字符串变换成另外一个字符串所需要替换的字符个数。例如,二进制位串1011101与1001001之间的汉明距离是2。在本发明实施例中,对于样本A及基准样本B,根据它们各自的样本特征bloomA和bloomB来计算样本A的样本特征和基准样本B的基准样本特征之间的汉明距离:
Distance(A,B)=hamming_distance(bloomA.Bittarry,bloomB.Bittary)。通过上述计算获得的汉明距离即是样本A的样本特征和基准样本B的基准样本特征之间的相似度。
如图4所示,在本发明实施例的样本相似度的检测装置中,在通过上述相似度计算单元400计算获取了样本的样本特征和基准样本特征之间的相似度之后,该样本相似度的检测装置还可包含用于根据该相似度对样本进行分类的分类单元500,。
在对诸如恶意程序等的样本进行分类的过程中,可以根据该样本的应用环境、应用地区、程序家族等的不同,将样本分为多个类别,从而针对各个类别采取相应的检测和防御措施。而针对每一类别,则分别设定有一个上述的基准样本特征,用以对各个类别进行定义,并作为对新的样本进行分类的标准。当检测或提取到一个新的样本后,可通过计算新的样本与各个基准样本特征之间的相似度,来对该新的样本进行类别的划分。
具体地,如图5所示,该分类单元500包括:距离判断模块501及分类模块502。其中,该距离判断模块501用于判断样本的样本特征与基准样本特征之间的汉明距离与一预设的阈值距离之间的大小关系。
上述的分类模块502则用于当该汉明距离小于该阈值距离时,即可将该样本划分到与该基准样本相同的类别中。
需要说明的是,在本实施例中所采用的计算相似度的算法为汉明距离算法,但在实际应用中,也可通过例如编辑距离(LevenshteinDistance)算法等的相似度算法进行计算,本发明并不以此为限。
并且,在实际应用中,对于一个新的样本的样本特征,也可能会与多个类别的基准样本特征之间的相似度均小于该预设的阈值距离,在这种情况下,可将该新的样本划分为多个类别。例如,当一个样本中既存在钓鱼网站相关的常用信息,又存在木马软件的常用信息,则可将该样本同时划分到钓鱼网站类别和木马软件类别中,而并非只能将该样本划分为一个类别。通过上述举例也可看出,如果仅将样本限制于一个类别中,有时也并不能够准确地定义该样本,从而导致后续针对样本的分析、检测和防御等操作并不能有效地实施。因此,在本发明实施例的样本相似度的检测方法中,并不限定可将该样本划分的类别的个数,而是可根据样本具体的样本特征来将该样本划分到一个或者多个类别中。
在对样本进行分类后,可执行如下操作:分类完成后,可提示管理员分类结束,并显示分类结果,供管理员查看针对该样本的具体的分类信息。而对于进行分类的样本,可按其划分的类别存储至相应类别的数据库中,并更新相应的数据库信息。具体地,例如检测到一样本为一计算机病毒软件,则可根据该计算机病毒软件的名称、恶意攻击行为等将其划分至某一病毒软件家族中,并更新该病毒软件家族的病毒库,从而为后续的病毒检测、防御提供更加全面、准确的病毒软件信息。
通过本发明实施例的样本相似度的检测装置,利用布隆过滤器的优异的空间效率,将通过布隆过滤器生成的二进制位串作为样本的样本特征,根据该样本特征来计算样本的相似度,还可进一步根据该相似度对样本进行类别的划分,能够节省样本特征的存储空间,并可提高样本的特征计算、相似度计算及分类过程的效率。
本发明的实施例公开了:
A1、一种样本相似度的检测方法,其特征在于,所述的检测方法包括:
获取一待检测的样本,并根据所述样本构建布隆过滤器;
提取所述样本中的字符串集合;
将所述字符串集合输入至所述布隆过滤器中,生成所述字符串集合的二进制位串,作为所述样本的样本特征;
计算所述样本特征与基准样本特征之间的相似度。
A2、根据A1所述的样本相似度的检测方法,其特征在于,所述的检测方法还包括:
根据所述相似度对所述样本进行分类。
A3、根据A2所述的样本相似度的检测方法,其特征在于,根据所述相似度对所述样本进行分类,进一步包括:
判断所述相似度与一预设阈值距离的大小关系;
当所述相似度小于所述预设阈值距离时,将所述样本与所述相似度对应的基准样本划分为一类。
A4、根据A1所述的样本相似度的检测方法,其特征在于,提取所述样本中的字符串集合,进一步包括:
提取所述样本中的常量信息,并根据所述常量信息生成所述的字符串集合。
A5、根据A4所述的样本相似度的检测方法,其特征在于,所述的常量信息至少包括:调用函数名称、字符串信息、数值常量。
A6、根据A1所述的样本相似度的检测方法,其特征在于,所述的样本包括:计算机病毒文件、计算机木马文件、计算机恶意软件。
A7、根据A1所述的样本相似度的检测方法,其特征在于,计算所述样本特征与基准样本特征之间的相似度,包括:
计算所述样本特征与基准样本特征之间的汉明距离,作为所述的相似度。
A8、根据A1所述的样本相似度的检测方法,其特征在于,所述的检测方法还包括:
根据所述布隆过滤器的容量及误差率计算所述布隆过滤器的二进制位串存储长度。
B9、一种样本相似度的检测装置,其特征在于,所述的检测装置包括:
布隆过滤器构建单元,用于获取一待检测的样本,并根据所述样本构建布隆过滤器;
字符串集合提取单元,用于提取所述样本中的字符串集合;
样本特征生成单元,用于将所述字符串集合输入至所述布隆过滤器中,生成所述字符串集合的二进制位串,作为所述样本的样本特征;
相似度计算单元,用于计算所述样本特征与基准样本特征之间的相似度。
B10、根据B9所述的样本相似度的检测装置,其特征在于,所述的检测装置还包括:
分类单元,用于根据所述相似度对所述样本进行分类。
B11、根据B10所述的样本相似度的检测装置,其特征在于,所述的分类单元包括:
距离判断模块,用于判断所述相似度与一预设阈值距离的大小关系;
分类模块,用于当所述相似度小于所述预设阈值距离时,将所述样本与所述相似度对应的基准样本划分为一类。
B12、根据B9所述的样本相似度的检测装置,其特征在于,所述的字符串集合提取单元具体用于:
提取所述样本中的常量信息,并根据所述常量信息生成所述的字符串集合。
B13、根据B12所述的样本相似度的检测装置,其特征在于,所述的常量信息至少包括:调用函数名称、字符串信息、数值常量。
B14、根据B9所述的样本相似度的检测装置,其特征在于,所述的样本包括:计算机病毒文件、计算机木马文件、计算机恶意软件。
B15、根据B9所述的样本相似度的检测装置,其特征在于,所述的相似度计算单元具体用于:
计算所述样本特征与基准样本特征之间的汉明距离,作为所述的相似度。
B16、根据B9所述的样本相似度的检测装置,其特征在于,所述的检测装置还包括:
存储长度计算单元,用于根据所述布隆过滤器的容量及误差率计算所述布隆过滤器的二进制位串存储长度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,比如ROM/RAM、磁碟、光盘等。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种样本相似度的检测方法,其特征在于,所述的检测方法包括:
获取一待检测的样本,并根据所述样本构建布隆过滤器;
提取所述样本中的字符串集合;
将所述字符串集合输入至所述布隆过滤器中,生成所述字符串集合的二进制位串,作为所述样本的样本特征;
计算所述样本特征与基准样本特征之间的相似度。
2.根据权利要求1所述的样本相似度的检测方法,其特征在于,所述的检测方法还包括:
根据所述相似度对所述样本进行分类。
3.根据权利要求2所述的样本相似度的检测方法,其特征在于,根据所述相似度对所述样本进行分类,进一步包括:
判断所述相似度与一预设阈值距离的大小关系;
当所述相似度小于所述预设阈值距离时,将所述样本与所述相似度对应的基准样本划分为一类。
4.根据权利要求1所述的样本相似度的检测方法,其特征在于,提取所述样本中的字符串集合,进一步包括:
提取所述样本中的常量信息,并根据所述常量信息生成所述的字符串集合。
5.根据权利要求4所述的样本相似度的检测方法,其特征在于,所述的常量信息至少包括:调用函数名称、字符串信息、数值常量。
6.根据权利要求1所述的样本相似度的检测方法,其特征在于,所述的样本包括:计算机病毒文件、计算机木马文件、计算机恶意软件。
7.根据权利要求1所述的样本相似度的检测方法,其特征在于,计算所述样本特征与基准样本特征之间的相似度,包括:
计算所述样本特征与基准样本特征之间的汉明距离,作为所述的相似度。
8.根据权利要求1所述的样本相似度的检测方法,其特征在于,所述的检测方法还包括:
根据所述布隆过滤器的容量及误差率计算所述布隆过滤器的二进制位串存储长度。
9.一种样本相似度的检测装置,其特征在于,所述的检测装置包括:
布隆过滤器构建单元,用于获取一待检测的样本,并根据所述样本构建布隆过滤器;
字符串集合提取单元,用于提取所述样本中的字符串集合;
样本特征生成单元,用于将所述字符串集合输入至所述布隆过滤器中,生成所述字符串集合的二进制位串,作为所述样本的样本特征;
相似度计算单元,用于计算所述样本特征与基准样本特征之间的相似度。
10.根据权利要求9所述的样本相似度的检测装置,其特征在于,所述的检测装置还包括:
分类单元,用于根据所述相似度对所述样本进行分类。
CN201510548448.1A 2015-08-31 2015-08-31 一种样本相似度的检测方法及装置 Active CN105224600B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510548448.1A CN105224600B (zh) 2015-08-31 2015-08-31 一种样本相似度的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510548448.1A CN105224600B (zh) 2015-08-31 2015-08-31 一种样本相似度的检测方法及装置

Publications (2)

Publication Number Publication Date
CN105224600A true CN105224600A (zh) 2016-01-06
CN105224600B CN105224600B (zh) 2019-05-28

Family

ID=54993568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510548448.1A Active CN105224600B (zh) 2015-08-31 2015-08-31 一种样本相似度的检测方法及装置

Country Status (1)

Country Link
CN (1) CN105224600B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778922A (zh) * 2017-02-16 2017-05-31 大连海事大学 一种适合高维特征的鞋印新类别检测方法
CN106790101A (zh) * 2016-12-23 2017-05-31 北京邮电大学 一种成熟检测器集生成方法、入侵检测方法及装置
CN106878632A (zh) * 2017-02-28 2017-06-20 北京知慧教育科技有限公司 一种视频数据的处理方法和装置
WO2017197942A1 (zh) * 2016-05-19 2017-11-23 腾讯科技(深圳)有限公司 病毒库的获取方法及装置、设备、服务器、系统
CN107430705A (zh) * 2015-03-17 2017-12-01 高通股份有限公司 用于重新训练分类器的样本选择
CN110399722A (zh) * 2019-02-20 2019-11-01 腾讯科技(深圳)有限公司 一种病毒家族生成方法、装置、服务器及存储介质
WO2020131468A1 (en) * 2018-12-17 2020-06-25 Microsoft Technology Licensing, Llc Facilitating device fingerprinting through assignment of fuzzy device identifiers
CN112487427A (zh) * 2020-11-26 2021-03-12 网宿科技股份有限公司 一种系统白名单的确定方法、系统及服务器
CN114385922A (zh) * 2022-01-17 2022-04-22 上海阿法迪智能数字科技股份有限公司 一种基于布隆滤波器的图书馆系统知识推荐方法
WO2022188510A1 (zh) * 2021-03-09 2022-09-15 北京沃东天骏信息技术有限公司 审核视频的方法、装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702683B1 (en) * 2006-09-18 2010-04-20 Hewlett-Packard Development Company, L.P. Estimating similarity between two collections of information
CN104601557A (zh) * 2014-12-29 2015-05-06 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种基于软件定义网络的恶意网站防护方法及系统
CN104751055A (zh) * 2013-12-31 2015-07-01 北京启明星辰信息安全技术有限公司 一种基于纹理的分布式恶意代码检测方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702683B1 (en) * 2006-09-18 2010-04-20 Hewlett-Packard Development Company, L.P. Estimating similarity between two collections of information
CN104751055A (zh) * 2013-12-31 2015-07-01 北京启明星辰信息安全技术有限公司 一种基于纹理的分布式恶意代码检测方法、装置及系统
CN104601557A (zh) * 2014-12-29 2015-05-06 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种基于软件定义网络的恶意网站防护方法及系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107430705A (zh) * 2015-03-17 2017-12-01 高通股份有限公司 用于重新训练分类器的样本选择
WO2017197942A1 (zh) * 2016-05-19 2017-11-23 腾讯科技(深圳)有限公司 病毒库的获取方法及装置、设备、服务器、系统
US10990672B2 (en) 2016-05-19 2021-04-27 Tencent Technology (Shenzhen) Company Limited Method and apparatus for obtaining virus library, device, server, and system
CN106790101A (zh) * 2016-12-23 2017-05-31 北京邮电大学 一种成熟检测器集生成方法、入侵检测方法及装置
CN106778922A (zh) * 2017-02-16 2017-05-31 大连海事大学 一种适合高维特征的鞋印新类别检测方法
CN106878632A (zh) * 2017-02-28 2017-06-20 北京知慧教育科技有限公司 一种视频数据的处理方法和装置
WO2020131468A1 (en) * 2018-12-17 2020-06-25 Microsoft Technology Licensing, Llc Facilitating device fingerprinting through assignment of fuzzy device identifiers
US11556823B2 (en) * 2018-12-17 2023-01-17 Microsoft Technology Licensing, Llc Facilitating device fingerprinting through assignment of fuzzy device identifiers
CN110399722A (zh) * 2019-02-20 2019-11-01 腾讯科技(深圳)有限公司 一种病毒家族生成方法、装置、服务器及存储介质
CN110399722B (zh) * 2019-02-20 2024-03-26 腾讯科技(深圳)有限公司 一种病毒家族生成方法、装置、服务器及存储介质
CN112487427A (zh) * 2020-11-26 2021-03-12 网宿科技股份有限公司 一种系统白名单的确定方法、系统及服务器
WO2022188510A1 (zh) * 2021-03-09 2022-09-15 北京沃东天骏信息技术有限公司 审核视频的方法、装置及计算机可读存储介质
CN114385922A (zh) * 2022-01-17 2022-04-22 上海阿法迪智能数字科技股份有限公司 一种基于布隆滤波器的图书馆系统知识推荐方法

Also Published As

Publication number Publication date
CN105224600B (zh) 2019-05-28

Similar Documents

Publication Publication Date Title
CN105224600A (zh) 一种样本相似度的检测方法及装置
US20210256127A1 (en) System and method for automated machine-learning, zero-day malware detection
CN109359439B (zh) 软件检测方法、装置、设备及存储介质
US9665713B2 (en) System and method for automated machine-learning, zero-day malware detection
RU2708356C1 (ru) Система и способ двухэтапной классификации файлов
CN106250319B (zh) 静态代码扫描结果处理方法和装置
CN104601556A (zh) 一种面向web的攻击检测方法及系统
CN107169351A (zh) 结合动态行为特征的Android未知恶意软件检测方法
CN104700033A (zh) 病毒检测的方法及装置
CN111723371B (zh) 构建恶意文件的检测模型以及检测恶意文件的方法
CN107273752B (zh) 基于词频统计和朴素贝叶斯融合模型的漏洞自动分类方法
CN117081858B (zh) 一种基于多决策树入侵行为检测方法、系统、设备及介质
CN107392021A (zh) 一种基于多类特征的Android恶意应用检测方法
CN112148305A (zh) 一种应用检测方法、装置、计算机设备和可读存储介质
CN117376228B (zh) 一种网络安全测试工具确定方法及装置
Sun et al. Detecting android malware and classifying its families in large-scale datasets
CN105808602B (zh) 一种垃圾信息的检测方法及装置
CN114024761A (zh) 网络威胁数据的检测方法、装置、存储介质及电子设备
US11157620B2 (en) Classification of executable files using a digest of a call graph pattern
CN117435480A (zh) 一种二进制文件检测方法、装置、电子设备及存储介质
CN109409091B (zh) 检测Web页面的方法、装置、设备以及计算机存储介质
Vahedi et al. Cloud based malware detection through behavioral entropy
CN116484390A (zh) 一种基于元数据和动态插桩技术的堆漏洞攻击检测方法、设备及介质
CN112347477A (zh) 家族变种恶意文件挖掘方法和装置
CN114357458A (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
TR01 Transfer of patent right

Effective date of registration: 20220719

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right