掌桥专利:专业的专利平台
掌桥专利
首页

文件签名提取方法和装置

文献发布时间:2023-06-19 11:29:13


文件签名提取方法和装置

技术领域

本申请涉及计算机技术领域,尤其涉及一种文件签名提取方法和装置。

背景技术

随着互联网的快速发展,网络安全问题逐步凸显,其中以木马、病毒、后门程序、广告软件等为代表的恶意软件在数量、更新速度、使用技术等方面较之前都有了突飞猛进的发展,并且给互联网用户造成的影响和损失也在逐年增加。

为了解决上述问题,一般基于签名来标识恶意软件。通常恶意软件分析人员基于对恶意软件的研究,提取恶意软件的字符串、汇编指令等内容作为标识恶意软件的签名。

然而,恶意软件的数量增长十分迅速,当恶意软件分析人员能够分析的恶意软件的数量比需要手动逆向工程、识别签名的恶意软件数量少几个量级时,分析的速度远低于恶意软件增长的速度。导致恶意软件分析人员的工作量过大,提取签名的效率较低,无法满足需要。并且,人工分析提取签名受分析人员个人经验、精力集中度的影响较大,也存在准确性不高的问题。

发明内容

本申请提供一种文件签名提取方法和装置,以解决采用人工分析方法提取恶意软件签名时效率较低的问题。

第一方面,本申请实施例提供一种文件签名提取方法,该方法可以由分析设备执行,该方法包括如下步骤:首先,从第一软件集合和第二软件集合中提取至少两段二进制内容,其中,第一软件集合包含第一数目的非恶意二进制软件,第二软件集合包含第二数目的恶意二进制软件。这里,恶意软件包括木马、病毒、后门程序、广告软件等,非恶意二进制软件也可称为正常二进制软件。上述第一数目和第二数目均可以根据实际情况设置,本申请实施例对此不做特别限制。其次,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,其中,上述第一类统计指标包括出现频率和发生概率中至少一个。再根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,其中,上述第二类统计指标包括软件覆盖比例和集合相似度中至少一个。最后,根据上述目标二进制内容获得相应的恶意二进制软件的签名,该签名用于识别恶意二进制软件。

本申请实施例通过从第一软件集合和第二软件集合中提取至少两段二进制内容,然后根据上述至少两段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,进一步,根据候选二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从候选二进制内容中获得目标二进制内容,进而,根据目标二进制内容获得相应的恶意二进制软件的签名,从而,在无需依赖人工分析的情况下,实现利用自动的技术提取恶意软件的部分二进制内容作为标识恶意软件的签名,解决恶意软件分析人员的工作量过大,提取签名的效率较低的问题,提升了恶意软件的签名的提取效率,满足应用需要。并且由于本申请实施例提供的签名提取方法不受分析人员个人经验、主观因素的影响,也在一定程度上提高了恶意软件的签名的提取准确性。

一种可能设计,上述从第一软件集合和第二软件集合中提取至少两段二进制内容,包括:

采用滑动窗口分别对上述第一软件集合和第二软件集合中的每个二进制软件,提取预设长度的二进制内容,其中,预设长度为上述滑动窗口覆盖的字节量。

示例性的,可以设置一个大小为k个字节的窗口,滑动方向为沿二进制文件从左到右滑动(即在二进制文件所占据的存储空间中从低地址向高地址滑动),每次滑动的位移为一个字节,其中k为大于1的自然数。对于上述第一软件集合和第二软件集合中的每一个二进制文件,从左边开始向右滑动上述窗口,每次滑动一个单位,提取大小为k的二进制内容。

一种可能设计,当第一类统计指标包括上述出现频率时,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,包括:

从上述至少两段二进制内容中,获得在第一软件集合中的上述出现频率低于第一预设频率阈值的二进制内容,作为第一二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第一二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

从上述第一二进制内容中,获得在第二软件集合中的上述出现频率高于第二预设频率阈值的二进制内容,作为上述候选二进制内容,其中,第一预设频率阈值小于第二预设频率阈值。

这里,如果上述第一类统计指标包括上述出现频率,则根据上述至少两段二进制内容在第一软件集合的非恶意二进制软件中出现频率,以及在第二软件集合的恶意二进制软件中出现频率,从上述至少两段二进制内容中选择非恶意软件中出现频率低,恶意软件中出现频率高的二进制内容,作为候选二进制内容。

一种可能设计,当第一类统计指标包括上述发生概率时,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,包括:

从上述至少两段二进制内容中,获得在第一软件集合中的上述发生概率低于第一预设概率阈值的二进制内容,作为第二二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第二二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

从上述第二二进制内容中,获得在第二软件集合中的发生概率高于第二预设概率阈值的二进制内容,作为上述候选二进制内容,其中,所述第一预设概率阈值小于所述第二预设概率阈值。

示例性的,如果上述第一类统计指标包括上述发生概率,则根据上述至少两段二进制内容在第一软件集合的非恶意二进制软件中发生概率,以及在第二软件集合的恶意二进制软件中发生概率,从上述至少两段二进制内容中选择非恶意软件中发生概率低,恶意软件中发生概率高的二进制内容,作为候选二进制内容。

一种可能设计,当第一类统计指标包括上述出现频率和发生概率时,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,包括:

根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第一待处理二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,获得上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,并从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第一待处理二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

根据上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在上述第二软件集合中的发生概率,从上述第一待处理二进制内容中获得候选二进制内容。

这里,当上述第一类统计指标包括上述出现频率和发生概率时,可以先根据上述出现频率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第一待处理二进制内容,进一步,根据上述发生概率,从上述第一待处理二进制内容中获得候选二进制内容。

同样,当上述第一类统计指标包括上述出现频率和发生概率时,可以先根据上述发生概率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第二待处理二进制内容,进一步,根据上述出现频率,从上述第二待处理二进制内容中获得候选二进制内容。

具体的,当第一类统计指标包括上述出现频率和发生概率时,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,包括:

根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第二待处理二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,获得上述第二待处理二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,并从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第二待处理二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

根据上述第二待处理二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述第二待处理二进制内容中获得候选二进制内容。

一种可能设计,当上述第二类统计指标包括上述软件覆盖比例时,根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,包括:

从上述候选二进制内容中,获得在第一软件集合中的上述软件覆盖比例低于第一预设比例阈值的二进制内容,作为第七二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得上述第七二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例;

从上述第七二进制内容中,获得在第二软件集合中的软件覆盖比例高于第二预设比例阈值的二进制内容,作为目标二进制内容,其中,第一预设比例阈值小于第二预设比例阈值。

这里,如果上述第二类统计指标包括上述软件覆盖比例,则根据上述候选二进制内容在第一软件集合的非恶意二进制软件中软件覆盖比例,以及在第二软件集合的恶意二进制软件中软件覆盖比例,从上述候选二进制内容中选择非恶意软件中软件覆盖比例低,恶意软件中软件覆盖比例高的二进制内容,作为目标二进制内容。

一种可能设计,当上述第二类统计指标包括上述集合相似度时,根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,包括:

从上述候选二进制内容中,获得在第一软件集合中的集合相似度低于第一预设相似度阈值的二进制内容,作为第八二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第八二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度;

从上述第八二进制内容中,获得在第二软件集合中的集合相似度高于第二预设相似度阈值的二进制内容,作为目标二进制内容,其中,第一预设相似度阈值小于第二预设相似度阈值。

示例性的,如果上述第二类统计指标包括上述集合相似度,则根据上述候选二进制内容在第一软件集合的非恶意二进制软件中集合相似度,以及在第二软件集合的恶意二进制软件中集合相似度,从上述候选二进制内容中选择非恶意软件中集合相似度低,恶意软件中软件集合相似度高的二进制内容,作为目标二进制内容。

一种可能设计,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,包括:

根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从上述候选二进制内容中获得至少一段二进制内容,作为第一特征二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第一软件集合中的集合相似度,获得上述第一特征二进制内容中的每段二进制内容分别在第一软件集合中的集合相似度,并从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第一特征二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度;

根据上述第一特征二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从上述第一特征二进制内容中获得目标二进制内容。

这里,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,可以先根据上述软件覆盖比例,从上述候选二进制内容中获得至少一段二进制内容,作为第一特征二进制内容,进一步,根据上述集合相似度,从上述第一特征二进制内容中获得目标二进制内容。

同样,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,可以先根据上述集合相似度,从上述候选二进制内容中获得至少一段二进制内容,作为第二特征二进制内容,进一步,根据上述软件覆盖比例,从上述第二特征二进制内容中获得目标二进制内容。

具体的,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,包括:

根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从上述候选二进制内容中获得至少一段二进制内容,作为第二特征二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第一软件集合中的软件覆盖比例,获得上述第二特征二进制内容中的每段二进制内容分别在第一软件集合中的软件覆盖比例,并从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得上述第二特征二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例;

根据上述第二特征二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从上述第二特征二进制内容中获得目标二进制内容。

另外,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容之前,所述方法还包括:

根据上述候选二进制内容中的每段二进制内容分别在第二软件集合的二进制软件中上下文字符的出现频率,确定上述候选二进制内容中的每段二进制内容分别对应的信息熵值;

从上述候选二进制内容中删除上述信息熵值高于预设熵值阈值的二进制内容。

其中,信息熵值越高表示上下文的内容越随机,信息熵值越低表示上下文的内容越一致。如果上述候选二进制内容在第二软件集合的恶意二进制软件中的信息熵值高于预设熵值阈值,说明候选二进制内容与其在第二软件集合的恶意二进制软件中的上下文不同,删除该候选二进制内容(如果候选二进制内容是恶意的,则其与其在第二软件集合的恶意二进制软件中的上下文相同)。这里,上述预设熵值阈值可以根据实际情况设置,本申请对此不做特别限制。

一种可能设计,如果上述候选二进制内容中包含至少两段二进制内容,则从上述二进制内容中获得至少两段二进制内容,作为候选二进制内容之后,所述方法还包括:

根据上述候选二进制内容中每段二进制内容对应的属性信息,确定重要性排序规则,所述属性信息包括以下至少一个:所述候选二进制内容在所述第一软件集合中的数量,所述候选二进制内容在所述第二软件集合中的数量,所述候选二进制内容在所述第一软件集合的发生概率,所述候选二进制内容在所述第二软件集合的发生概率,所述候选二进制内容在所述第一软件集合的各个二进制软件中第一次出现的位置以及位置的均值、方差和熵,所述候选二进制内容在所述第二软件集合的各个二进制软件中第一次出现的位置以及位置的均值、方差和熵,以及所述候选二进制内容的可打印字符;

根据上述重要性排序规则,按照重要度从高到低对上述候选二进制内容中的至少两段二进制内容进行排序;

在从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容之后,还包括:

根据上述候选二进制内容的排序结果,确定上述目标二进制内容的排序结果;

从上述目标二进制内容中删除排序序号在预设序号之后的二进制内容。

这里,根据上述候选二进制内容的属性信息,确定重要性排序规则,然后按照重要性排序规则,从重要度由高到低对上述候选二进制内容进行排序,进而,根据上述候选二进制内容的排序结果,确定上述目标二进制内容的排序结果,从上述目标二进制内容中删除排序序号在预设序号之后的二进制内容,从而,后续可以根据重要度较高的二进制内容生成相应恶意二进制软件的签名,使得生成的签名能够更加准确的标识恶意二进制软件。

第二方面,本申请实施例提供一种文件签名提取装置,该装置包括:

提取模块,用于从第一软件集合和第二软件集合中提取至少两段二进制内容,其中,第一软件集合包含第一数目的非恶意二进制软件,第二软件集合包含第二数目的恶意二进制软件;

第一获得模块,用于根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,其中,第一类统计指标包括出现频率和发生概率中至少一个;

第二获得模块,用于根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,其中,第二类统计指标包括软件覆盖比例和集合相似度中至少一个;

第三获得模块,用于根据上述目标二进制内容获得相应的恶意二进制软件的签名,该签名用于识别恶意二进制软件。

一种可能设计,上述提取模块,具体用于:

采用滑动窗口分别对所述第一软件集合和所述第二软件集合中的每个二进制软件,提取预设长度的二进制内容,其中,所述预设长度为所述滑动窗口覆盖的字节量。

一种可能设计,当上述第一类统计指标包括上述出现频率时,上述第一获得模块,具体用于:

从上述至少两段二进制内容中,获得在第一软件集合中的出现频率低于第一预设频率阈值的二进制内容,作为第一二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第一二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

从上述第一二进制内容中,获得在第二软件集合中的出现频率高于第二预设频率阈值的二进制内容,作为候选二进制内容,其中,第一预设频率阈值小于第二预设频率阈值。

一种可能设计,当上述第一类统计指标包括上述发生概率时,上述第一获得模块,具体用于:

从上述至少两段二进制内容中,获得在第一软件集合中的发生概率低于第一预设概率阈值的二进制内容,作为第二二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第二二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

从上述第二二进制内容中,获得在第二软件集合中的发生概率高于第二预设概率阈值的二进制内容,作为候选二进制内容,其中,第一预设概率阈值小于第二预设概率阈值。

一种可能设计,当上述第一类统计指标包括上述出现频率和发生概率时,上述第一获得模块,具体用于:

根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第一待处理二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,获得上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,并从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第一待处理二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

根据上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述第一待处理二进制内容中获得候选二进制内容。

一种可能设计,当上述第一类统计指标包括上述出现频率和发生概率时,上述第一获得模块,具体用于:

根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第二待处理二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,获得上述第二待处理二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,并从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第二待处理二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

根据上述第二待处理二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述第二待处理二进制内容中获得候选二进制内容。

一种可能设计,当上述第二类统计指标包括上述软件覆盖比例时,上述第二获得模块,具体用于:

从上述候选二进制内容中,获得在第一软件集合中的软件覆盖比例低于第一预设比例阈值的二进制内容,作为第七二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得上述第七二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例;

从上述第七二进制内容中,获得在第二软件集合中的软件覆盖比例高于第二预设比例阈值的二进制内容,作为目标二进制内容,其中,第一预设比例阈值小于第二预设比例阈值。

一种可能设计,当上述第二类统计指标包括上述集合相似度时,上述第二获得模块,具体用于:

从上述候选二进制内容中,获得在第一软件集合中的集合相似度低于第一预设相似度阈值的二进制内容,作为第八二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第八二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度;

从上述第八二进制内容中,获得在第二软件集合中的集合相似度高于第二预设相似度阈值的二进制内容,作为目标二进制内容,其中,第一预设相似度阈值小于第二预设相似度阈值。

一种可能设计,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,第二获得模块,具体用于:

根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从上述候选二进制内容中获得至少一段二进制内容,作为第一特征二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第一软件集合中的集合相似度,获得上述第一特征二进制内容中的每段二进制内容分别在第一软件集合中的集合相似度,并从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第一特征二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度;

根据上述第一特征二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从第一特征二进制内容中获得目标二进制内容。

一种可能设计,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,第二获得模块,具体用于:

根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从上述候选二进制内容中获得至少一段二进制内容,作为第二特征二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第一软件集合中的软件覆盖比例,获得上述第二特征二进制内容中的每段二进制内容分别在第一软件集合中的软件覆盖比例,并从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得第二特征二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例;

根据上述第二特征二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从第二特征二进制内容中获得目标二进制内容。

一种可能设计,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容之前,上述第二获得模块还用于:

根据上述候选二进制内容中的每段二进制内容分别在第二软件集合的二进制软件中上下文字符的出现频率,确定候选二进制内容中的每段二进制内容分别对应的信息熵值;

从上述候选二进制内容中删除上述信息熵值高于预设熵值阈值的二进制内容。

一种可能设计,如果上述候选二进制内容中包含至少两段二进制内容,则从上述二进制内容中获得至少两段二进制内容,作为候选二进制内容之后,上述第一获得模块还用于:

根据上述候选二进制内容中每段二进制内容对应的属性信息,确定重要性排序规则,所述属性信息包括以下至少一个:所述候选二进制内容在所述第一软件集合中的数量,所述候选二进制内容在所述第二软件集合中的数量,所述候选二进制内容在所述第一软件集合的发生概率,所述候选二进制内容在所述第二软件集合的发生概率,所述候选二进制内容在所述第一软件集合的各个二进制软件中第一次出现的位置以及位置的均值、方差和熵,所述候选二进制内容在所述第二软件集合的各个二进制软件中第一次出现的位置以及位置的均值、方差和熵,以及所述候选二进制内容的可打印字符;

根据上述重要性排序规则,按照重要度从高到低对上述候选二进制内容中的至少两段二进制内容进行排序;

在从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容之后,还包括:

根据上述候选二进制内容的排序结果,确定目标二进制内容的排序结果;

从上述目标二进制内容中删除排序序号在预设序号之后的二进制内容。

第三方面,本申请提供一种计算设备,该计算设备包括处理器和存储器。该存储器存储计算机指令;该处理器执行该存储器存储的计算机指令,使得该计算设备执行上述第一方面或者第一方面的各种可能设计提供的方法,使得该计算设备部署上述第二方面或者第二方面的各种可能设计提供该文件签名提取装置。

第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令指示该计算设备执行上述第一方面或者第一方面的各种可能设计提供的方法,或者该计算机指令指示该计算设备部署上述第二方面或者第二方面的各种可能设计提供该文件签名提取装置。

第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令。可选地,该计算机指令存储在计算机可读存储介质中。计算设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述第一方面或者第一方面的各种可能设计提供的方法,使得该计算设备部署上述第二方面或者第二方面的各种可能设计提供该文件签名提取装置。

第六方面,本申请实施例提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面及其第一方面任意可能的实现方式中的方法。

附图说明

图1为本申请实施例提供的一种应用场景的示意图;

图2为本申请实施例提供的另一种应用场景的示意图;

图3为本申请实施例提供的再一种应用场景的示意图;

图4为本申请实施例提供的一种文件签名提取方法的流程示意图;

图5为本申请实施例提供的另一种文件签名提取方法的流程示意图;

图6为本申请实施例提供的再一种文件签名提取方法的流程示意图;

图7为本申请实施例提供的又一种文件签名提取方法的流程示意图;

图8为本申请提供的一种文件签名提取装置的结构示意图;

图9为本申请提供的一种计算设备的基本硬件架构示意图。

具体实施方式

下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。

本申请实施例所涉及的文件签名提取是指利用自动的技术提取恶意软件的部分二进制内容作为标识恶意软件的签名。其中,恶意软件包括木马、病毒、后门程序、广告软件等。本申请通过自动提取签名来标识恶意软件,解决恶意软件分析人员的工作量过大,提取签名的效率较低的问题,满足应用需要。

本申请实施例提供的文件签名提取方法及装置可应用在服务器、防火墙、网关设备、或者以主机为例的终端中。

可选地,本申请实施例提供的文件签名提取方法及装置可以应用于如图1、图2和图3所示的应用场景中。图1、图2和图3只是以示例的方式描述了本申请实施例提供的文件签名提取方法的三种可能的应用场景,本申请实施例提供的文件签名提取方法的应用场景不限于图1、图2和图3所示的应用场景。

图1为企业网网络架构示意图。在图1中,企业网网络架构包括分析设备101、以防火墙或安全网关为例的网络接入设备102、与网络接入设备102连接的交换机103以及与交换机连接的多个主机104。其中,分析设备101与网络接入设备102连接。分析设备101可以例如是入侵防御系统(intrusion prevention system,IPS)设备或统一威胁管理(unifiedthreat management,UTM)设备等。分析设备101用于提取恶意二进制软件的签名,该签名用于识别恶意二进制软件,以及接收设备102中防火墙或安全网关发送的恶意二进制软件,或接收安装在内网主机104上的客户端软件发送的恶意二进制软件,并输出恶意二进制软件的签名。

图2为云端网络架构示意图。在图2中,云端网络架构包括位于核心网侧的分析设备201,以及接入网中的多个防火墙设备202。其中,分析设备201中可以用于提取恶意二进制软件的签名,该签名用于识别恶意二进制软件,以及接收来自于防火墙的设备202的恶意二进制软件,并输出恶意二进制软件的签名。

图3为终端架构示意图。在图3中,以终端为手机为例,手机实际上承载了分析设备301的功能,分析设备301可以接收用户的操作指令进行相应处理。示例性的,用户可以输入提取指令至手机,分析设备301根据该提取指令提取恶意二进制软件的签名。用户也可以输入输出指令至手机,分析设备301根据该输出指令输出恶意二进制软件的签名。这样,通过自动提取签名来标识恶意软件,工作量低,提取签名效率高,满足应用需要。

应理解,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

下面结合附图详细介绍本申请实施例提供的文件签名提取方法。该方法的执行主体可以为图1中的分析设备101、图2中的分析设备201或图3中的分析设备301。分析设备101、分析设备201和分析设备301的工作流程主要包括提取阶段和选择阶段。在提取阶段,分析设备101、分析设备201和分析设备301从第一软件集合和第二软件集合中提取至少两段二进制内容,其中,第一软件集合包含第一数目的非恶意二进制软件,第二软件集合包含第二数目的恶意二进制软件。在选择阶段,分析设备101、分析设备201和分析设备301根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,其中,第一类统计指标包括出现频率和发生概率中至少一个;再根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,其中,第二类统计指标包括软件覆盖比例和集合相似度中至少一个,进而,根据上述目标二进制内容获得相应的恶意二进制软件的签名,该签名用于识别恶意二进制软件。

下面以几个实施例为例对本申请的技术方案进行描述,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图4为本申请实施例提供了一种文件签名提取方法的流程示意图,本实施例的执行主体可以为图1中的分析设备101、图2中的分析设备201或图3中的分析设备301,具体执行主体可以根据实际应用场景确定。如图4所示,该方法可以包括如下步骤。

S401:从第一软件集合和第二软件集合中提取至少两段二进制内容,其中,第一软件集合包含第一数目的非恶意二进制软件,第二软件集合包含第二数目的恶意二进制软件。

这里,第一软件集合可以包含多个非恶意二进制软件,上述第一数目可以根据实际情况设置,本申请实施例对此不做特别限制。同理,第二软件集合可以包含多个恶意二进制软件,上述第二数目可以根据实际情况设置,本申请实施例对此不做特别限制。

在本申请实施例中,分析设备可以接收外部设备(例如上述部署了防火墙的设备)输入的多个非恶意二进制软件,也可以从存储器中存储的非恶意软件中获取多个非恶意软件,具体如何获取非恶意二进制软件可以根据实际情况确定,本申请实施例对此不做特别限制。

上述恶意二进制软件可以为需要进行签名提取的恶意二进制软件。分析设备可以接收外部设备输入的多个恶意二进制软件,也可以从存储器中存储的需要进行签名提取的恶意软件中获取多个恶意软件,具体如何获取恶意二进制软件可以根据实际情况确定,本申请实施例对此不做特别限制。

在一些可行的实施方式中,上述从第一软件集合和第二软件集合中提取至少两段二进制内容,包括:

采用滑动窗口分别对上述第一软件集合和第二软件集合中的每个二进制软件,提取预设长度的二进制内容提取,其中,预设长度为上述滑动窗口覆盖的字节量。

其中,上述预设长度可以根据实际需要设置,可以为固定长度,也可以为非固定长度,本申请实施例对此不做特别限制。

示例性的,对第一软件集合和所述第二软件集合中的每一个二进制文件,采用滑动窗口的方式,提取固定长度(例如4个字节)的二进制内容。

具体的,可以设置一个大小为k个字节的窗口,滑动方向为沿二进制文件从左到右滑动(即在二进制文件所占据的存储空间中从低地址向高地址滑动),每次滑动的位移为一个字节,其中k为大于1的自然数。对于上述第一软件集合和第二软件集合中的每一个二进制文件,从左边开始向右滑动上述窗口,每次滑动一个单位,提取大小为k个字节的二进制内容。

这里,通过滑动窗口实现对第一软件集合和第二软件集合中每一个二进制文件的二进制内容的快速提取,简单、方便,满足应用需要。

另外,在提取上述二进制内容之后,还可以记录每一个提取的二进制内容在二进制文件中第一次出现的位置和出现的次数,以便在后续处理中根据上述位置和次数,从上述提取的二进制内容中获取符合要求的二进制内容。

S402:根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,其中,第一类统计指标包括出现频率和发生概率中至少一个。

这里,上述出现频率可以是二进制内容出现的次数。

上述发生概率可以是条件概率。其中,条件概率是指事件A在事件B发生的条件下发生的概率。条件概率表示为:P(A|B),表示A在B发生的条件下发生的概率。若只有两个事件A,B,那么,

以二进制内容abcd为例,其在某一恶意软件种的发生概率表示为:P(abcd)

P(abcd)=p(a)*p(b|a)*p(c|b)*p(d|c),其中abcd这段二进制出现的概率是四个概率的乘积,p(a)表示字符a在上述恶意软件中出现的次数占所有字符出现次数的比例。

在一些可行的实施方式中,当上述第一类统计指标包括上述出现频率时,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,包括:

从上述至少两段二进制内容中,获得在第一软件集合中的出现频率低于第一预设频率阈值的二进制内容,作为第一二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第一二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

从上述第一二进制内容中,获得在第二软件集合中的出现频率高于第二预设频率阈值的二进制内容,作为候选二进制内容,其中,第一预设频率阈值小于第二预设频率阈值。

这里,如果上述第一类统计指标包括上述出现频率,则根据上述至少两段二进制内容在第一软件集合的非恶意二进制软件中出现频率,以及上述至少两段二进制内容在第二软件集合的恶意二进制软件中出现频率,从上述至少两段二进制内容中选择非恶意软件中出现频率低,恶意软件中出现频率高的二进制内容,作为候选二进制内容。

在一些可行的实施方式中,当第一类统计指标包括上述发生概率时,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,包括:

从上述至少两段二进制内容中,获得在第一软件集合中的上述发生概率低于第一预设概率阈值的二进制内容,作为第二二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第二二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

从上述第二二进制内容中,获得在第二软件集合中的发生概率高于第二预设概率阈值的二进制内容,作为上述候选二进制内容,其中,所述第一预设概率阈值小于所述第二预设概率阈值。

示例性的,如果上述第一类统计指标包括上述发生概率,则根据上述至少两段二进制内容在第一软件集合的非恶意二进制软件中发生概率,以及在第二软件集合的恶意二进制软件中发生概率,从上述至少两段二进制内容中选择非恶意软件中发生概率低,恶意软件中发生概率高的二进制内容,作为候选二进制内容。

在一些可行的实施方式中,当第一类统计指标包括上述出现频率和发生概率时,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,包括:

根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第一待处理二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,获得上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,并从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第一待处理二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

根据上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在上述第二软件集合中的发生概率,从上述第一待处理二进制内容中获得候选二进制内容。

这里,当上述第一类统计指标包括上述出现频率和发生概率时,可以先根据上述出现频率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第一待处理二进制内容,进一步,根据上述发生概率,从上述第一待处理二进制内容中获得候选二进制内容。

同样,当上述第一类统计指标包括上述出现频率和发生概率时,可以先根据上述发生概率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第二待处理二进制内容,进一步,根据上述出现频率,从上述第二待处理二进制内容中获得候选二进制内容。

具体的,当第一类统计指标包括上述出现频率和发生概率时,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,包括:

根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第二待处理二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,获得上述第二待处理二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,并从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第二待处理二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

根据上述第二待处理二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述第二待处理二进制内容中获得候选二进制内容。

这里,针对上述第一类统计指标中包括的具体参数,对从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容的具体技术手段进行细化,可以满足不同应用场景中的不同应用需求,适合应用。

S403:根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,其中,上述第二类统计指标包括软件覆盖比例和集合相似度中至少一个。

这里,上述候选二进制内容在第一软件集合中的软件覆盖比例,可以理解为上述候选二进制内容在第一软件集合中的覆盖率,例如上述第一软件集合中有10个二进制软件,第一软件集合中有5个二进制软件为上述候选二进制内容,则上述候选二进制内容在第一软件集合中的软件覆盖比例为50%。

同理,上述候选二进制内容在第二软件集合中的软件覆盖比例,可以理解为上述候选二进制内容在第二软件集合中的覆盖率。

上述集合相似度可以通过Jaccard系数确定,其中,Jaccard系数又称为Jaccard相似系数(Jaccard similarity coefficient)用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大,样本相似度越高。给定两个集合A和B,Jaccard系数定义为A与B交集的大小与A与B并集的大小的比值,定义如下:

这里,上述候选二进制内容在第一软件集合中的集合相似度,可以理解为上述候选二进制内容在第一软件集合中出现的各个集合的相似度,例如上述第一软件集合中有100个二进制软件,上述候选二进制内容包括第一二进制内容和第二二进制内容,第一二进制内容在上述第一软件集合中的20个二进制软件中出现,将该20个二进制软件作为第一集合,第二二进制内容在上述第一软件集合中的10个二进制软件中出现,将该10个二进制软件作为第二集合,根据上述Jaccard系数确定上述第一集合与第二集合的相似度,作为上述候选二进制内容在第一软件集合中的集合相似度。

同理,上述候选二进制内容在第二软件集合中的的集合相似度,可以理解为上述候选二进制内容在第二软件集合中出现的各个集合的相似度。

在一些可行的实施方式中,当上述第二类统计指标包括上述软件覆盖比例时,根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,包括:

从上述候选二进制内容中,获得在第一软件集合中的上述软件覆盖比例低于第一预设比例阈值的二进制内容,作为第七二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得上述第七二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例;

从上述第七二进制内容中,获得在第二软件集合中的软件覆盖比例高于第二预设比例阈值的二进制内容,作为目标二进制内容,其中,第一预设比例阈值小于第二预设比例阈值。

这里,如果上述第二类统计指标包括上述软件覆盖比例,则根据上述候选二进制内容在第一软件集合的非恶意二进制软件中软件覆盖比例,以及在第二软件集合的恶意二进制软件中软件覆盖比例,从上述候选二进制内容中选择非恶意软件中软件覆盖比例低,恶意软件中软件覆盖比例高的二进制内容,作为目标二进制内容。

在另一些可行的实施方式中,当上述第二类统计指标包括上述集合相似度时,根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,包括:

从上述候选二进制内容中,获得在第一软件集合中的集合相似度低于第一预设相似度阈值的二进制内容,作为第八二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第八二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度;

从上述第八二进制内容中,获得在第二软件集合中的集合相似度高于第二预设相似度阈值的二进制内容,作为目标二进制内容,其中,第一预设相似度阈值小于第二预设相似度阈值。

示例性的,如果上述第二类统计指标包括上述集合相似度,则根据上述候选二进制内容在第一软件集合的非恶意二进制软件中集合相似度,以及在第二软件集合的恶意二进制软件中集合相似度,从上述候选二进制内容中选择非恶意软件中集合相似度低,恶意软件中软件集合相似度高的二进制内容,作为目标二进制内容。

在其他一些可行的实施方式中,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,包括:

根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从上述候选二进制内容中获得至少一段二进制内容,作为第一特征二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第一软件集合中的集合相似度,获得上述第一特征二进制内容中的每段二进制内容分别在第一软件集合中的集合相似度,并从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第一特征二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度;

根据上述第一特征二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从上述第一特征二进制内容中获得目标二进制内容。

这里,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,可以先根据上述软件覆盖比例,从上述候选二进制内容中获得至少一段二进制内容,作为第一特征二进制内容,进一步,根据上述集合相似度,从上述第一特征二进制内容中获得目标二进制内容。

同样,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,可以先根据上述集合相似度,从上述候选二进制内容中获得至少一段二进制内容,作为第二特征二进制内容,进一步,根据上述软件覆盖比例,从上述第二特征二进制内容中获得目标二进制内容。

具体的,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,包括:

根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从上述候选二进制内容中获得至少一段二进制内容,作为第二特征二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第一软件集合中的软件覆盖比例,获得上述第二特征二进制内容中的每段二进制内容分别在第一软件集合中的软件覆盖比例,并从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得上述第二特征二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例;

根据上述第二特征二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从上述第二特征二进制内容中获得目标二进制内容。

这里,针对上述第二类统计指标中包括的具体参数,对从上述候选二进制内容中获得目标二进制内容的具体技术手段进行细化,可以满足不同应用场景中的不同应用需求,适合应用。

另外,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容之前,所述方法还包括:

根据上述候选二进制内容中的每段二进制内容分别在第二软件集合的二进制软件中上下文字符的出现频率,确定上述候选二进制内容中的每段二进制内容分别对应的信息熵值;

从上述候选二进制内容中删除上述信息熵值高于预设熵值阈值的二进制内容。

其中,信息熵值越高表示上下文的内容越随机,信息熵值越低表示上下文的内容越一致。如果上述候选二进制内容在第二软件集合的恶意二进制软件中的信息熵值高于预设熵值阈值,说明候选二进制内容与其在第二软件集合的恶意二进制软件中的上下文不同,删除该候选二进制内容(如果候选二进制内容是恶意的,则其与其在第二软件集合的恶意二进制软件中的上下文相同)。这里,上述预设熵值阈值可以根据实际情况设置,本申请对此不做特别限制。

信息熵的计算方式如下:

其中,p

这里,在确定上述候选二进制内容在第二软件集合的恶意二进制软件中的信息熵值后,通过该信息熵值对上述候选二进制内容进行筛选,从上述候选二进制内容删除信息熵值高于预设熵值阈值的二进制内容,使得后续处理结果更准确,后续处理更简单,满足应用需要。

S404:根据上述目标二进制内容获得相应的恶意二进制软件的签名,该签名用于识别恶意二进制软件。

可选地,首先根据目标二进制内容与第二软件集合中恶意二进制软件的对应关系,确定每一个恶意二进制软件对应的目标二进制内容,然后对每一个恶意二进制软件对应的目标二进制内容进行组合,将组合结果作为相应的恶意二进制软件的签名,用于识别恶意二进制软件。

可选地,根据预设组合要求对每一个恶意二进制软件对应的目标二进制内容进行组合,其中,预设组合要求可以根据实际情况设置,本申请实施例对比不做特别限制。

在一些可行的实施方式中,如果上述候选二进制内容中包含至少两段二进制内容,则从上述二进制内容中获得至少两段二进制内容,作为候选二进制内容之后,所述方法还包括:

根据上述候选二进制内容中每段二进制内容对应的属性信息,确定重要性排序规则,所述属性信息包括以下至少一个:所述候选二进制内容在所述第一软件集合中的数量,所述候选二进制内容在所述第二软件集合中的数量,所述候选二进制内容在所述第一软件集合的发生概率,所述候选二进制内容在所述第二软件集合的发生概率,所述候选二进制内容在所述第一软件集合的各个二进制软件中第一次出现的位置以及位置的均值、方差和熵,所述候选二进制内容在所述第二软件集合的各个二进制软件中第一次出现的位置以及位置的均值、方差和熵,以及所述候选二进制内容的可打印字符;

根据上述重要性排序规则,按照重要度从高到低对上述候选二进制内容中的至少两段二进制内容进行排序;

在从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容之后,还包括:

根据上述候选二进制内容的排序结果,确定上述目标二进制内容的排序结果;

从上述目标二进制内容中删除排序序号在预设序号之后的二进制内容。

这里,根据上述候选二进制内容的属性信息,确定重要性排序规则,然后按照重要性排序规则,从重要度由高到低对上述候选二进制内容进行排序,进而,根据上述候选二进制内容的排序结果,确定上述目标二进制内容的排序结果,从上述目标二进制内容中删除排序序号在预设序号之后的二进制内容,从而,后续可以根据重要度较高的二进制内容生成相应恶意二进制软件的签名,使得生成的签名能够更加准确的标识恶意二进制软件。

本申请实施例,通过从第一软件集合和第二软件集合中提取至少两段二进制内容,然后根据上述至少两段二进制内容在第一软件集合中的第一类统计指标,以及上述至少两段二进制内容在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,进一步,根据候选二进制内容在第一软件集合中的第二类统计指标,以及候选二进制内容在第二软件集合中的第二类统计指标,从候选二进制内容中获得目标二进制内容,进而,根据目标二进制内容获得相应的恶意二进制软件的签名,从而,在无需依赖人工分析的情况下,实现利用自动的技术提取恶意软件的部分二进制内容作为标识恶意软件的签名,解决恶意软件分析人员的工作量过大,提取签名的效率较低的问题,提升了恶意软件的签名的提取效率,满足应用需要。并且由于本申请实施例提供的签名提取方法不受分析人员个人经验、主观因素的影响,也在一定程度上提高了恶意软件的签名的提取准确性。

图5为本申请实施例提出的另一种文件签名提取方法的流程示意图,本实施例的执行主体可以为图1中的分析设备101、图2中的分析设备201或图3中的分析设备301,具体执行主体可以根据实际应用场景确定。如图5所示,该方法可以包括:

S501:从第一软件集合和第二软件集合中提取至少两段二进制内容,其中,第一软件集合包含第一数目的非恶意二进制软件,第二软件集合包含第二数目的恶意二进制软件。

其中,步骤S501与上述步骤S401的实现方式相同,此处不再赘述。

可选地,分析设备择一执行一个或多个子流程:步骤S502~S504组成的子流程、或者步骤S505~S507组成的子流程、或者步骤S508~S510组成的子流程。

S502:当第一类统计指标包括出现频率时,从上述至少两段二进制内容中,获得在第一软件集合中的出现频率低于第一预设频率阈值的二进制内容,作为第一二进制内容。

S503:从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第一二进制内容中的每段二进制内容分别在第二软件集合中的出现频率。

S504:从上述第一二进制内容中,获得在第二软件集合中的出现频率高于第二预设频率阈值的二进制内容,作为候选二进制内容,其中,第一预设频率阈值小于第二预设频率阈值。

这里,如果上述第一类统计指标包括上述出现频率,则根据上述至少两段二进制内容在第一软件集合的非恶意二进制软件中出现频率,以及在第二软件集合的恶意二进制软件中出现频率,从上述至少两段二进制内容中选择非恶意软件中出现频率低,恶意软件中出现频率高的二进制内容,作为候选二进制内容。

S505:当上述第一类统计指标包括发生概率时,从上述至少两段二进制内容中,获得在第一软件集合中的发生概率低于第一预设概率阈值的二进制内容,作为第二二进制内容。

S506:从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第二二进制内容中的每段二进制内容分别在第二软件集合中的发生概率。

S507:从上述第二二进制内容中,获得在第二软件集合中的发生概率高于第二预设概率阈值的二进制内容,作为候选二进制内容,其中,第一预设概率阈值小于第二预设概率阈值。

示例性的,如果上述第一类统计指标包括上述发生概率,则根据上述至少两段二进制内容在第一软件集合的非恶意二进制软件中发生概率,以及在第二软件集合的恶意二进制软件中发生概率,从上述至少两段二进制内容中选择非恶意软件中发生概率低,恶意软件中发生概率高的二进制内容,作为候选二进制内容。

S508:当上述第一类统计指标包括上述出现频率和上述发生概率时,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第一待处理二进制内容。

在一些可行的实施方式中,上述根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第一待处理二进制内容,包括:

从上述至少两段二进制内容中,获得在上述第一软件集合中的出现频率低于第三预设频率阈值的二进制内容,作为第三二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第三二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

从上述第三二进制内容中,获得在第二软件集合中的出现频率高于第四预设频率阈值的二进制内容,作为上述第一待处理二进制内容,其中,第三预设频率阈值小于第四预设频率阈值。

这里,根据上述至少两段二进制内容在第一软件集合的非恶意二进制软件中出现频率,以及在第二软件集合的恶意二进制软件中出现频率,从上述至少两段二进制内容中选择非恶意软件中出现频率低,恶意软件中出现频率高的二进制内容,作为第一待处理二进制内容。

S509:从上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,获得上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,并从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第一待处理二进制内容中的每段二进制内容分别在第二软件集合中的发生概率。

S510:根据上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述第一待处理二进制内容中获得候选二进制内容。

在一些可行的实施方式中,上述根据上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述第一待处理二进制内容中获得候选二进制内容,包括:

从上述第一待处理二进制内容中,获得在第一软件集合中的发生概率低于第三预设概率阈值的二进制内容,作为第四二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第四二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

从上述第四二进制内容中,获得在第二软件集合中的发生概率高于第四预设概率阈值的二进制内容,作为候选二进制内容,其中,第三预设概率阈值小于第四预设概率阈值。

这里,根据上述第一待处理二进制内容在第一软件集合的非恶意二进制软件中发生概率,以及在第二软件集合的恶意二进制软件中发生概率,从上述第一待处理二进制内容中选择非恶意软件中发生概率低,恶意软件中发生概率高的二进制内容,作为候选二进制内容。

另外,当上述第一类统计指标包括上述出现频率和发生概率时,上述先根据上述出现频率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第一待处理二进制内容,进一步,根据上述发生概率,从上述第一待处理二进制内容中获得候选二进制内容。

同样,当上述第一类统计指标包括上述出现频率和发生概率时,可以先根据上述发生概率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第二待处理二进制内容,进一步,根据上述出现频率,从上述第二待处理二进制内容中获得候选二进制内容。

示例性的,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第二待处理二进制内容,包括:

从上述至少两段二进制内容中,获得在第一软件集合中的发生概率低于第五预设概率阈值的二进制内容,作为第五二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第五二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

从上述第五二进制内容中,获得在第二软件集合中的发生概率高于第六预设概率阈值的二进制内容,作为上述第二待处理二进制内容,其中,第五预设概率阈值小于第六预设概率阈值。

其中,上述根据上述至少两段二进制内容在第一软件集合的非恶意二进制软件中发生概率,以及在第二软件集合的恶意二进制软件中发生概率,从上述至少两段二进制内容中选择非恶意软件中发生概率低,恶意软件中发生概率高的二进制内容,作为第二待处理二进制内容。

在一些可行的实施方式中,根据上述第二待处理二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述第二待处理二进制内容中获得候选二进制内容,包括:

从上述第二待处理二进制内容中,获得在第一软件集合中的出现频率低于第五预设频率阈值的二进制内容,作为第六二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第六二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

从上述第六二进制内容中,获得在第二软件集合中的出现频率高于第六预设频率阈值的二进制内容,作为候选二进制内容,其中,第五预设频率阈值小于第六预设频率阈值。

这里,根据上述第二待处理二进制内容在第一软件集合的非恶意二进制软件中出现频率,以及在第二软件集合的恶意二进制软件中出现频率,从上述第二待处理二进制内容中选择非恶意软件中出现频率低,恶意软件中出现频率高的二进制内容,作为候选二进制内容。

S511:根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,其中,第二类统计指标包括软件覆盖比例和集合相似度中至少一个。

S512:根据上述目标二进制内容获得相应的恶意二进制软件的签名,该签名用于识别恶意二进制软件。

其中,步骤S511-S512与上述步骤S403-S404的实现方式相同,此处不再赘述。

本申请实施例,在从第一软件集合和第二软件集合中提取至少两段二进制内容后,从上述至少两段二进制内容中选择非恶意软件中出现频率和/或发生概率低,恶意软件中出现频率和/或发生概率高的二进制内容,作为候选二进制内容,从而,使得后续提取的签名足够通用以覆盖绝大多数恶意软件,同时又足以避免与非恶意软件内容重叠,以减少误报,进一步地,从候选二进制内容中获得目标二进制内容,根据目标二进制内容获得相应的恶意二进制软件的签名,从而,在无需依赖人工分析的情况下,实现利用自动的技术提取恶意软件的部分二进制内容作为标识恶意软件的签名,解决恶意软件分析人员的工作量过大,提取签名的效率较低的问题,提升了恶意软件的签名的提取效率,满足应用需要。并且由于本申请实施例提供的签名提取方法不受分析人员个人经验、主观因素的影响,也在一定程度上提高了恶意软件的签名的提取准确性。

图6为本申请实施例提出的再一种文件签名提取方法的流程示意图,本实施例的执行主体可以为图1中的分析设备101、图2中的分析设备201或图3中的分析设备301,具体执行主体可以根据实际应用场景确定。如图6所示,该方法可以包括:

S601:从第一软件集合和第二软件集合中提取至少两段二进制内容,其中,第一软件集合包含第一数目的非恶意二进制软件,第二软件集合包含第二数目的恶意二进制软件。

S602:根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,其中,第一类统计指标包括出现频率和发生概率中至少一个。

其中,步骤S601-S602与上述步骤S401-S402的实现方式相同,此处不再赘述。

可选地,分析设备择一执行一个或多个子流程:步骤S603~S605组成的子流程、或者步骤S606~S608组成的子流程、或者步骤S609~S611组成的子流程。

S603:当第二类统计指标包括软件覆盖比例时,从上述候选二进制内容中,获得在第一软件集合中的上述软件覆盖比例低于第一预设比例阈值的二进制内容,作为第七二进制内容。

S604:从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得上述第七二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例。

S605:从上述第七二进制内容中,获得在第二软件集合中的软件覆盖比例高于第二预设比例阈值的二进制内容,作为目标二进制内容,其中,第一预设比例阈值小于第二预设比例阈值。

这里,如果上述第二类统计指标包括上述软件覆盖比例,则根据上述候选二进制内容在第一软件集合的非恶意二进制软件中软件覆盖比例,以及在第二软件集合的恶意二进制软件中软件覆盖比例,从上述候选二进制内容中选择非恶意软件中软件覆盖比例低,恶意软件中软件覆盖比例高的二进制内容,作为目标二进制内容。

S606:当第二类统计指标包括集合相似度时,从上述候选二进制内容中,获得在第一软件集合中的集合相似度低于第一预设相似度阈值的二进制内容,作为第八二进制内容。

S607:从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第八二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度。

S608:从上述第八二进制内容中,获得在第二软件集合中的集合相似度高于第二预设相似度阈值的二进制内容,作为目标二进制内容,其中,第一预设相似度阈值小于第二预设相似度阈值。

示例性的,如果上述第二类统计指标包括上述集合相似度,则根据上述候选二进制内容在第一软件集合的非恶意二进制软件中集合相似度,以及在第二软件集合的恶意二进制软件中集合相似度,从上述候选二进制内容中选择非恶意软件中集合相似度低,恶意软件中软件集合相似度高的二进制内容,作为目标二进制内容。

S609:当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从上述候选二进制内容中获得至少一段二进制内容,作为第一特征二进制内容。

在一些可行的实施方式中,上述根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从上述候选二进制内容中获得至少一段二进制内容,作为第一特征二进制内容,包括:

从上述候选二进制内容中,获得在第一软件集合中的软件覆盖比例低于第三预设比例阈值的二进制内容,作为第九二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得所述上述第九二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例;

从上述第九二进制内容中,获得在第二软件集合中的软件覆盖比例高于第四预设比例阈值的二进制内容,作为第一特征二进制内容,其中,第三预设比例阈值小于第四预设比例阈值。

这里,根据上述候选二进制内容在第一软件集合的非恶意二进制软件中软件覆盖比例,以及在第二软件集合的恶意二进制软件中软件覆盖比例,从上述候选二进制内容中选择非恶意软件中软件覆盖比例低,恶意软件中软件覆盖比例高的二进制内容,作为第一特征二进制内容。

S610:从上述候选二进制内容中的每段二进制内容分别在第一软件集合中的集合相似度,获得上述第一特征二进制内容中的每段二进制内容分别在第一软件集合中的集合相似度,并从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第一特征二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度。

S611:根据上述第一特征二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从上述第一特征二进制内容中获得目标二进制内容。

在一些可行的实施方式中,上述根据上述第一特征二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从上述第一特征二进制内容中获得目标二进制内容,包括:

从上述第一特征二进制内容中,获得在第一软件集合中的集合相似度低于第三预设相似度阈值的二进制内容,作为第十二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第十二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度;

从上述第十二进制内容中,获得在第二软件集合中的集合相似度高于第四预设相似度阈值的二进制内容,作为目标二进制内容,其中,第三预设相似度阈值小于第四预设相似度阈值。

其中,上述根据上述第一特征二进制内容在第一软件集合的非恶意二进制软件中集合相似度,以及在第二软件集合的恶意二进制软件中集合相似度,从上述第一特征二进制内容中选择非恶意软件中集合相似度低,恶意软件中软件集合相似度高的二进制内容,作为目标二进制内容。

这里,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,上述先根据上述软件覆盖比例,从上述候选二进制内容中获得至少一段二进制内容,作为第一特征二进制内容,进一步,根据上述集合相似度,从上述第一特征二进制内容中获得目标二进制内容。

同样,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,可以先根据上述集合相似度,从上述候选二进制内容中获得至少一段二进制内容,作为第二特征二进制内容,进一步,根据上述软件覆盖比例,从上述第二特征二进制内容中获得目标二进制内容。

示例性的,根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从上述候选二进制内容中获得至少一段二进制内容,作为第二特征二进制内容,包括:

从上述候选二进制内容中,获得在第一软件集合中的集合相似度低于第五预设相似度阈值的二进制内容,作为第十一二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第十一二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度;

从上述第十一二进制内容中,获得在第二软件集合中的集合相似度高于第六预设相似度阈值的二进制内容,作为第二特征二进制内容,其中,第五预设相似度阈值小于第六预设相似度阈值。

其中,上述根据上述候选二进制内容在第一软件集合的非恶意二进制软件中集合相似度,以及在第二软件集合的恶意二进制软件中集合相似度,从上述候选二进制内容中选择非恶意软件中集合相似度低,恶意软件中集合相似度高的二进制内容,作为第二特征二进制内容。

在一些可行的实施方式中,根据上述第二特征二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从上述第二特征二进制内容中获得目标二进制内容,包括:

从上述第二特征二进制内容中,获得在第一软件集合中的软件覆盖比例低于第五预设比例阈值的二进制内容,作为第十二二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得上述第十二二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例;

从上述第十二二进制内容中,获得在第二软件集合中的软件覆盖比例高于第六预设比例阈值的二进制内容,作为目标二进制内容,其中,第五预设比例阈值小于第六预设比例阈值。

这里,根据上述第二特征二进制内容在第一软件集合的非恶意二进制软件中软件覆盖比例,以及在第二软件集合的恶意二进制软件中软件覆盖比例,从上述第二特征二进制内容中选择非恶意软件中软件覆盖比例低,恶意软件中软件覆盖比例高的二进制内容,作为候选二进制内容。

S612:根据上述目标二进制内容获得相应的恶意二进制软件的签名,该签名用于识别恶意二进制软件。

其中,步骤S612与上述步骤S404的实现方式相同,此处不再赘述。

本申请实施例,在从第一软件集合和第二软件集合中提取至少两段二进制内容后,根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,其中,第一类统计指标包括出现频率和发生概率中至少一个,然后,从上述候选二进制内容中选择非恶意软件中软件覆盖比例和/或集合相似度低,恶意软件中软件覆盖比例和/或集合相似度高的二进制内容,作为目标二进制内容,根据目标二进制内容获得相应的恶意二进制软件的签名,从而,使得提取的签名足够通用以覆盖绝大多数恶意软件,同时又足以避免与非恶意软件内容重叠,以减少误报,同时在无需依赖人工分析的情况下,利用自动的技术提取恶意软件的部分二进制内容作为标识恶意软件的签名,解决恶意软件分析人员的工作量过大,提取签名的效率较低的问题,满足应用需要。并且由于本申请实施例提供的签名提取方法不受分析人员个人经验、主观因素的影响,也在一定程度上提高了恶意软件的签名的提取准确性。

图7为本申请实施例提出的又一种文件签名提取方法的流程示意图,本实施例的执行主体可以为图1中的分析设备101、图2中的分析设备201或图3中的分析设备301,具体执行主体可以根据实际应用场景确定。如图7所示,该方法可以包括:

S701:从第一软件集合和第二软件集合中提取至少两段二进制内容,其中,第一软件集合包含第一数目的非恶意二进制软件,第二软件集合包含第二数目的恶意二进制软件。

S702:根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,其中,上述第一类统计指标包括出现频率和发生概率中至少一个。

其中,步骤S701-S702与上述步骤S401-S402的实现方式相同,此处不再赘述。

S703:根据上述候选二进制内容中的每段二进制内容分别在第二软件集合的二进制软件中上下文字符的出现频率,确定上述候选二进制内容中的每段二进制内容分别对应的信息熵值。

这里,上述上下文字符包括上文字符和下文字符,上述信息熵值包括上文熵值和下文熵值。其中,上文字符为上述候选二进制内容中的每段二进制内容分别在第二软件集合的二进制软件中对应内容的前预设数目的字符,下文字符为上述候选二进制内容中的每段二进制内容分别在第二软件集合的二进制软件中对应内容的后预设数目的字符。这里,上述前预设数目和后预设数目可以根据实际情况确定,本申请实施例对此不做特别限制。

上述根据候选二进制内容中的每段二进制内容分别在第二软件集合的二进制软件中上下文字符的出现频率,确定候选二进制内容中的每段二进制内容分别对应的信息熵值,包括:

根据上述候选二进制内容中的每段二进制内容分别在第二软件集合的二进制软件中每个上文字符出现的次数,占相应上文字符中所有字符出现的次数的比例,确定上述候选二进制内容中的每段二进制内容分别对应的上文熵值;

根据上述候选二进制内容中的每段二进制内容分别在第二软件集合的二进制软件中每个下文字符出现的次数,占相应下文字符中所有字符出现的次数的比例,确定上述候选二进制内容中的每段二进制内容分别对应的下文熵值。

S704:从上述候选二进制内容中删除上述信息熵值高于预设熵值阈值的二进制内容。

其中,信息熵值越高表示上下文的内容越随机,信息熵值越低表示上下文的内容越一致。如果上述候选二进制内容在第二软件集合的恶意二进制软件中的信息熵值高于预设熵值阈值,说明候选二进制内容与其在第二软件集合的恶意二进制软件中的上下文不同,删除该候选二进制内容(如果候选二进制内容是恶意的,则其与其在第二软件集合的恶意二进制软件中的上下文相同)。

S705:根据上述候选二进制内容中每段二进制内容对应的属性信息,确定重要性排序规则。

其中,上述属性信息包括上述候选二进制内容在第一软件集合中的数量,候选二进制内容在第二软件集合中的数量,候选二进制内容在第一软件集合的发生概率,候选二进制内容在第二软件集合的发生概率,候选二进制内容在第一软件集合的各个二进制软件中第一次出现的位置以及位置的均值、方差和熵,候选二进制内容在第二软件集合的各个二进制软件中第一次出现的位置以及位置的均值、方差和熵,以及候选二进制内容的可打印字符中至少一个。

这里,上述属性信息可以根据实际情况调整,本申请实施例对此不做限制。

S706:根据上述重要性排序规则,按照重要度从高到低对上述候选二进制内容中的至少两段二进制内容进行排序。

示例性的,上述重要性排序规则按照重要度从高到低依次包括:

二进制内容在第二软件集合的同样位置的数量高于第一预设数量阈值;

二进制内容在第一软件集合的各个二进制软件中出现的位置的方差小于第一预设方差阈值,相应二进制内容在第二软件集合的各个二进制软件中出现的位置的方差小于第二预设方差阈值,相应二进制内容在第一软件集合的各个二进制软件中出现的位置的熵小于第一预设熵阈值,相应二进制内容在第二软件集合的各个二进制软件中出现的位置的熵小于第二预设熵阈值,且相应二进制内容在第一软件集合的发生概率,与在第二软件集合的发生概率的比值大于预设比值阈值;

二进制内容在第一软件集合的各个二进制软件中第一次出现的位置与文件头的距离低于第一距离阈值,且相应二进制内容在第二软件集合的各个二进制软件中第一次出现的位置与文件头的距离低于第二距离阈值;

二进制内容在第二软件集合中的数量高于第二预设数量阈值,相应二进制内容在第二软件集合的各个二进制软件中位置的方差低于第三预设方差阈值,相应二进制内容在所述第二软件集合的各个二进制软件中出现的位置的方差小于第四预设方差阈值,且相应二进制内容在第二软件集合的各个二进制软件中出现的位置的熵小于第三预设熵阈值;

二进制内容在第一软件集合中的数量低于第三预设数量阈值,相应二进制内容在第一软件集合的各个二进制软件中出现的位置的方差大于第五预设方差阈值,且相应二进制内容在第一软件集合的各个二进制软件中出现的位置的熵大于第四预设熵阈值;

二进制内容的可打印字符的数量大于第四预设数量阈值。

这里,上述重要性排序规则(包含内容、排序等)可以根据实际情况调整,本申请实施例对此不做限制。

S707:根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,其中,第二类统计指标包括软件覆盖比例和集合相似度中至少一个。

S708:根据上述候选二进制内容的排序结果,确定上述目标二进制内容的排序结果。

S709:从上述目标二进制内容中删除排序序号在预设序号之后的二进制内容。

S710:根据上述目标二进制内容获得相应的恶意二进制软件的签名,该签名用于识别恶意二进制软件。

本申请实施例,通过从第一软件集合和第二软件集合中提取至少两段二进制内容,然后根据从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,进一步,从候选二进制内容中删除信息熵值高于预设熵值阈值的二进制内容,删除错误的候选二进制内容,提高后续处理结果的准确度,然后根据候选二进制内容中每段二进制内容对应的属性信息,确定重要性排序规则,进而,根据该重要性排序规则,按照重要度从高到低对候选二进制内容进行排序,从候选二进制内容中获得目标二进制内容,根据上述候选二进制内容的排序结果,确定目标二进制内容的排序结果,从上述目标二进制内容中删除排序序号在预设序号之后的二进制内容,进而,后续可以根据重要度较高的二进制内容生成相应恶意二进制软件的签名,使得生成的签名能够更加准确的标识恶意二进制软件,同时利用自动的技术提取恶意软件的部分二进制内容作为标识恶意软件的签名,解决恶意软件分析人员的工作量过大,提取签名的效率较低的问题,满足应用需要。并且由于本申请实施例提供的签名提取方法不受分析人员个人经验、主观因素的影响,也在一定程度上提高了恶意软件的签名的提取准确性。

图8为本申请提供的一种文件签名提取装置的结构示意图,该装置包括:提取模块801、第一获得模块802、第二获得模块803和第三获得模块804。

其中,提取模块801,用于从第一软件集合和第二软件集合中提取至少两段二进制内容,其中,第一软件集合包含第一数目的非恶意二进制软件,第二软件集合包含第二数目的恶意二进制软件。

第一获得模块802,用于根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的第一类统计指标,以及在第二软件集合中的第一类统计指标,从上述至少两段二进制内容中获得至少一段二进制内容,作为候选二进制内容,其中,第一类统计指标包括出现频率和发生概率中至少一个。

第二获得模块803,用于根据上述候选二进制内容中的每段二进制内容分别在第一软件集合中的第二类统计指标,以及在第二软件集合中的第二类统计指标,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容,其中,第二类统计指标包括软件覆盖比例和集合相似度中至少一个。

第三获得模块804,用于根据上述目标二进制内容获得相应的恶意二进制软件的签名,该签名用于识别恶意二进制软件。

一种可能设计,上述提取模块801,具体用于:

采用滑动窗口分别对所述第一软件集合和所述第二软件集合中的每个二进制软件,提取预设长度的二进制内容,其中,所述预设长度为所述滑动窗口覆盖的字节量。

一种可能设计,当上述第一类统计指标包括上述出现频率时,上述第一获得模块802,具体用于:

从上述至少两段二进制内容中,获得在第一软件集合中的出现频率低于第一预设频率阈值的二进制内容,作为第一二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第一二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

从上述第一二进制内容中,获得在第二软件集合中的出现频率高于第二预设频率阈值的二进制内容,作为候选二进制内容,其中,第一预设频率阈值小于第二预设频率阈值。

一种可能设计,当上述第一类统计指标包括上述发生概率时,上述第一获得模块802,具体用于:

从上述至少两段二进制内容中,获得在第一软件集合中的发生概率低于第一预设概率阈值的二进制内容,作为第二二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第二二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

从上述第二二进制内容中,获得在第二软件集合中的发生概率高于第二预设概率阈值的二进制内容,作为候选二进制内容,其中,第一预设概率阈值小于第二预设概率阈值。

一种可能设计,当上述第一类统计指标包括上述出现频率和发生概率时,上述第一获得模块802,具体用于:

根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第一待处理二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,获得上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,并从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第一待处理二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

根据上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述第一待处理二进制内容中获得候选二进制内容。

一种可能设计,第一获得模块802根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第一待处理二进制内容,包括:

从上述至少两段二进制内容中,获得在第一软件集合中的出现频率低于第三预设频率阈值的二进制内容,作为第三二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第三二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

从上述第三二进制内容中,获得在第二软件集合中的出现频率高于第四预设频率阈值的二进制内容,作为第一待处理二进制内容,其中,第三预设频率阈值小于第四预设频率阈值。

一种可能设计,第一获得模块802根据上述第一待处理二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述第一待处理二进制内容中获得候选二进制内容,包括:

从第一待处理二进制内容中,获得在第一软件集合中的所述发生概率低于第三预设概率阈值的二进制内容,作为第四二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第四二进制内容中的每段二进制内容分别在第二软件集合中的发生概率;

从上述第四二进制内容中,获得在第二软件集合中的发生概率高于第四预设概率阈值的二进制内容,作为候选二进制内容,其中,第三预设概率阈值小于第四预设概率阈值。

一种可能设计,当上述第一类统计指标包括上述出现频率和发生概率时,上述第一获得模块802,具体用于:

根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第二待处理二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,获得上述第二待处理二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,并从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第二待处理二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

根据上述第二待处理二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述第二待处理二进制内容中获得候选二进制内容。

一种可能设计,第一获得模块802根据上述至少两段二进制内容中的每段二进制内容分别在第一软件集合中的发生概率,以及在第二软件集合中的发生概率,从上述至少两段二进制内容中获得至少一段二进制内容,作为第二待处理二进制内容,包括:

从上述至少两段二进制内容中,获得在第一软件集合中的发生概率低于第五预设概率阈值的二进制内容,作为第五二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的发生概率,获得上述第五二进制内容中的每段二进制内容分别在第二软件集合中的所述发生概率;

从上述第五二进制内容中,获得在第二软件集合中的发生概率高于第六预设概率阈值的二进制内容,作为第二待处理二进制内容,其中,第五预设概率阈值小于第六预设概率阈值。

一种可能设计,第一获得模块802根据上述第二待处理二进制内容中的每段二进制内容分别在第一软件集合中的出现频率,以及在第二软件集合中的出现频率,从上述第二待处理二进制内容中获得候选二进制内容,包括:

从上述第二待处理二进制内容中,获得在第一软件集合中的出现频率低于第五预设频率阈值的二进制内容,作为第六二进制内容;

从上述至少两段二进制内容中的每段二进制内容分别在第二软件集合中的出现频率,获得上述第六二进制内容中的每段二进制内容分别在第二软件集合中的出现频率;

从上述第六二进制内容中,获得在第二软件集合中的出现频率高于第六预设频率阈值的二进制内容,作为候选二进制内容,其中,第五预设频率阈值小于第六预设频率阈值。

一种可能设计,当上述第二类统计指标包括上述软件覆盖比例时,上述第二获得模块803,具体用于:

从上述候选二进制内容中,获得在第一软件集合中的软件覆盖比例低于第一预设比例阈值的二进制内容,作为第七二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得上述第七二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例;

从上述第七二进制内容中,获得在第二软件集合中的软件覆盖比例高于第二预设比例阈值的二进制内容,作为目标二进制内容,其中,第一预设比例阈值小于第二预设比例阈值。

一种可能设计,当上述第二类统计指标包括上述集合相似度时,上述第二获得模块803,具体用于:

从上述候选二进制内容中,获得在第一软件集合中的集合相似度低于第一预设相似度阈值的二进制内容,作为第八二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第八二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度;

从上述第八二进制内容中,获得在第二软件集合中的集合相似度高于第二预设相似度阈值的二进制内容,作为目标二进制内容,其中,第一预设相似度阈值小于第二预设相似度阈值。

一种可能设计,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,第二获得模块803,具体用于:

根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从上述候选二进制内容中获得至少一段二进制内容,作为第一特征二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第一软件集合中的集合相似度,获得上述第一特征二进制内容中的每段二进制内容分别在第一软件集合中的集合相似度,并从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度,获得上述第一特征二进制内容中的每段二进制内容分别在第二软件集合中的集合相似度;

根据上述第一特征二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从第一特征二进制内容中获得目标二进制内容。

一种可能设计,第二获得模块803根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从上述候选二进制内容中获得至少一段二进制内容,作为第一特征二进制内容,包括:

从所述候选二进制内容中,获得在所述第一软件集合中的所述软件覆盖比例低于第三预设比例阈值的二进制内容,作为第九二进制内容;

从所述候选二进制内容中的每段二进制内容分别在所述第二软件集合中的所述软件覆盖比例,获得所述第九二进制内容中的每段二进制内容分别在所述第二软件集合中的所述软件覆盖比例;

从所述第九二进制内容中,获得在所述第二软件集合中的所述软件覆盖比例高于第四预设比例阈值的二进制内容,作为所述第一特征二进制内容,其中,所述第三预设比例阈值小于所述第四预设比例阈值。

一种可能设计,第二获得模块803根据上述第一特征二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从第一特征二进制内容中获得目标二进制内容,包括:

从所述第一特征二进制内容中,获得在所述第一软件集合中的所述集合相似度低于第三预设相似度阈值的二进制内容,作为第十二进制内容;

从所述候选二进制内容中的每段二进制内容分别在所述第二软件集合中的所述集合相似度,获得所述第十二进制内容中的每段二进制内容分别在所述第二软件集合中的所述集合相似度;

从所述第十二进制内容中,获得在所述第二软件集合中的所述集合相似度高于第四预设相似度阈值的二进制内容,作为所述目标二进制内容,其中,所述第三预设相似度阈值小于所述第四预设相似度阈值。

一种可能设计,当上述第二类统计指标包括上述软件覆盖比例和集合相似度时,第二获得模块803,具体用于:

根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从上述候选二进制内容中获得至少一段二进制内容,作为第二特征二进制内容;

从上述候选二进制内容中的每段二进制内容分别在第一软件集合中的软件覆盖比例,获得上述第二特征二进制内容中的每段二进制内容分别在第一软件集合中的软件覆盖比例,并从上述候选二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例,获得第二特征二进制内容中的每段二进制内容分别在第二软件集合中的软件覆盖比例;

根据上述第二特征二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从第二特征二进制内容中获得目标二进制内容。

一种可能设计,第二获得模块803根据上述候选二进制内容中的每段二进制内容分别在第一软件集合的集合相似度,以及在第二软件集合的集合相似度,从上述候选二进制内容中获得至少一段二进制内容,作为第二特征二进制内容,包括:

从所述候选二进制内容中,获得在所述第一软件集合中的所述集合相似度低于第五预设相似度阈值的二进制内容,作为第十一二进制内容;

从所述候选二进制内容中的每段二进制内容分别在所述第二软件集合中的所述集合相似度,获得所述第十一二进制内容中的每段二进制内容分别在所述第二软件集合中的所述集合相似度;

从所述第十一二进制内容中,获得在所述第二软件集合中的所述集合相似度高于第六预设相似度阈值的二进制内容,作为所述第二特征二进制内容,其中,所述第五预设相似度阈值小于所述第六预设相似度阈值。

一种可能设计,第二获得模块803根据上述第二特征二进制内容中的每段二进制内容分别在第一软件集合的软件覆盖比例,以及在第二软件集合的软件覆盖比例,从第二特征二进制内容中获得目标二进制内容,包括:

从所述第二特征二进制内容中,获得在所述第一软件集合中的所述软件覆盖比例低于第五预设比例阈值的二进制内容,作为第十二二进制内容;

从所述候选二进制内容中的每段二进制内容分别在所述第二软件集合中的所述软件覆盖比例,获得所述第十二二进制内容中的每段二进制内容分别在所述第二软件集合中的所述软件覆盖比例;

从所述第十二二进制内容中,获得在所述第二软件集合中的所述软件覆盖比例高于第六预设比例阈值的二进制内容,作为所述目标二进制内容,其中,所述第五预设比例阈值小于所述第六预设比例阈值。

一种可能设计,从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容之前,上述第二获得模块803还用于:

根据上述候选二进制内容中的每段二进制内容分别在第二软件集合的二进制软件中上下文字符的出现频率,确定候选二进制内容中的每段二进制内容分别对应的信息熵值;

从上述候选二进制内容中删除上述信息熵值高于预设熵值阈值的二进制内容。

一种可能设计,如果上述候选二进制内容中包含至少两段二进制内容,则从上述二进制内容中获得至少两段二进制内容,作为候选二进制内容之后,上述第一获得模块802还用于:

根据上述候选二进制内容中每段二进制内容对应的属性信息,确定重要性排序规则;

根据上述重要性排序规则,按照重要度从高到低对上述候选二进制内容中的至少两段二进制内容进行排序;

在从上述候选二进制内容中获得至少一段二进制内容,作为目标二进制内容之后,还包括:

根据上述候选二进制内容的排序结果,确定目标二进制内容的排序结果;

从上述目标二进制内容中删除排序序号在预设序号之后的二进制内容。

一种可能设计,所述属性信息包括所述候选二进制内容在所述第一软件集合中的数量,所述候选二进制内容在所述第二软件集合中的数量,所述候选二进制内容在所述第一软件集合的发生概率,所述候选二进制内容在所述第二软件集合的发生概率,所述候选二进制内容在所述第一软件集合的各个二进制软件中第一次出现的位置以及位置的均值、方差和熵,所述候选二进制内容在所述第二软件集合的各个二进制软件中第一次出现的位置以及位置的均值、方差和熵,以及所述候选二进制内容的可打印字符中至少一个。

一种可能设计,所述重要性排序规则按照重要度从高到低依次包括:

二进制内容在所述第二软件集合的同样位置的数量高于第一预设数量阈值;

二进制内容在所述第一软件集合的各个二进制软件中出现的位置的方差小于第一预设方差阈值,相应二进制内容在所述第二软件集合的各个二进制软件中出现的位置的方差小于第二预设方差阈值,相应二进制内容在所述第一软件集合的各个二进制软件中出现的位置的熵小于第一预设熵阈值,相应二进制内容在所述第二软件集合的各个二进制软件中出现的位置的熵小于第二预设熵阈值,且相应二进制内容在所述第一软件集合的发生概率,与在所述第二软件集合的发生概率的比值大于预设比值阈值;

二进制内容在所述第一软件集合的各个二进制软件中第一次出现的位置与文件头的距离低于第一距离阈值,且相应二进制内容在所述第二软件集合的各个二进制软件中第一次出现的位置与文件头的距离低于第二距离阈值;

二进制内容在所述第二软件集合中的数量高于第二预设数量阈值,相应二进制内容在所述第二软件集合的各个二进制软件中位置的方差低于第三预设方差阈值,相应二进制内容在所述第二软件集合的各个二进制软件中出现的位置的方差小于第四预设方差阈值,且相应二进制内容在所述第二软件集合的各个二进制软件中出现的位置的熵小于第三预设熵阈值;

二进制内容在所述第一软件集合中的数量低于第三预设数量阈值,相应二进制内容在所述第一软件集合的各个二进制软件中出现的位置的方差大于第五预设方差阈值,且相应二进制内容在所述第一软件集合的各个二进制软件中出现的位置的熵大于第四预设熵阈值;

二进制内容的可打印字符的数量大于第四预设数量阈值。

一种可能设计,所述上下文字符包括上文字符和下文字符,所述信息熵值包括上文熵值和下文熵值;

第二获得模块803根据所述候选二进制内容中的每段二进制内容分别在所述第二软件集合的二进制软件中上下文字符的出现频率,确定所述候选二进制内容中的每段二进制内容分别对应的信息熵值,包括:

根据所述候选二进制内容中的每段二进制内容分别在所述第二软件集合的二进制软件中每个上文字符出现的次数,占相应上文字符中所有字符出现的次数的比例,确定所述候选二进制内容中的每段二进制内容分别对应的上文熵值;

根据所述候选二进制内容中的每段二进制内容分别在所述第二软件集合的二进制软件中每个下文字符出现的次数,占相应下文字符中所有字符出现的次数的比例,确定所述候选二进制内容中的每段二进制内容分别对应的下文熵值。

本实施例的装置,对应地可用于执行上述方法所示实施例中的技术方案,其实现原理、实现细节和技术效果类似,此处不再赘述。

可选地,图9示意性地提供本申请所述计算设备的一种可能的基本硬件架构。

参见图9,计算设备900包括处理器901、存储器902、通信接口903和总线904。

其中,计算设备900可以是计算机或服务器,本申请对此不作特别限制。计算设备900中,处理器901的数量可以是一个或多个,图9仅示意了其中一个处理器901。可选地,处理器901,可以是中央处理器(central processing unit,CPU)。如果计算设备900具有多个处理器901,多个处理器901的类型可以不同,或者可以相同。可选地,计算设备900的多个处理器901还可以集成为多核处理器。

存储器902存储计算机指令和数据;存储器902可以存储实现本申请提供的上述文件签名提取方法所需的计算机指令和数据,例如,存储器902存储用于实现上述文件签名提取方法的步骤的指令。存储器902可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(ROM)、固态硬盘(SSD)、硬盘(HDD)、光盘),易失性存储器。

通信接口903可以是以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。

通信接口903用于计算设备900与其它计算设备或者终端进行数据通信。

图9用一条粗线表示总线904。总线904可以将处理器901与存储器902和通信接口903连接。这样,通过总线904,处理器901可以访问存储器902,还可以利用通信接口903与其它计算设备或者终端进行数据交互。

在本申请中,计算设备900执行存储器902中的计算机指令,使得计算设备900实现本申请提供的上述文件签名提取方法,或者使得计算设备900部署上述的文件签名提取装置。

另外,上述的文件签名提取装置除了可以像上述图9通过软件实现外,也可以作为硬件模块,或者作为电路单元,通过硬件实现。

本申请提供一种计算机可读存储介质,所述计算机程序产品包括计算机指令,所述计算机指令指示计算设备执行本申请提供的上述文件签名提取方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

相关技术
  • 文件签名提取方法和装置
  • 一种文件签名方法、装置和文件签名验证方法、装置
技术分类

06120112941117