一种可移植可执行文件的聚类方法和装置制造方法

文档序号:6488504阅读:148来源:国知局
一种可移植可执行文件的聚类方法和装置制造方法【专利摘要】本发明公开了一种可移植可执行文件的聚类方法和装置,属于网络通信领域。所述方法包括:提取可移植可执行PE文件的特征;根据所述PE文件的特征,生成与所述PE文件对应的PE文件标识;根据所述PE文件标识,对所述PE文件进行聚类。所述装置包括:提取模块、生成模块和聚类模块。本发明通过根据从PE文件提取的特征,生成与PE文件对应的PE文件标识,并根据PE文件标识对PE文件进行聚类,减少了病毒分析端和病毒查杀服务器的PE文件数量,将无规律的PE文件聚类形成了有规律的类别,减少了存储成本,提高了匹配效率,提高了对抗变种病毒PE文件的能力和预警能力。【专利说明】一种可移植可执行文件的聚类方法和装置【
技术领域
】[0001]本发明涉及网络通信领域,特别涉及一种可移植可执行文件的聚类方法和装置。【
背景技术
】[0002]随着互联网的发展,信息成爆炸式增长,计算机病毒、蠕虫、木马程序等计算机恶意程序流行的周期也越来越短,每日都会有大量的病毒危害用户的安全。由于大部分的病毒文件都是PE(PortableExecutable,可移植可执行)文件格式,这些病毒PE文件虽然数量大,但是很多都具有相似特性,可以通过聚类对PE文件事先进行归类,这样有利于病毒的分析和查杀。[0003]目前,对PE文件聚类方法主要分为两种:一种是传统的PE文件聚类方法,如k均值聚类、层次聚类等,首先提取PE文件的某些特征,然后根据提取的特征对两个PE文件进行相似性比对,再对相似的PE文件进行聚类;另一种是基于模糊哈希的PE文件聚类方法,又叫CTPH(ContextTriggeredPiecewiseHashing,基于内容分割的分片哈希算法),首先将PE文件分割成多个分片,然后对两个PE文件的分片进行比对,确定PE文件的相似性从而进行聚类。[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:[0005]第一种传统的PE文件聚类方法,对两个PE文件进行比对时,需要对所提取的特征进行对齐,由于PE文件差异性大,在进行对齐极为耗时,还需要对多个特征进行比对,计算复杂度很大,并且对新增数据进行增量聚类时,需要同时聚类原来数据,数据存储和处理的成本高;第二种基于模糊哈希的PE文件聚类方法,依赖于PE文件的分割,PE文件分割的起始位置以及分割的分片的大小,都会影响文件的哈希值,稳定性差,可比性差;并且没有触及PE文件的内在信息,使得很多病毒PE文件会通过修改自身结构产生变种,如增删比特等操作,结果将导致其模糊哈希值完全不同而无法聚类。【
发明内容】[0006]为了解决现有技术的问题,本发明实施例提供了一种可移植可执行文件的聚类方法和装置。所述技术方案如下:[0007]一方面,提供了一种可移植可执行文件的聚类方法,所述方法包括:[0008]提取可移植可执行PE文件的特征;[0009]根据所述PE文件的特征,生成与所述PE文件对应的PE文件标识;[0010]根据所述PE文件标识,对所述PE文件进行聚类。[0011]具体地,所述提取可移植可执行PE文件的特征之后,包括:[0012]将提取的所述PE文件的特征组成PE文件特征集合;所述PE文件特征集合包括至少一个特征;[0013]相应地,所述根据所述PE文件的特征,生成与所述PE文件对应的PE文件标识,包括:[0014]根据所述PE文件特征集合,生成与所述PE文件对应的PE文件标识。[0015]具体地,所述根据所述PE文件的特征,生成与所述PE文件对应的PE文件标识,包括:[0016]当提取的所述PE文件的特征与其他PE文件的特征的相似度达到预设的阈值时,生成的所述PE文件的PE文件标识与其他所述PE文件的PE文件标识相同;[0017]当提取的所述PE文件的特征与其他PE文件的特征的相似度未达到预设的阈值时,生成的所述PE文件的PE文件标识与其他所述PE文件的PE文件标识不同。[0018]进一步地,当所述PE文件标识具体为数值标识时,所述方法包括:[0019]当提取的所述PE文件的特征与其他所述PE文件的特征中有部分相同时,根据所述相同的特征的个数,确定所述PE文件生成的PE数值标识与其他所述PE文件生成的PE数值标识的差距。[0020]具体地,所述根据所述PE文件标识,对所述PE文件进行聚类,包括:[0021]将所述PE文件标识相同的所有的所述PE文件,划分为同一个类别;[0022]对所述同一类别的所有的所述PE文件进行聚类,并用所述PE文件标识对所述同一类别的所有的所述PE文件进行标识。[0023]另一方面,提供了一种可移植可执行文件的聚类装置,所述装置包括:[0024]提取模块,用于提取可移植可执行PE文件的特征;[0025]生成模块,用于根据所述PE文件的特征,生成与所述PE文件对应的PE文件标识;[0026]聚类模块,用于根据所述PE文件标识,对所述PE文件进行聚类。[0027]具体地,所述提取模块,用于提取可移植可执行PE文件的特征之后,将提取的所述PE文件的特征组成PE文件特征集合;所述PE文件特征集合包括至少一个特征;[0028]相应地,所述生成模块,用于根据所述PE文件特征集合,生成与所述PE文件对应的PE文件标识。[0029]具体地,所述生成模块,包括:[0030]第一处理单元,用于当提取的所述PE文件的特征与其他PE文件的特征相同时,生成的所述PE文件的PE文件标识与其他所述PE文件的PE文件标识相同;[0031]第二处理单元,用于当提取的所述PE文件的特征与其他PE文件的特征不同时,生成的所述PE文件的PE文件标识与其他所述PE文件的PE文件标识不同。[0032]进一步地,所述生成模块包括:[0033]第三处理单元,用于在当所述PE文件标识具体为数值标识时,如果提取的所述PE文件的特征与其他所述PE文件的特征中有部分相同,根据所述相同的特征的个数,确定所述PE文件生成的PE数值标识与其他所述PE文件生成的PE数值标识的差距。[0034]具体地,所述聚类模块,包括:[0035]聚类单元,用于将所述PE文件标识相同的所有的所述PE文件,划分为同一个类另IJ,并对所述同一类别的所有的所述PE文件进行聚类;[0036]标识单元,用所述PE文件标识对所述同一类别的所有的所述PE文件进行标识。[0037]本发明实施例提供的技术方案带来的有益效果是:[0038]通过根据从PE文件提取的特征,生成与PE文件对应的PE文件标识,并根据PE文件标识对PE文件进行聚类,减少了病毒分析端和病毒查杀服务器的PE文件数量,将无规律的PE文件聚类形成了有规律的类别,减少了存储成本,提高了匹配效率,同时通过PE文件标识可以检索到相似的病毒PE文件,提高了对抗变种病毒PE文件的能力和预警能力。【专利附图】【附图说明】[0039]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0040]图1是本发明实施例一提供的一种可移植可执行文件的聚类方法流程图;[0041]图2是本发明实施例二提供的一种可移植可执行文件的聚类方法流程图;[0042]图3是本发明实施例三提供的一种可移植可执行文件的聚类装置结构示意图。【具体实施方式】[0043]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。[0044]实施例一[0045]参见图1,本发明实施例提供了一种PE文件的聚类方法,该方法包括:[0046]101、提取可移植可执行PE文件的特征;[0047]102、根据PE文件的特征,生成与PE文件对应的PE文件标识;[0048]103、根据PE文件标识,对PE文件进行聚类。[0049]具体地,提取可移植可执行PE文件的特征之后,包括:[0050]将提取的PE文件的特征组成PE文件特征集合;PE文件特征集合包括至少一个特征;[0051]相应地,根据PE文件的特征,生成与PE文件对应的PE文件标识,包括:[0052]根据PE文件特征集合,生成与PE文件对应的PE文件标识。[0053]具体地,根据PE文件的特征,生成与PE文件对应的PE文件标识,包括:[0054]当提取的PE文件的特征与其他PE文件的特征的相似度达到预设的阈值时,生成的PE文件的PE文件标识与其他PE文件的PE文件标识相同;[0055]当提取的PE文件的特征与其他PE文件的特征的相似度未达到预设的阈值时,生成的PE文件的PE文件标识与其他PE文件的PE文件标识不同。[0056]进一步地,当PE文件标识具体为数值标识时,方法包括:[0057]当提取的PE文件的特征与其他PE文件的特征中有部分相同时,根据相同的特征的个数,确定PE文件生成的PE数值标识与其他PE文件生成的PE数值标识的差距。[0058]具体地,根据PE文件标识,对PE文件进行聚类,包括:[0059]将PE文件标识相同的所有的PE文件,划分为同一个类别;[0060]对同一类别的所有的PE文件进行聚类,并用PE文件标识对同一类别的所有的PE文件进行标识。[0061]本发明实施例通过根据从PE文件提取的特征,生成与PE文件对应的PE文件标识,并根据PE文件标识对PE文件进行聚类,减少了病毒分析端和病毒查杀服务器的PE文件数量,将无规律的PE文件聚类形成了有规律的类别,减少了存储成本,提高了匹配效率,同时通过PE文件标识可以检索到相似的病毒PE文件,提高了对抗变种病毒PE文件的能力和预警能力。[0062]实施例二[0063]参见图2,本发明实施例提供了一种PE文件的聚类方法,该方法包括:[0064]201、提取可移植可执行PE文件的特征;[0065]具体地,PE文件,为Windows下的一种文件格式,在windows中广泛存在这种格式,大部分的可执行病毒文件都是PE文件格式;[0066]从PE文件中抽取一套该PE文件的特征,该PE文件的特征可以为指令序列、导入函数名、导出函数名和可见字符串等,也可以提取PE文件的其他特征,对于提取PE文件的特征的个数本发明实施例不做限制;对于一些PE文件,可能只有部分特征,这样只需提取该PE文件中存在的特征即可,比如对某个PE文件提取指令序列、导入函数名、导出函数名,但该PE文件中只有指令序列、导入函数名这两个特征,没有导出函数名这个特征,则只需提取指令序列和导入函数名即可。[0067]202、将提取的PE文件的特征组成PE文件特征集合;PE文件特征集合包括至少一个特征;[0068]具体地,将提取的PE文件的特征组合,组成集合U(u1;u2,...,un),其中(U1,U2,,un)代表所选择的某种特征组合,由于各个PE文件提取的特征个数不一定相同,所以各个PE文件特征集合U的大小可能不同,另外各个PE文件特征集合U中特征的排列顺序也可以不同。[0069]203、根据PE文件特征集合,生成与PE文件对应的PE文件标识;[0070]具体地,对PE文件特征集合通过信息指纹生成算法,例如局部敏感哈希算法SimHash算法,对每个PE文件的特征集合U生成一个PE文件标识,该PE文件标识可以为号码或者数值;本发明实施例对生成PE文件标识的算法不做限制,也可以采用其他算法。[0071]当从PE文件与其他PE文件提取的特征的相似度达到预设的阈值时,通过信息指纹生成算法生成的PE文件的PE文件标识与其他PE文件的PE文件标识相同;如果从PE文件与其他PE文件提取的特征完全相同,生成的PE文件标识相同;如果从PE文件与其他PE文件提取的特征相似,则预先设定相似度的阈值,两个PE文件的相似度达到该阈值时,则生成的PE文件标识也相同。比如比较提取的PE文件的特征与其他PE文件的特征的相似度h,设定阈值n,h大于等于η时,生成的PE文件标识相等。[0072]当从PE文件与其他PE文件提取的特征的相似度未达到预设的阈值时,通过信息指纹生成算法生成的PE文件的PE文件标识与其他PE文件的PE文件标识不同。[0073]进一步地,当PE文件标识具体为数值标识时,该步骤包括:[0074]当提取的PE文件的特征与其他PE文件的特征中有部分相同时,根据相同的特征的个数,确定PE文件生成的PE数值标识与其他PE文件生成的PE数值标识的差距;从PE文件提取的特征与其他PE文件提取的特征有越多相同的特征,PE文件生成的PE数值标识与其他PE文件生成的PE数值标识的差距越小,比如通过SimHash算法计算PE数值标识,两个PE文件的PE文件特征集合U中有越多相同的特征U,得到的PE文件标识的汉明距离越小。[0075]其中,选取的PE文件标识的比特位数由所需的精度决定,比特位数越高,精度越高;比特位数越低,精度越低。[0076]204、根据PE文件标识,对PE文件进行聚类。[0077]具体地,首先将PE文件标识相同的所有的PE文件,划分为同一个类别;然后对同一类别的所有的PE文件进行聚类,并用PE文件标识对同一类别的所有的PE文件进行标识。[0078]比如,将PE文件标识为10的所有的PE文件划分为同一个类别,并对该类别的所有的PE文件进行聚类后,用10标识该类所有的PE文件,这样如果再发现PE文件标识为10的PE文件,则把该PE文件直接聚到该类中即可,并且可以利用已知的该类PE文件的一些特点对该PE文件进行分析,从而可以尽快查找到病毒PE文件。[0079]本发明实施例通过根据从PE文件提取的特征,生成与PE文件对应的PE文件标识,并根据PE文件标识对PE文件进行聚类,减少了病毒分析端和病毒查杀服务器的PE文件数量,将无规律的PE文件聚类形成了有规律的类别,减少了存储成本,提高了匹配效率,同时通过PE文件标识可以检索到相似的病毒PE文件,提高了对抗变种病毒PE文件的能力和预警能力。[0080]实施例三[0081]参见图3,本发明实施例提供了一种可移植可执行文件的聚类装置,该装置包括:[0082]提取模块301,用于提取可移植可执行PE文件的特征;[0083]生成模块302,用于根据PE文件的特征,生成与PE文件对应的PE文件标识;[0084]聚类模块303,用于根据PE文件标识,对PE文件进行聚类。[0085]具体地,提取模块301,用于提取可移植可执行PE文件的特征之后,将提取的PE文件的特征组成PE文件特征集合;PE文件特征集合包括至少一个特征;[0086]相应地,生成模块302,用于根据PE文件特征集合,生成与PE文件对应的PE文件标识。[0087]具体地,生成模块302,包括:[0088]第一处理单元,用于当提取的PE文件的特征与其他PE文件的特征的相似度达到预设的阈值时,生成的PE文件的PE文件标识与其他PE文件的PE文件标识相同;[0089]第二处理单元,用于当提取的PE文件的特征与其他PE文件的特征的相似度未达到预设的阈值时,生成的PE文件的PE文件标识与其他PE文件的PE文件标识不同。[0090]进一步地,生成模块302包括:[0091]第三处理单元,用于在当PE文件标识具体为数值标识时,如果提取的PE文件的特征与其他PE文件的特征中有部分相同,根据相同的特征的个数,确定PE文件生成的PE数值标识与其他PE文件生成的PE数值标识的差距。[0092]具体地,聚类模块303,包括:[0093]聚类单元,用于将PE文件标识相同的所有的PE文件,划分为同一个类别,并对同一类别的所有的PE文件进行聚类;[0094]标识单元,用PE文件标识对同一类别的所有的PE文件进行标识。[0095]综上所述,本发明实施例提供的装置,通过根据从PE文件提取的特征,生成与PE文件对应的唯一的PE文件标识,并根据PE文件标识对PE文件进行聚类,减少了病毒分析端和病毒查杀服务器的PE文件数量,将无规律的PE文件聚类形成了有规律的类别,减少了存储成本,提高了匹配效率,同时通过PE文件标识可以检索到相似的病毒PE文件,提高了对抗变种病毒PE文件的能力和预警能力。[0096]需要说明的是:上述实施例提供的可移植可执行文件的聚类装置在对可移植可执行文件聚类时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的可移植可执行文件的聚类装置与可移植可执行文件的聚类方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。[0097]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。[0098]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。[0099]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。【权利要求】1.一种可移植可执行文件的聚类方法,其特征在于,所述方法包括:提取可移植可执行PE文件的特征;根据所述PE文件的特征,生成与所述PE文件对应的PE文件标识;根据所述PE文件标识,对所述PE文件进行聚类。2.根据权利要求1所述的方法,其特征在于,所述提取可移植可执行PE文件的特征之后,包括:将提取的所述PE文件的特征组成PE文件特征集合;所述PE文件特征集合包括至少一个特征;相应地,所述根据所述PE文件的特征,生成与所述PE文件对应的PE文件标识,包括:根据所述PE文件特征集合,生成与所述PE文件对应的PE文件标识。3.根据权利要求1所述的方法,其特征在于,所述根据所述PE文件的特征,生成与所述PE文件对应的PE文件标识,包括:当提取的所述PE文件的特征与其他PE文件的特征的相似度达到预设的阈值时,生成的所述PE文件的PE文件标识与其他所述PE文件的PE文件标识相同;当提取的所述PE文件的特征与其他PE文件的特征的相似度未达到预设的阈值时,生成的所述PE文件的PE文件标识与其他所述PE文件的PE文件标识不同。4.根据权利要求3所述的方法,其特征在于,当所述PE文件标识具体为数值标识时,所述方法包括:当提取的所述PE文件的特征与其他所述PE文件的特征中有部分相同时,根据所述相同的特征的个数,确定所述PE文件生成的PE数值标识与其他所述PE文件生成的PE数值标识的差距。5.根据权利要求1或3所述的方法,其特征在于,所述根据所述PE文件标识,对所述PE文件进行聚类,包括:将所述PE文件标识相同的所有的所述PE文件,划分为同一个类别;对所述同一类别的所有的所述PE文件进行聚类,并用所述PE文件标识对所述同一类别的所有的所述PE文件进行标识。6.一种可移植可执行文件的聚类装置,其特征在于,所述装置包括:提取模块,用于提取可移植可执行PE文件的特征;生成模块,用于根据所述PE文件的特征,生成与所述PE文件对应的PE文件标识;聚类模块,用于根据所述PE文件标识,对所述PE文件进行聚类。7.根据权利要求6所述的装置,其特征在于,所述提取模块,用于提取可移植可执行PE文件的特征之后,将提取的所述PE文件的特征组成PE文件特征集合;所述PE文件特征集合包括至少一个特征;相应地,所述生成模块,用于根据所述PE文件特征集合,生成与所述PE文件对应的PE文件标识。8.根据权利要求6所述的装置,其特征在于,所述生成模块,包括:第一处理单元,用于当提取的所述PE文件的特征与其他PE文件的特征的相似度达到预设的阈值时,生成的所述PE文件的PE文件标识与其他所述PE文件的PE文件标识相同;第二处理单元,用于当提取的所述PE文件的特征与其他PE文件的特征的相似度未达到预设的阈值时,生成的所述PE文件的PE文件标识与其他所述PE文件的PE文件标识不同。9.根据权利要求8所述的装置,其特征在于,所述生成模块包括:第三处理单元,用于在当所述PE文件标识具体为数值标识时,如果提取的所述PE文件的特征与其他所述PE文件的特征中有部分相同,根据所述相同的特征的个数,确定所述PE文件生成的PE数值标识与其他所述PE文件生成的PE数值标识的差距。10.根据权利要求6或8所述的装置,其特征在于,所述聚类模块,包括:聚类单元,用于将所述PE文件标识相同的所有的所述PE文件,划分为同一个类别;对所述同一类别的所有的所述PE文件进行聚类;标识单元,用所述PE文件标识对所述同一类别的所有的所述PE文件进行标识。【文档编号】G06F21/56GK103679012SQ201210321468【公开日】2014年3月26日申请日期:2012年9月3日优先权日:2012年9月3日【发明者】杨宜,于涛,白子潘,崔精兵,吴家旭申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1