《获取可信文件数字签名的方法和装置及系统.pdf》由会员分享,可在线阅读,更多相关《获取可信文件数字签名的方法和装置及系统.pdf(18页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102982292 A(43)申请公布日 2013.03.20CN102982292A*CN102982292A*(21)申请号 201210436334.4(22)申请日 2012.11.05G06F 21/64(2013.01)H04L 9/32(2006.01)(71)申请人北京奇虎科技有限公司地址 100088 北京市西城区新街口外大街28号D座112室(德胜园区)申请人奇智软件(北京)有限公司(72)发明人张超旭 于春功(74)专利代理机构北京市浩天知识产权代理事务所 11276代理人靳春鹰 宋菲(54) 发明名称获取可信文件数字签名的方法和装置及系统(57。
2、) 摘要本发明公开了一种获取可信文件数字签名的方法和装置及系统。其中所述装置包括:签名获取模块;分词处理模块;词频统计模块,用于统计数字签名集合中每个单词的词频;相似度获取模块,用于根据数字签名集合中单词的词频和字符串长度,获取所述数字签名集合与已知的可信文件数字签名集合的字符串相似度;可信文件数字签名获取模块,用于根据所述数字签名集合与已知的可信文件数字签名集合的字符串相似度,确定所述数字签名是否为可信文件数字签名。本发明提供的方案在计算两个集合的字符串相似度的时候考虑到单词的词频和字符串长度的影响,因此更能反映两个集合的相关程度,由此提高了获取可信文件数字签名的准确率。(51)Int.Cl。
3、.权利要求书2页 说明书11页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 2 页 说明书 11 页 附图 4 页1/2页21.一种获取可信文件数字签名的方法,包括:获取可执行文件样本的数字签名;将数字签名进行分词操作处理,得到数字签名集合,所述数字签名集合包含至少一个单词;统计数字签名集合中每个单词的词频;根据数字签名集合中单词的词频和字符串长度,获取所述数字签名集合与已知的可信文件数字签名集合的字符串相似度;根据所述数字签名集合与已知的可信文件数字签名集合的字符串相似度,确定所述数字签名是否为可信文件数字签名。2.根据权利要求1所述的方法,所述单词的词频是该。
4、单词在所有已知的可信文件数字签名集合中出现的频次。3.根据权利要求1或8所述的方法,所述数字签名集合和已知的可信文件数字签名集合中每个单词对这两个集合的所述字符串相似度的权重影响取决于该单词的词频和字符串长度。4.根据权利要求1至3任一项所述的方法,所述获取所述数字签名集合与已知的可信文件数字签名集合的字符串相似度包括:获取所述数字签名集合A和已知的可信文件数字签名集合B的交集C;根据A中每个单词的词频和字符串长度以及B中每个单词的词频和字符串长度,分别获取A的长度因子和B的长度因子;根据所述A的长度因子、B的长度因子以及C中每个单词的词频和字符串长度,获取A和B的字符串相似度。5.根据权利要。
5、求1至4任一项所述的方法,在所述统计数字签名集合中每个单词的词频之前还包括:根据同义词对应表,将以不同形式出现的同义单词做归一化处理。6.根据权利要求1至5任一项所述的方法,所述将数字签名进行分词操作处理,得到数字签名集合包括:去除数字签名中的字符和标点符号;将数字签名的格式进行统一处理;对于英文数字签名,以空格为分隔进行分词处理;对于中文数字签名,以单词为分隔进行分词处理。7.一种获取可信文件数字签名的装置,包括:签名获取模块,用于获取可执行文件样本的数字签名;分词处理模块,用于将数字签名进行分词操作处理,得到数字签名集合,所述数字签名集合包含至少一个单词;词频统计模块,用于统计数字签名集合。
6、中每个单词的词频;相似度获取模块,用于根据数字签名集合中单词的词频和字符串长度,获取所述数字签名集合与已知的可信文件数字签名集合的字符串相似度;可信文件数字签名获取模块,用于根据所述数字签名集合与已知的可信文件数字签名集合的字符串相似度,确定所述数字签名是否为可信文件数字签名。权 利 要 求 书CN 102982292 A2/2页38.根据权利要求7所述的装置,所述单词的词频是该单词在所有已知的可信文件数字签名集合中出现的频次。9.根据权利要求7或8所述的装置,所述数字签名集合和已知的可信文件数字签名集合中每个单词对这两个集合的所述字符串相似度的权重影响取决于该单词的词频和字符串长度。10.根。
7、据权利要求7至9任一项所述的装置,所述相似度获取模块包括:第一获取单元,用于获取所述数字签名集合A和已知的可信文件数字签名集合B的交集C;第二获取单元,用于根据A中每个单词的词频和字符串长度以及B中每个单词的词频和字符串长度,分别获取A的长度因子和B的长度因子;第三获取单元,用于根据所述A的长度因子、B的长度因子以及C中每个单词的词频和字符串长度,获取A和B的字符串相似度。11.根据权利要求7至10任一项所述的装置,还包括:归一化处理模块,用于根据同义词对应表,将以不同形式出现的同义单词做归一化处理。12.根据权利要求7至11任一项所述的装置,所述分词处理模块包括:去除单元,用于去除数字签名中。
8、的字符和标点符号;格式处理单元,用于将数字签名的格式进行统一处理;分词处理单元,用于对于英文数字签名,以空格为分隔进行分词处理;对于中文数字签名,以单词为分隔进行分词处理。13.一种包括上述权利要求7至12任一项所述的获取可信文件数字签名的装置的系统。权 利 要 求 书CN 102982292 A1/11页4获取可信文件数字签名的方法和装置及系统技术领域0001 本发明涉及计算机安全技术领域,具体涉及一种获取可信文件数字签名的方法和装置及系统。背景技术0002 随着计算机技术在社会生活中各个领域的广泛运用,恶意程序(是指任何故意创建用来执行未经授权并通常是有害行为的软件程序)也如同其附属品一样。
9、接踵而来。由于这些恶意程序所具有的感染性、复制性及破坏性,其已成为困扰计算机使用的一个重大问题。因此,在网络威胁飙升的今天,更新病毒特征码成为企业及网民每天必备的工作,从每周一次到每天一次,直至时刻更新。而传统杀毒软件是将病毒库放在本地客户端,在客户端进行文件的分析工作,在扫描过程中会反复在本地病毒库中进行比对,占用大量系统资源,并且随着病毒库的不断升级,病毒库的容量越来越大,分析文件时所耗费的时间也越来越长,让客户端计算机越用越慢,因此,反病毒行业必须寻找新的技术突破。0003 “云安全(Cloud Security)”计划即是网络时代信息安全的最新体现,它融合了并行处理、网格计算、未知病毒。
10、行为判断等新兴技术概念,将“云计算”的理念应用到了安全领域。“云安全”计划的实现是与其样本数据库的构建息息相关的,因此,如何有效的组织并维护样本数据库,成为业界亟待解决的问题。0004 对于安全公司来说,收集可信任的可执行文件样本是一个非常重要的工作。现有技术是通过样本的数字签名来确定样本是否为可信任的样本,如果某一可执行文件样本的数字签名为可信文件数字签名,那么就确定该可执行文件样本为可信任的。因此,如何从大量的数字签名中获取可信文件数字签名就成为完成上述工作的一个非常重要的步骤。0005 现有技术获取可信文件数字签名的方法主要有以下两种:0006 (一)人工审核方法;0007 这种方法的优。
11、点是准确率高,但是审核速度慢、成本很高,召回率难以保证。尤其是当数字签名库越来越大的时候,人工审核变得越发的难以操作。0008 (二)通过编辑距离算法计算得到字符串相似度,与已知可信文件数字签名的字符串相似度较高的数字签名可以确定为可信文件数字签名。0009 这种方法很好的解决了当数字签名库很大时,人工操作难的问题。但是仍然存在这样的问题:对于同一公司或机构的数字签名,通过编辑距离算法计算的字符串相似度往往很低,例如,“Powerise Digital TechnologiesCo.Ltd/Powerise Digital Technologies Co.Ltd.”和“Powerise”属于同。
12、一公司或机构的数字签名,通过编辑距离算法得到的字符串相似度就很低,尽管已知“Powerise Digital Technologies Co.Ltd/Powerise Digital Technologies Co.Ltd.”为可信文件数字签名,也不能确定“Powerise”也是可信文件数字签名。在这种情况下,获取可信文件数字签名的准确率会降低。发明内容说 明 书CN 102982292 A2/11页50010 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的获取可信文件数字签名的方法和相应的获取可信文件数字签名的装置以及系统。0011 根据本发明的一个方面,提供。
13、了一种获取可信文件数字签名的方法,包括:获取可执行文件样本的数字签名;将数字签名进行分词操作处理,得到数字签名集合,数字签名集合包含至少一个单词;统计数字签名集合中每个单词的词频;根据数字签名集合中单词的词频和字符串长度,获取数字签名集合与已知的可信文件数字签名集合的字符串相似度;根据数字签名集合与已知的可信文件数字签名集合的字符串相似度,确定数字签名是否为可信文件数字签名。0012 根据本发明的另一方面,提供了一种获取可信文件数字签名的装置,包括:签名获取模块,用于获取可执行文件样本的数字签名;分词处理模块,用于将数字签名进行分词操作处理,得到数字签名集合,数字签名集合包含至少一个单词;词频。
14、统计模块,用于统计数字签名集合中每个单词的词频;相似度获取模块,用于根据数字签名集合中单词的词频和字符串长度,获取数字签名集合与已知的可信文件数字签名集合的字符串相似度;可信文件数字签名获取模块,用于根据数字签名集合与已知的可信文件数字签名集合的字符串相似度,确定数字签名是否为可信文件数字签名。0013 根据本发明的再一方面,提供了获取可信文件数字签名的系统,其包括上面提及的任一种获取可信文件数字签名的装置。0014 根据本发明的提供的获取可信文件数字签名的方法和装置及系统,将数字签名进行分词操作处理得到数字签名集合,根据数字签名集合中单词的词频和字符串长度,获取两个集合之间字符串相似度,根据。
15、字符串相似度来确定数字签名是否为可信文件数字签名。本发明提供的方案在计算两个集合的字符串相似度的时候考虑到单词的词频和字符串长度的影响,与现有技术中单纯依赖编辑距离算法计算字符串相似度相比,利用本发明计算得到的两个集合的字符串相似度更能反映两个集合的相关程度,由此提高了获取可信文件数字签名的准确率。0015 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明0016 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变。
16、得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:0017 图1示出了根据本发明一个实施例的可信文件数字签名的获取方法的流程图;0018 图2示出了根据本发明另一个实施例的获取可信文件数字签名的方法的流程图;0019 图3示出了根据本发明一个实施例的可信文件数字签名的获取装置的结构示意图;以及0020 图4示出了根据本发明另一个实施例的获取可信文件数字签名的装置的结构示意图。说 明 书CN 102982292 A3/11页6具体实施方式0021 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本。
17、公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。0022 PE(Portable Execute,可移植的执行体)文件是微软Windows操作系统上的程序文件,它是是可执行文件的一种,常见的后缀为EXE、DLL、OCX、SYS、COM的文件都是PE文件。在以下实施例中,以PE文件作为例子,详细介绍可信文件数字签名的获取方法。但需要注意的是,本发明中可执行文件不仅限于是PE文件。0023 图1示出了根据本发明一个实施例的可信文件数字签名的获取方法100的。
18、流程图。如图1所示,方法100始于步骤S101,其中收集多个PE文件样本的数字签名。根据系统处理能力,尽可能多的收集PE文件样本的数字签名,如收集3万多数字签名,其中有一部分数字签名为已知可信文件数字签名。所谓已知可信文件数字签名是指已经获知为可信任PE文件签名的数字签名。0024 随后,方法100进入步骤S102,在步骤S101中收集到多个数字签名之后,在步骤S102中将多个数字签名分别进行分词操作处理,得到多个数字签名集合,其中每个数字签名集合包含至少一个单词。可选地,对于其中一个数字签名,首先去除该数字签名中的字符和标点符号;其次将数字签名的格式进行统一处理,例如将全半角的数字签名统一转。
19、化为半角,将大小写混合的数字签名统一转化为小写或大写;将多个空格制表符按一个来处理;对于中文,进行繁简体统一转换或编码统一转换等操作;最后,对于英文数字签名,以空格为分隔进行分词处理,对于中文数字签名,以单词为分隔进行分词处理。举例来说,“成都梦工厂公司”可分为“成都”、“梦工厂”和“公司”,这三个单词组成一个数字签名集合成都,梦工厂,公司;“TEKTRONIX,Inc.”可分为“tektronix”和“inc”,这两个单词组成一个数字签名集合tektronix,inc”;Tektronix UK Ltd.”可分为“tektronix”、“uk”和“ltd”,这三个单词组成一个数字签名集合te。
20、ktronix,uk,ltd。0025 随后方法100进入步骤S 103,其中根据同义词对应表,将以不同形式出现的同义单词做归一化处理,这里是对步骤S101收集的3万多数字签名对应的数字签名集合中的单词统一进行归一化处理。该同义词对应表通过人工标注预先获得的。在数字签名中,存在一些固定的简写规则,例如corp和co.都是corporation的简写,ltd是limited的简写。需要将这些具有相同意义的单词之前的对应关系建立起来,这里使用人工标注或者机器标注的方法,预先建立同义词对应表,该同义词对应表中记录了同义单词之间的对应关系以及同义单词中哪个单词为归一化的单词。根据同义词对应表,将步骤S。
21、102中得到的每个数字签名集合中的单词做归一化处理。例如,数字签名集合tektronix,uk,ltd经过归一化处理后成为tektronix,uk,limited。应当注意的是,步骤S103是本方法的可选步骤。0026 随后方法100进入步骤S104,在步骤S104中统计每个数字签名集合中每个单词的词频。所谓词频是指单词在所有数字签名集合中出现的频次。明显地,单词“limited”在所有数字签名集合中出现的频次会远高于单词“tektronix”。0027 随后方法100进入获取多个数字签名集合两两之间的字符串相似度的步骤,该步骤包括如下步骤S105、步骤S106和步骤S107。说 明 书CN 。
22、102982292 A4/11页70028 在步骤S105中,对于多个数字签名集合中任意两个数字签名集合A和B,获取A和B的交集C。设A=a1,a2,.,am,B=b1,b2,.,bn,A与B的交集C=c1,c2,.,ct。例如,若A=tektronix,inc,B=tektronix,uk,limited,则A与B的交集C=tektronix。0029 在步骤S106中,根据A中每个单词的词频和字符串长度以及B中每个单词的词频和字符串长度,分别获取A的长度因子和B的长度因子。设A中的单词ai的词频为Freq(ai),字符串长度为Length(ai),B中的单词bi的词频为Freq(bi),字。
23、符串长度为Length(bi),那么A的长度因子为:0030 0031 B的长度因子为:0032 0033 应当注意的是,步骤S105和S106之间没有前后顺序关系,两个步骤可以同时执行、先执行步骤S106然后再执行步骤S105等,所有这些都在本发明的保护范围之内。0034 在步骤S107中,根据A的长度因子、B的长度因子以及C中每个单词的词频和字符串长度,获取A和B的字符串相似度。设C中的单词ci的词频为Freq(ci),字符串长度为Length(ci),那么A和B的字符串相似度为:0035 0036 其中,Factor_Length(ci)=Length(ci)*(1/Freq(ci) (。
24、4)0037 由上述公式(1)-(4)可以看出,集合A和B中每个单词对SimAB的权重影响取决于该单词的词频和字符串长度。单词的词频越低,字符串长度越高,该单词对SimAB的权重影响越大;单词的词频越高,字符串长度越低,该单词对SimAB的权重影响越小。如果A和B的交集C中包含对SimAB权重影响越大的单词,那么最终计算得到的SimAB就越高。以单词“limited”和“tektronix”为例,“limited”的词频高于“tektronix”,但“limited”的字符串长度低于“tektronix”,那么“tektronix”对SimAB的权重影响高于“limited”。如果A和B的交集。
25、C中包含“tektronix”,则计算得到的SimAB就较高;如果A和B的交集C中包含“limited”而不包含“tektronix”,则计算得到的SimAB就较低。0038 在步骤S107中计算得到多个数字签名集合两两之间的字符串相似度之后,方法100进入步骤S108,其中将字符串相似度高于设定阈值的数字签名集合聚为一类。设定阈值是人工确定的,可选地,设定阈值可以为0.85,如果A和B的字符串相似度高于0.85,那么A和B可聚为一类。0039 随后方法100进入步骤S109,其中根据同一类中已知可信文件数字签名的数量,确定该类中所有数字签名是否为可信文件数字签名。由于在步骤S101中收集的数。
26、字签名中有一部分为已知可信文件数字签名,所以在每个聚类中都有可能存在一定数量的已知可信文件数字签名,如果某一类中已知可信文件数字签名的数量比较多,例如已知可信文件数字签名的数量过半,则可认为这一类的数字签名均为可信文件数字签名。可选地,预先设定已知可信文件数字签名占所有数字签名的比例阈值,如果在某一聚类中,已知可信文件数字签名占所有数字签名的比例高于该比例阈值,则确定这个聚类中所有的数字签名都为说 明 书CN 102982292 A5/11页8可信文件数字签名。0040 本实施例提供了一种在收集到多个数字签名且已知其中一部分数字签名为可信文件数字签名的情况下,如何确定剩余另一部分数字签名是否为。
27、可信文件数字签名,从而建立可信文件数字签名数据库的方法。具体地,首先对多个数字签名分别进行分词操作处理,得到多个数字签名集合;根据单词的词频和字符串长度计算两两集合之间的字符串相似度。其中,两个集合中每个单词对最终计算得到的字符串相似度的权重影响取决于该单词的词频和字符串长度。将字符串相似度高于设定阈值的数字签名集合聚为一类,根据同一类中已知可信文件数字签名的数量,确定该类中所有数字签名是否为可信文件数字签名。由此可见,本方法在计算两个集合的字符串相似度的时候考虑到单词的词频和字符串长度的影响,与现有技术中单纯依赖编辑距离算法计算字符串相似度相比,利用本方法计算得到的两个集合的字符串相似度更能。
28、反映两个集合的相关程度,由此提高了聚类的准确率,进一步提高了获取可信文件数字签名的准确率。以同一公司或机构的两个数字签名为例,公司名称对两个集合的字符串相似度的权重影响较大,显然同一公司或机构的两个数字签名集合的交集都会包含公司名称,那么利用本方法同一公司或机构的两个数字签名会被聚为一类。0041 图2示出了根据本发明另一个实施例的获取可信文件数字签名的方法200的流程图。如图2所示,方法200始于步骤S201,其中获取某一PE文件样本的数字签名,该数字签名为待确认的数字签名。0042 随后,方法200进入步骤S202,在步骤S201中获取待确认的数字签名之后,在步骤S202中将该数字签名进行。
29、分词操作处理,得到数字签名集合,其中该数字签名集合包含至少一个单词。可选地,首先去除该数字签名中的字符和标点符号;其次将数字签名的格式进行统一处理,例如将全半角的数字签名统一转化为半角,将大小写混合的数字签名统一转化为小写或大写;将多个空格制表符按一个来处理;对于中文,进行繁简体统一转换或编码统一转换等操作;最后,对于英文数字签名,以空格为分隔进行分词处理,对于中文数字签名,以单词为分隔进行分词处理。举例来说,“成都梦工厂公司”可分为“成都”、“梦工厂”和“公司”,这三个单词组成一个数字签名集合成都,梦工厂,公司;“TEKTRONIX,Inc.”可分为“tektronix”和“inc”,这两个。
30、单词组成一个数字签名集合tektronix,inc”;Tektronix UK Ltd.”可分为“tektronix”、“uk”和“ltd”,这三个单词组成一个数字签名集合tektronix,uk,ltd。0043 随后方法200进入步骤S203,其中根据同义词对应表,将以不同形式出现的同义单词做归一化处理,这里是对步骤S201获取的待确认的数字签名对应的数字签名集合中的单词进行归一化处理。该同义词对应表通过人工标注或者机器标注预先获得的。在数字签名中,存在一些固定的简写规则,例如corp和co.都是corporation的简写,ltd是limited的简写。需要将这些具有相同意义的单词之前的。
31、对应关系建立起来,这里使用人工标注的方法,预先建立同义词对应表,该同义词对应表中记录了同义单词之间的对应关系以及同义单词中哪个单词为归一化的单词。根据同义词对应表,将步骤S202中得到的数字签名集合中的单词做归一化处理。例如,数字签名集合tektronix,uk,ltd经过归一化处理后成为tektronix,uk,limited。应当注意的是,步骤S203是本方法的可选步骤。0044 随后方法200进入步骤S204,在步骤S204中统计数字签名集合中每个单词的词说 明 书CN 102982292 A6/11页9频。所谓词频是指单词在所有已知的可信文件数字签名集合中出现的频次。0045 随后方法。
32、200进入获取数字签名集合与已知的可信文件数字签名集合的字符串相似度的步骤,该步骤包括如下步骤S205、步骤S206和步骤S207。0046 在步骤S205中,对于数字签名集合A和已知的可信文件数字签名集合B,获取A和B的交集C。设A=a1,a2,.,am,B=b1,b2,.,bn,A与B的交集C=c1,c2,.,ct。例如,若A=tektronix,inc,B=tektronix,uk,limited,则A与B的交集C=tektronix。0047 在步骤S206中,根据A中每个单词的词频和字符串长度以及B中每个单词的词频和字符串长度,分别获取A的长度因子和B的长度因子。设A中的单词ai的词。
33、频为Freq(ai),字符串长度为Length(ai),B中的单词bi的词频为Freq(bi),字符串长度为Length(bi),那么A的长度因子为:0048 0049 B的长度因子为:0050 0051 应当注意的是,步骤S205和S206之间没有前后顺序关系,两个步骤可以同时执行、先执行步骤S206然后再执行步骤S205等,所有这些都在本发明的保护范围之内。0052 在步骤S207中,根据A的长度因子、B的长度因子以及C中每个单词的词频和字符串长度,获取A和B的字符串相似度。设C中的单词ci的词频为Freq(ci),字符串长度为Length(ci),那么A和B的字符串相似度为:0053 0。
34、054 其中,Factor_Length(ci)=Length(ci)*(1/Freq(ci) (8)0055 由上述公式(5)-(8)可以看出,集合A和B中每个单词对SimAB的权重影响取决于该单词的词频和字符串长度。单词的词频越低,字符串长度越高,该单词对SimAB的权重影响越大;单词的词频越高,字符串长度越低,该单词对SimAB的权重影响越小。如果A和B的交集C中包含对SimAB权重影响越大的单词,那么最终计算得到的SimAB就越高。以单词“limited”和“tektronix”为例,“limited”的词频高于“tektronix”,但“limited”的字符串长度低于“tektro。
35、nix”,那么“tektronix”对SimAB的权重影响高于“limited”。如果A和B的交集C中包含“tektronix”,则计算得到的SimAB就较高;如果A和B的交集C中包含“limited”而不包含“tektronix”,则计算得到的SimAB就较低。0056 在步骤S207中计算得到数字签名集合与已知的可信文件数字签名集合之间的字符串相似度之后,方法200进入步骤S208,其中根据数字签名集合与已知的可信文件数字签名集合的字符串相似度,确定数字签名是否为可信文件数字签名。如果A和B的字符串相似度SimAB高于设定阈值,那么则可以确定数字签名是可信文件数字签名。0057 本实施例提。
36、供了一种在已知一些数字签名为可信文件数字签名的情况下,即已经构建了可信文件数字签名数据库的情况下,如何确定新收集的某个数字签名是否为可信文件数字签名的方法。具体地,首先对待确认的数字签名进行分词操作处理,得到数字签名集合;根据单词的词频和字符串长度计算数字签名集合和已知的可信文件数字签名集合之间说 明 书CN 102982292 A7/11页10的字符串相似度。其中,两个集合中每个单词对最终计算得到的字符串相似度的权重影响取决于该单词的词频和字符串长度。如果字符串相似度高于设定阈值,那么确定该数字签名为可信文件数字签名。由此可见,本方法在计算两个集合的字符串相似度的时候考虑到单词的词频和字符串。
37、长度的影响,与现有技术中单纯依赖编辑距离算法计算字符串相似度相比,利用本方法计算得到的两个集合的字符串相似度更能反映两个集合的相关程度,由此提高了获取可信文件数字签名的准确率。以同一公司或机构的两个数字签名为例,公司名称对两个集合的字符串相似度的权重影响较大,显然同一公司或机构的两个数字签名集合的交集都会包含公司名称,因此如果已知其中一个数字签名为可信文件数字签名,那么利用本方法可以准确地获知另一个数字签名也是可信文件数字签名。0058 图3示出了根据本发明一个实施例的可信文件数字签名的获取装置的结构示意图。如图3所示,该可信文件数字签名获取装置300包括:收集模块310、分词处理模块320、。
38、词频统计模块330、相似度获取模块340、聚类模块350和可信文件数字签名获取模块360。0059 其中,收集模块310用于收集多个可执行文件样本的数字签名。根据系统处理能力,收集模块210尽可能多的收集可执行文件样本的数字签名,如收集3万多数字签名,其中有一部分数字签名为已知可信文件数字签名。所谓已知可信文件数字签名是指已经获知为可信任的可执行文件的数字签名。0060 分词处理模块320用于将多个数字签名分别进行分词操作处理,得到多个数字签名集合,其中每个数字签名集合包含至少一个单词。可选地,分词处理模块320包括:去除单元321、格式处理单元322和分词处理单元323,其中,去除单元321。
39、用于去除数字签名中的字符和标点符号;格式处理单元322用于将数字签名的格式进行统一处理,例如将全半角的数字签名统一转化为半角,将大小写混合的数字签名统一转化为小写或大写;将多个空格制表符按一个来处理;对于中文,进行繁简体统一转换或编码统一转换等操作;分词处理单元323用于对于英文数字签名,以空格为分隔进行分词处理;对于中文数字签名,以单词为分隔进行分词处理。0061 词频统计模块330用于统计每个数字签名集合中每个单词的词频。所谓词频是指单词在所有数字签名集合中出现的频次。0062 相似度获取模块340用于根据数字签名集合中单词的词频和字符串长度,获取多个数字签名集合两两之间的字符串相似度。多。
40、个数字签名集合中任意两个数字签名集合中每个单词对这两个数字签名集合的字符串相似度的权重影响取决于该单词的词频和字符串长度。可选地,相似度获取模块340包括:第一获取单元341、第二获取单元342和第三获取单元343。0063 其中,第一获取单元341用于对于多个数字签名集合中任意两个数字签名集合A和B,获取A和B的交集C;第二获取单元342,用于根据A中每个单词的词频和字符串长度以及B中每个单词的词频和字符串长度,分别获取A的长度因子和B的长度因子;第三获取单元343,用于根据A的长度因子、B的长度因子以及C中每个单词的词频和字符串长度,获取A和B的字符串相似度。第一获取单元341、第二获取单元342和第三获取单元343的功能可以参见方法100实施例的相应描述,在此不再赘述。0064 聚类模块350用于将字符串相似度高于设定阈值的数字签名集合聚为一类。0065 可信文件数字签名获取模块360用于根据同一类中已知可信文件数字签名的数说 明 书CN 102982292 A10。