恶意代码家族属性的识别方法、装置及电子设备与流程

文档序号:17490643发布日期:2019-04-23 20:27阅读:161来源:国知局
恶意代码家族属性的识别方法、装置及电子设备与流程

本发明涉及计算机网络安全技术领域,尤其涉及一种恶意代码家族属性的识别方法、装置及电子设备。



背景技术:

在网络安全领域,每天都能检测到成千上万条的恶意代码数据。这些恶意代码数据一部分是已知恶意代码的变种,另一部分则来自未知恶意代码家族。如何快速检测出这些恶意代码数据的家族属性对于保障网络安全来说是十分重要的。

为了提高网络安全,反病毒、反调试的技术也日新月异,但是恶意代码编写者通常采用加壳、混淆、免杀等对抗处理手段对恶意代码进行变种,以摆脱对恶意代码数据的检测。

如何快速识别恶意代码的共性及差异,进而分析形成检测规则来对抗恶意代码,以保障网络安全是一个持久化的研究课题。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种恶意代码家族属性的识别方法,通过恶意代码与家族之间的相似度和汉明距离即可准确识别出恶意代码的家族属性,提高了恶意代码家族属性识别的通用性、鲁棒性和准确性。

本发明的第二个目的在于提出一种恶意代码家族属性的识别装置。

本发明的第三个目的在于提出一种电子设备。

本发明的第四个目的在于提出一种计算机程序产品。

本发明的第五个目的在于提出一种非临时性计算机可读存储介质。

为达上述目的,本发明第一方面实施例提出了一种恶意代码家族属性的识别方法,包括:获取待识别的对象的内存镜像文件,从所述内存镜像文件中提取有效的字符串,其中,所述对象为待识别的恶意代码;根据所述字符串,获取所述对象与每个家族之间的相似度;根据所述内存镜像文件,获取所述对象的第一图像指纹;根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹;将所述第一图像指纹与每个家族的每个第二图像指纹进行比较,获取所述对象与每个家族之间的汉明距离;根据每个家族对应的所述相似度和所述汉明距离,确定所述对象的家族属性。

本发明实施例的恶意代码家族属性的识别方法,获取待识别的恶意代码的内存镜像文件中的有效的字符串,然后,根据字符串,获取对象与每个家族之间的相似度,之后,根据内存镜像文件,获取对象的第一图像指纹,然后,根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹,以及将第一图像指纹与每个家族的每个第二图像指纹进行比较,获取对象与每个家族之间的汉明距离,并根据每个家族对应的相似度和汉明距离,确定对象的家族属性。由此,通过恶意代码与家族之间的相似度和汉明距离即可准确识别出恶意代码的家族属性,提高了恶意代码家族属性识别的通用性、鲁棒性和准确性。

为达上述目的,本发明第二方面实施例提出了一种恶意代码家族属性的识别装置,包括:提取模块,用于获取待识别的对象的内存镜像文件,从所述内存镜像文件中提取有效的字符串,其中,所述对象为待识别的恶意代码;第一获取模块,用于根据所述字符串,获取所述对象与每个家族之间的相似度;第二获取模块,用于根据所述内存镜像文件,获取所述对象的第一图像指纹;第三获取模块,用于根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹;第四获取模块,用于将所述第一图像指纹与每个家族的每个第二图像指纹进行比较,获取所述对象与每个家族之间的汉明距离;确定模块,用于根据每个家族对应的所述相似度和所述汉明距离,确定所述对象的家族属性。

本发明实施例的恶意代码家族属性的识别装置,获取待识别的恶意代码的内存镜像文件中的有效的字符串,然后,根据字符串,获取对象与每个家族之间的相似度,之后,根据内存镜像文件,获取对象的第一图像指纹,然后,根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹,以及将第一图像指纹与每个家族的每个第二图像指纹进行比较,获取对象与每个家族之间的汉明距离,并根据每个家族对应的相似度和汉明距离,确定对象的家族属性。由此,通过恶意代码与家族之间的相似度和汉明距离即可准确识别出恶意代码的家族属性,提高了恶意代码家族属性识别的通用性、鲁棒性和准确性。

为达上述目的,本发明第三方面实施例提出了一种电子设备,包括:包括壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明第一方面实施例的恶意代码家族属性的识别方法。

本发明实施例的电子设备,获取待识别的恶意代码的内存镜像文件中的有效的字符串,然后,根据字符串,获取对象与每个家族之间的相似度,之后,根据内存镜像文件,获取对象的第一图像指纹,然后,根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹,以及将第一图像指纹与每个家族的每个第二图像指纹进行比较,获取对象与每个家族之间的汉明距离,并根据每个家族对应的相似度和汉明距离,确定对象的家族属性。由此,通过恶意代码与家族之间的相似度和汉明距离即可准确识别出恶意代码的家族属性,提高了恶意代码家族属性识别的通用性、鲁棒性和准确性。

为达上述目的,本发明第四方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如第一方面实施例所述的恶意代码家族属性的识别方法。

为达上述目的,本发明第五方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,当计算机程序被处理器执行时实现如第一方面实施例所述的恶意代码家族属性的识别方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例提供的一种恶意代码家族属性的识别方法的流程示意图;

图2为根据内存镜像文件,获取对象的第一图像指纹的细化流程示意图;

图3为根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹细化流程示意图;

图4为根据每个家族对应的相似度和汉明距离,确定对象的家族属性的细化流程示意图;

图5为本发明实施例提供的另一种恶意代码家族属性的识别方法的流程示意图;

图6为根据每个家族中每个病毒样本的字符串的tf-idf,获取每个家族的关键字符串集合的细化流程示意图;

图7为构建idf库的细化流程示意图;

图8为本发明实施例提供的一种恶意代码家族属性的识别装置的结构意图;

图9为本发明实施例提供的另一种恶意代码家族属性的识别装置的结构意图;

图10为本发明实施例提供的另一种恶意代码家族属性的识别装置的结构意图;

图11为本发明实施例提供的另一种恶意代码家族属性的识别装置的结构意图;

图12为本发明实施例提供的另一种恶意代码家族属性的识别装置的结构意图;

图13为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的恶意代码家族属性的识别方法、装置及电子设备。

图1为本发明实施例提供的一种恶意代码家族属性的识别方法的流程示意图。

如图1所示,该恶意代码家族属性的识别方法包括以下步骤:

s11,获取待识别的对象的内存镜像文件,从内存镜像文件中提取有效的字符串。

其中,该实施例中的对象为待识别的恶意代码。

通常,待识别的恶意代码进行加密保护(例如加壳),因此,为了获取准确的恶意代码信息,作为一种示例性的实施方式,可通过沙箱技术运行待识别的恶意代码,并根据运行结果获取待识别的恶意代码的内存镜像文件。

其中,需要说明的是,内存镜像文件是待识别的恶意代码运行时的内存信息文件。

通常,内存镜像文件中会存在一些与确定恶意代码家族属性无关的字符串,例如,注释字符串、if、for、to等无效的字符串,为了提高识别的效率以及准确度,作为一种示例性性的实施方式,在获取待识别的恶意代码的内存镜像文件(例如dump文件)后,可根据预先设置的字符串提取规则从内存镜像文件提取出有效的字符串。

s12,根据字符串,获取对象与每个家族之间的相似度。

作为一种示例性的实施方式,在从内存镜像文件中提取有效的字符串后,,针对每个家族,可将对象的字符串与家族的向量空间进行比对,得到对象与家族中每个病毒样本之间的第一相似度,然后,根据所有的第一相似度,得到对象与家族之间的相似度。

具体而言,在从内存镜像文件中提取有效的字符串后,可先获取每个家族的向量空间,然后,针对每个家族,可将对象的字符串与家族的向量空间进行比对,得到对象与家族中每个病毒样本之间的第一相似度,然后,根据所有的第一相似度,得到对象与家族之间的相似度。

其中,向量空间中包括每个关键字符串以及每个关键字符串在每个病毒样本中的权重。

其中,需要说明的是,每个关键字符串在每个病毒样本中的权重与每个关键字符串在每个病毒样本中的频率有关。

其中,作为一种示例性的实施方式,可从预先保存的家族的向量空间库中获取每个家族的向量空间。

作为一种示例性的实施方式,为了提高得到对象与每个家族之间的相似度的效率,可预先构建一个潜在语义索引(lsi,latentsemanticindexing)模型,然后,针对每个家族,可将对象的字符串与家族的向量空间输入至该lsi模型中,以通过该lsi模型计算出对象与每个样本之间的第一相似度,然后,根据所有的第一相似度,得到对象与家族之间的相似度。

其中,需要说明的是,针对每个家族,在获取对象与家族中每个病毒样本之间的第一相似度后,可通过多种方式确定出对象与家族之间的相似度,例如,可采用加权或者平均家族中的第一相似度的方式,得到对象与家族之间的相似度。

s13,根据内存镜像文件,获取对象的第一图像指纹。

在本发明的一个实施例中,根据内存镜像文件,获取对象的第一图像指纹的具体过程,如图2所示,可以包括:

s131,将对象的内存镜像文件分成多个分段文件。

s132,获取对象的每个分段文件的哈希值。

作为一种示例性的实施方式,在获取对象的每个分段文件后,可通过多种方式获取对象的每个分段文件的哈希值,例如,可通过计算分段文件的哈希函数,计算出分段文件的哈希值,或者,针对每个分段文件,将分段文件的特征信息输入至预设模型,以通过该预设模型确定出分段文件的哈希值。

其中,需要说明的是,不同分段文件,由于其所对应的内容信息不同,不同分段文件所对应的哈希值是不同的。

s133,利用对象的每个分段文件的哈希值,形成对象的灰阶度图像。

s134,根据对象的灰阶度图像,获取对象的第一图像指纹。

其中,需要说明的是,在获取对象的灰阶度图像后,可通过多种方式获取对象的第一图像指纹。举例说明如下:

作为一种示例,在获取对象的灰阶度图像后,可计算灰阶度图像中每个像素的灰度值以及计算像素的灰度平均值,然后,将每个像素的灰度值与灰度平均值进行比较,并根据比较结果生成该对象的第一图像指纹。

作为另一种示例,可根据灰阶段图像和预先设置的转换模型,获取对象的第一图像指纹。

具体而言,在获取对象的灰阶度图像后,可提取灰阶度图像中每个像素的灰度值,并将所提取到的灰度值输入至转换模型,以通过该转换模型获取对象的第一图像指纹。

s14,根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹。

在本发明的一个实施例中,根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹的具体过程,如图3所示,可以包括:

s141,针对每个病毒样本,对病毒样本的内存镜像文件分成多个分段文件。

s142,获取病毒样本的每个分段文件的哈希值。

s143,利用病毒样本的所有分段文件的哈希值,形成病毒样本的灰阶度图像。

s144,根据病毒样本的灰阶度图像,获取病毒样本的第二图像指纹。

s15,将第一图像指纹与每个家族的每个第二图像指纹进行比较,获取对象与每个家族之间的汉明距离。

作为一种示例性的实施方式,在获取第一图像指纹和每个家族的每个第二图像指纹后,针对每个家族,将第一图像指纹与每个病毒样本的第二图像指纹进行比对,统计第一图像指纹与第二图像指纹在同一位置上数值不同的位置数,将位置数作为对象与病毒样本之间的汉明距离,以及将与所有病毒样本之间的汉明距离进行平均,得到对象与家族之间的汉明距离。

s16,根据每个家族对应的相似度和汉明距离,确定对象的家族属性。

作为一种示例性的实施方式,根据每个家族对应的相似度和汉明距离,确定对象的家族属性的具体过程,如图4所示,可以包括:

s161,针对每个家族的相似度与预设的第一范围比较,并且将每个家族汉明距离与预设的第二范围比较。

其中,第一范围包括第一上限阈值和第一下限阈值,第二范围包括第二上限阈值和第二下限阈值。

s162,如果存在其中一个家族的相似度超出第一上限阈值且汉明距离低于第二下限阈值,则将其中一个家族作为对象的家族属性。

s163,如果每个家族的相似度处于第一范围内且汉明距离处于第二范围内,则将对象的家族属性确定为变异属性。

s164,如果每个家族的相似度均低于第一下限阈值且汉明距离超出第二上限阈值,则将对象的家族属性确定为新家族。

也就是说,在获取对象与每个家族对应的相似度和汉明距离后,通过比较所计算的相似度与预设的第一范围,以及所计算的汉明距离与预设的第二范围之间的关系,根据比较结果即可确定出该对象对应的家族属性。

本发明实施例的恶意代码家族属性的识别方法,获取待识别的恶意代码的内存镜像文件中的有效的字符串,然后,根据字符串,获取对象与每个家族之间的相似度,之后,根据内存镜像文件,获取对象的第一图像指纹,然后,根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹,以及将第一图像指纹与每个家族的每个第二图像指纹进行比较,获取对象与每个家族之间的汉明距离,并根据每个家族对应的相似度和汉明距离,确定对象的家族属性。由此,通过恶意代码与家族之间的相似度和汉明距离即可准确识别出恶意代码的家族属性,提高了恶意代码家族属性识别的通用性、鲁棒性和准确性。

基于上述实施例的基础上,为了可根据家族的向量空间计算对象与家族之间的相似度,在获取待识别的对象的内存镜像文件,从内存镜像文件中提取有效的字符串之前,作为一种示例的实施方式,如图5所示,该恶意代码家族属性的识别方法还可以包括:

s51,根据每个家族中每个病毒样本的字符串的tf-idf,获取每个家族的关键字符串集合。

其中,tf-idf(termfrequency–inversedocumentfrequency,词频-逆文档频率)表示字符串的重要性。

s52,针对每个家族,利用家族的关键字符串集合,获取家族的向量空间。

其中,向量空间中包括每个关键字符串以及每个关键字符串在每个病毒样本中的权重。

其中,需要说明的是,在该实施例中每个关键字符串在每个病毒样本中的权重与每个关键字符串在每个病毒样本出现的频率的有关。

作为一种示例性的实施方式,针对每个家族,在获取家族的关键字符串集合后,可通过预先构建的词袋模型(bag-of-wordsmode)确定出家族的向量空间。

具体而言,在获取家族的关键字符串集合后,可将家族的关键字符串集合输入至预先构建的词袋模型,以通过词袋模型确定出家族的向量空间。

在本发明的一个实施例中,根据每个家族中每个病毒样本的字符串的tf-idf,获取每个家族的关键字符串集合的过程,如图6所示,可以包括:

s511,针对每个家族,提取家族的每个病毒样本中有效的第一字符串。

s512,统计第一字符串在家族中出现的词频tf(termfrequency)。

作为一种示例性的实施方式,针对每个家族,在提取家族的每个病毒样本中有效的第一字符串后,每当第一字符串在其中一个病毒样本出现至少一次时,对第一字符串在家族中出现的次数加1,以及在对第一字符串出现次数的统计完成时,根据统计出的次数计算tf。

也就是说,不管第一字符串在其中一个病毒样本中出现一次或者多次,该第一字符串在该家族中出现的次数仅加1,以及在对第一字符串出现次数的统计完成时,根据统计出的次数计算出第一字符串在家族中出现的tf。

s513,查询预先构建的idf库,获取第一字符串的idf。

在本发明的一个实施例中,针对每个家族,在提取家族的每个病毒样本中有效的第一字符串后,可在idf库中,查询与第一字符串一致的目标第二字符串,并将目标第二字符串的idf作为第一字符串的idf。

具体而言,在提取家族的每个病毒样本中有效的第一字符串后,可查询idf库中是否包含第一字符串,若在idf库查询到第一字符串,可将查询到的字符串所对应的idf作为第一字符串的idf。

s514,根据第一字符串的tf和idf,获取第一字符串的tf-idf。

s514,判断tf-idf是否超出预设的阈值。

s515,如果超出预设的阈值,则将第一字符串识别为家族的关键字符串。

其中,预设的阈值是预先设置的tf-idf的阈值。

s516,利用识别出的所有的关键字符串构建家族的关键字符串集合。

在本发明的一个实施例中,在查询预先构建的idf库,获取第一字符串的idf之前,可预先构建idf库,其中,构建idf库的过程,如图7所示,可以包括:

s71,采集训练病毒样本,形成训练病毒样本集。

s72,针对每个训练病毒样本,获取训练病毒样本的内存镜像文件,并从训练病毒样本的内存镜像文件中提取有效的第二字符串。

s73,每当第二字符串在其中一个训练病毒样本出现至少一次时,对第二字符串在训练病毒样本集中出现的次数加1。

s74,在对第二字符串出现次数的统计完成时,根据统计出的次数计算第二字符串的idf。

s75,利用每个第二字符串和每个第二字符串的idf,构建idf库。

也就是说,该实施例通过对训练病毒样本集中的大量训练病毒样本进行分析,可准确确定出字符串在训练病毒样本集中的出现的idf,并根据分析结果建立idf库,方便了后续基于该idf库准确确定字符在病毒样本中出现的idf。

为了实现上述实施例,本发明还提出一种恶意代码家族属性的识别装置。

图8为本发明实施例提供的一种恶意代码家族属性的识别装置的结构意图。

如图8所示,该恶意代码家族属性的识别装置可以包括提取模块111、第一获取模块112、第二获取模块113、第三获取模块114、第四获取模块115和确定模块116,其中:

提取模块111用于获取待识别的对象的内存镜像文件,从内存镜像文件中提取有效的字符串,其中,对象为待识别的恶意代码。

第一获取模块112用于根据字符串,获取对象与每个家族之间的相似度。

第二获取模块113用于根据内存镜像文件,获取对象的第一图像指纹。

第三获取模块114用于根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹。

第四获取模块115用于将第一图像指纹与每个家族的每个第二图像指纹进行比较,获取对象与每个家族之间的汉明距离。

确定模块116用于根据每个家族对应的相似度和汉明距离,确定对象的家族属性。

在本发明的一个实施例中,在图8所示的基础上,如图9所示,该装置还可以包括:

第五获取模块117,用于根据每个家族中每个病毒样本的字符串的tf-idf,获取每个家族的关键字符串集合。

第六获取模块118用于针对每个家族,利用家族的关键字符串集合,获取家族的向量空间。

其中,向量空间中包括每个关键字符串以及每个关键字符串在每个病毒样本中的权重。

在本发明的一个实施例中,第一获取模块112具体用于:针对每个家族,将对象的字符串与家族的向量空间进行比对,得到对象与家族中每个病毒样本之间的第一相似度;根据所有的第一相似度,得到对象与家族之间的相似度。

作为一种示例性的实施方式,针对每个家族,第一获取模块112可将对象的字符串与家族的向量空间输入至预先构建的潜在语义索引(sli,latentsemanticindexing)模型中,以通过该lsi模型计算出对象与每个样本之间的第一相似度,然后,根据所有的第一相似度,得到对象与家族之间的相似度。

在本发明的一个实施例中,在图9所示的基础上,如图10所示,该第五获取模块117可以包括:

提取单元1171用于针对每个家族,提取家族的每个病毒样本中有效的第一字符串。

统计单元1172用于统计第一字符串在家族中出现的tf。

第一获取单元1173用于查询预先构建的idf库,获取第一字符串的idf。

第二获取单元1174用于根据第一字符串的tf和idf,获取第一字符串的tf-idf。

判断单元1175用于判断tf-idf是否超出预设的阈值。

确定单元1176用于如果超出预设的阈值,则将第一字符串识别为家族的关键字符串。

构建单元1177用于利用识别出的所有的关键字符串构建家族的关键字符串集合。

在本发明的一个实施例中,统计单元1172具体用于:每当第一字符串在其中一个病毒样本出现至少一次时,对第一字符串在家族中出现的次数加1;在对第一字符串出现次数的统计完成时,根据统计出的次数计算tf。

在本发明的一个实施例中,在图10所示的基础上,如图11所示,该装置还可以包括:

idf库构建模块119用于采集训练病毒样本,形成训练病毒样本集;针对每个训练病毒样本,获取训练病毒样本的内存镜像文件,并从训练病毒样本的内存镜像文件中提取有效的第二字符串;每当第二字符串在其中一个训练病毒样本出现至少一次时,对第二字符串在训练病毒样本集中出现的次数加1;在对第二字符串出现次数的统计完成时,根据统计出的次数计算第二字符串的idf;利用每个第二字符串和每个第二字符串的idf,构建idf库。

在本发明的一个实施例中,第一获取单元1173具体用于:在idf库中,查询与第一字符串一致的目标第二字符串;将目标第二字符串的idf作为第一字符串的idf。

在本发明的一个实施例中,第二获取模块113具体用于:将对象的内存镜像文件分成多个分段文件;获取对象的每个分段文件的哈希值;利用对象的每个分段文件的哈希值,形成对象的灰阶度图像;根据对象的灰阶度图像,获取对象的第一图像指纹。

在本发明的一个实施例中,第三获取模块114具体用于:针对每个病毒样本,对病毒样本的内存镜像文件分成多个分段文件;获取病毒样本的每个分段文件的哈希值;利用病毒样本的所有分段文件的哈希值,形成病毒样本的灰阶度图像;根据病毒样本的灰阶度图像,获取病毒样本的第二图像指纹。

在本发明的一个实施例中,第四获取模块115具体用于:针对每个家族,将第一图像指纹与每个病毒样本的第二图像指纹进行比对,统计第一图像指纹与第二图像指纹在同一位置上数值不同的位置数,将位置数作为对象与病毒样本之间的汉明距离;将与所有病毒样本之间的汉明距离进行平均,得到对象与家族之间的汉明距离。

在本发明的一个实施例中,在图8所示的基础上,如图12所示,确定模块116可以包括:

比较单元1161用于针对每个家族的相似度与预设的第一范围比较,并且将每个家族汉明距离与预设的第二范围比较;其中,第一范围包括第一上限阈值和第一下限阈值,第二范围包括第二上限阈值和第二下限阈值。

第一确定单元1162用于如果存在其中一个家族的相似度超出第一上限阈值且汉明距离低于第二下限阈值,则将其中一个家族作为对象的家族属性。

第二确定单元1163用于如果每个家族的相似度处于第一范围内且汉明距离处于第二范围内,则将对象的家族属性确定为变异属性。

第三确定单元1164用于如果每个家族的相似度均低于第一下限阈值且汉明距离超出第二上限阈值,则将对象的家族属性确定为新家族。

其中,需要说明的是,上述图12中所示的装置实施例中的比较单元1161、第一确定单元1162、第二确定单元1163和第三确定单元1164的结构也可以包含在前述图9-图11的装置实施例中,对此本发明不进行限制。

其中,需要说明的是,前述对恶意代码家族属性的识别方法实施例的解释说明也适用于该实施例的恶意代码家族属性的识别装置实施例,此处不再赘述。

本发明实施例的恶意代码家族属性的识别装置,获取待识别的恶意代码的内存镜像文件中的有效的字符串,然后,根据字符串,获取对象与每个家族之间的相似度,之后,根据内存镜像文件,获取对象的第一图像指纹,然后,根据每个家族中每个病毒样本的内存镜像文件,获取每个病毒样本的第二图像指纹,以及将第一图像指纹与每个家族的每个第二图像指纹进行比较,获取对象与每个家族之间的汉明距离,并根据每个家族对应的相似度和汉明距离,确定对象的家族属性。由此,通过恶意代码与家族之间的相似度和汉明距离即可准确识别出恶意代码的家族属性,提高了恶意代码家族属性识别的通用性、鲁棒性和准确性。

图13为本发明实施例提供的一种电子设备的结构示意图,可以实现本发明图1-7所示实施例的流程,如图13所示,上述电子设备可以包括:壳体21、处理器22、存储器23、电路板24和电源电路25,其中,电路板24安置在壳体21围成的空间内部,处理器22和存储器23设置在电路板24上;电源电路25,用于为上述电子设备的各个电路或器件供电;存储器23用于存储可执行程序代码;处理器22通过读取存储器23中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例的恶意代码家族属性的识别方法。

处理器22对上述步骤的具体执行过程以及处理器22通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-7所示实施例的描述,在此不再赘述。

该电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如前述实施例的恶意代码家族属性的识别方法。

为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时能够实现如前述实施例的恶意代码家族属性的识别方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1