一种恶意文件的同源判定方法及装置与流程

文档序号:12551175阅读:178来源:国知局
一种恶意文件的同源判定方法及装置与流程

本发明涉及网络安全技术领域,尤其涉及一种恶意文件的同源判定方法及装置。



背景技术:

随着网络信息化技术的不断发展,网络安全隐患也随之而来,其中,恶意文件已成为危害网络安全的一个主要因素,显然,对恶意文件的分析已成为检测和防范恶意文件的重要基础。通过分析大量的恶意文件发现,许多新出现的恶意文件是已有恶意文件的变种。基于此,现有技术中,主要通过对恶意文件的比特序列进行分析,以确定出同源恶意文件,即先对大量恶意文件样本的比特序列进行分析,以获取同源恶意文件的比特序列特征,再以此为依据,判定其它恶意文件的同源性。

而实际应用中,大多数恶意文件均是采用高级程序语言编写的,一个细微的改变就会导致恶意文件的比特序列发生大幅变动,不仅逃避了检测机制的检查,也无法准确地确定出恶意文件的同源性。显然,基于恶意文件的比特序列的同源判定方法准确度较低。



技术实现要素:

本发明实施例提供了一种恶意文件的同源判定方法及装置,用以解决现有技术中存在的恶意文件同源判定结果准确度较差的问题。

本发明实施例提供的具体技术方案如下:

一种恶意文件的同源判定方法,包括:

分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息,并分别将每一个恶意文件在各个指定维度下的特征性行为数据信息划分为相应的恶意文件在第一类指定维度下的特征性行为数据信息以及在第二类指定维度下的特征性行为数据信息;

基于每一个恶意文件在第一类指定维度下的特征性行为数据信息,获取相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值,并基于获得的每一个恶意文件在第一类指定维度包含的各个指定维度下的特征值,获取相应的维度矩阵,以及将维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别;

基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件。

一种恶意文件的同源判定装置,包括:

数据获取单元,用于分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息,并分别将每一个恶意文件在各个指定维度下的特征性行为数据信息划分为相应的恶意文件在第一类指定维度下的特征性行为数据信息以及在第二类指定维度下的特征性行为数据信息;

类别预测单元,用于基于每一个恶意文件在第一类指定维度下的特征性行为数据信息,获取相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值,并基于获得的每一个恶意文件在第一类指定维度包含的各个指定维度下的特征值,获取相应的维度矩阵,以及将维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别;

同源判定单元,用于基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件。

一种非易失性计算机存储介质,存储有计算机可执行指令,其中,计算机可执行指令设置为:

分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息,并分别将每一个恶意文件在各个指定维度下的特征性行为数据信息划分为相应的恶意文件在第一类指定维度下的特征性行为数据信息以及在第二类指定维度下的特征性行为数据信息;

基于每一个恶意文件在第一类指定维度下的特征性行为数据信息,获取相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值,并基于获得的每一个恶意文件在第一类指定维度包含的各个指定维度下的特征值,获取相应的维度矩阵,以及将维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别;

基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件。

一种电子设备,包括:至少一个处理器,以及存储器;其中,

存储器,用于存储上述至少一个处理器执行的指令;

上述至少一个处理器,用于执行存储在存储器中的指令,以便分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息,并分别将每一个恶意文件在各个指定维度下的特征性行为数据信息划分为相应的恶意文件在第一类指定维度下的特征性行为数据信息以及在第二类指定维度下的特征性行为数据信息;基于每一个恶意文件在第一类指定维度下的特征性行为数据信息,获取相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值,并基于获得的每一个恶意文件在第一类指定维度包含的各个指定维度下的特征值,获取相应的维度矩阵,以及将维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别;基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件。

本发明实施例的有益效果如下:

本发明实施例中,通过对多个维度下的特征性行为数据信息进行融合分析,能够准确地判定出同源恶意文件,有效地提高了同源判定结果的准确度,避免了由于仅针对恶意文件的比特序列进行分析,导致分析结果不可靠、同源判定结果的准确度较低的问题。而且,在确定各个恶意文件所属的类别之后,针对归属于同一类别的各个恶意文件进行同源判定,降低了同源判定的计算量,进一步地提高了同源判定结果的准确性。

附图说明

图1为本发明实施例中恶意文件同源性的判定方法的概况示意图;

图2为本发明实施例中以各个恶意文件之间是否调用相同的进程为依据,构建的同源恶意文件关系图谱;

图3为本发明实施例中恶意文件同源性的判定方法的具体流程示意图;

图4为本发明实施例中同源关系树、同源恶意文件家族和同源恶意文件关系图谱的构建方法的具体流程示意图;

图5为本发明实施例中恶意文件同源性的判定装置的功能结构示意图;

图6为本发明实施例中用于执行恶意文件同源性的判定方法的电子设备的硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决现有技术中存在的恶意文件同源判定结果准确度较差的问题,本发明实施例中,利用每一个恶意文件在进程行为、访问行为、域名解析行为和注册表行为四个指定维度下的特征性行为数据信息,确定每一个恶意文件所属的类别,针对归属于同一类别的各个恶意文件,以每两个恶意文件为一同源判定单位,利用每一个同源判定单位包含的两个恶意文件分别对应的进程调用关系图和数字签名,分别判断相应的同源判定单位包含的两个恶意文件是否是同源恶意文件。通过对多个维度下的特征性行为数据信息进行融合分析,能够准确地判定出同源恶意文件,有效地提高了同源判定结果的准确度,避免了由于仅针对恶意文件的比特序列进行分析,导致分析结果不可靠、同源判定结果的准确度较低的问题。而且,在确定各个恶意文件所属的类别之后,针对归属于同一类别的各个恶意文件进行同源判定,降低了同源判定的计算量,提高了同源判定结果的准确性。

下面通过具体实施例对本发明方案进行详细描述,当然,本发明并不限于以下实施例。

参阅图1所示,本发明实施例中,恶意文件的同源判定方法的流程如下:

步骤100:分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息,并分别将每一个恶意文件在各个指定维度下的特征性行为数据信息划分为相应的恶意文件在第一类指定维度下的特征性行为数据信息以及在第二类指定维度下的特征性行为数据信息。

在实际应用中,在执行步骤100时,具体包括:

首先,在指定环境中运行每一个恶意文件,获取每一个恶意文件在运行过程中的行为信息,其中,指定环境可以是但不限于是:沙盒系统、虚拟机和个人电脑(Personal Computer,PC)模拟器,等等。

然后,从获得的每一个恶意文件分别对应的行为信息中,分别提取出相应的恶意文件在各个指定维度下的行为数据信息,其中,各个指定维度至少包括但不限于:进程行为、访问行为、域名解析行为、注册表行为、进程调用关系图和数字签名,等等。

其次,从每一个恶意文件在各个指定维度下的行为数据信息中,分别剔除相应的恶意文件在各个指定维度下的非特征性行为数据信息,以获取每一个恶意文件在各个指定维度下的特征性行为数据信息。

最后,分别将每一个恶意文件在各个指定维度下的特征性行为数据信息划分为相应的恶意文件在第一类指定维度下的特征性行为数据信息以及在第二类指定维度下的特征性行为数据信息,其中,第一类指定维度至少包括但不限于:进程行为、访问行为、域名解析行为和注册表行为四个指定维度;第二类指定维度至少包括但不限于:进程调用关系图和数字签名两个指定维度。

例如:假设有1000个恶意文件。将1000个恶意文件在沙盒系统中运行,获取1000个恶意文件在运行过程中的行为信息。从获得的1000个恶意文件分别对应的行为信息中,提取出相应的恶意文件在进程行为、访问行为、域名解析行为、注册表行为、进程调用关系图和数字签名等各个指定维度下的行为数据信息。

从1000个恶意文件在各个指定维度下的行为数据信息中,分别剔除相应的恶意文件在各个指定维度下的非特征性行为数据信息,以获取1000个恶意文件在各个指定维度下的特征性行为数据信息。

将1000个恶意文件在各个指定维度下的特征性行为数据信息划分为两个部分,一部分为:1000个恶意文件在进程行为、访问行为、域名解析行为和注册表行为四个维度下的特征性行为数据信息,另一部分为1000个恶意文件在进程调用关系图和数字签名两个维度下的特征性行为数据信息。

步骤110:基于每一个恶意文件在第一类指定维度下的特征性行为数据信息,分别获取相应的恶意文件对应的维度矩阵,并将获得的每一个恶意文件分别对应的维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别,其中,一个恶意文件对应的维度矩阵是由一个恶意文件在第一类指定维度包含的各个指定维度下的特征值组成的。

在具体实施时,为了获取每一个恶意文件所属的类别,还需要预先建立一个类别预测模型(具体是在执行步骤100之前建立的)。具体地,可以采用但不限于以下方式:

首先,采集病毒、蠕虫、逻辑炸弹、木马、后门等各个类别下的恶意文件样本,将采集到的所有恶意文件样本运行在指定环境中,获取每一个恶意文件样本在运行过程中的样本行为信息,并从每一个恶意文件样本分别对应的样本行为信息中,分别提取出相应恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的样本行为数据信息。

然后,从每一个恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的样本行为数据信息中,分别剔除相应恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的非特征性样本行为数据信息,以获取每一个恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的特征性样本行为数据信息。

其次,基于每一个恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的特征性样本行为数据信息,分别获取相应恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的特征值,并基于每一个恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的特征值,生成相应的样本维度矩阵。

较佳的,在获取每一个恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的特征值时,可以采用但不限于以下方式(下面仅以获取一个恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的特征值为例进行说明):

操作1:对该恶意文件样本在进程行为这一指定维度下的特征性样本行为数据信息进行量化处理,获取该恶意文件样本在进程行为这一指定维度下的特征值,具体包括:

从该恶意文件样本所属类别下的每一个恶意文件样本在进程行为这一指定维度下的特征性样本行为数据信息中,获取每一个恶意文件样本在运行过程中调用的各个进程,并从获得的所有进程中,筛选出对应的调用频度大于等于第一预设阈值小于第二预设阈值的所有进程作为特征性样本进程集合,以及,将该恶意文件样本对应的样本进程集合(其中,样本进程集合是该恶意文件样本调用的所有进程的集合)相对于特征性样本进程集合的概率作为该恶意文件样本在进程行为这一指定维度下的样本进程行为特征值,其中,可以通过公式(1)计算该恶意文件样本在进程行为这一指定维度下的样本进程行为特征值:

其中,Ua表征特征性样本进程集合,Ub表征该恶意文件样本的样本进程集合,Uc表征特征性样本进程集合Ua和样本进程集合Ub的交集,Ua+Ub-Uc表征特征性样本进程集合Ua和样本进程集合Ub的并集,即该恶意文件样本在进程行为这一指定维度下的样本进程行为特征值F进程行为是:特征性样本进程集合Ua和样本进程集合Ub的交集,与特征性样本进程集合Ua和样本进程集合Ub的并集之间的比值。

操作2:对该恶意文件样本在访问行为这一指定维度下的特征性样本行为数据信息进行量化处理,获取该恶意文件样本在访问行为这一指定维度下的特征值,具体包括:

从该恶意文件样本在访问行为这一指定维度下的特征性样本行为数据信息中,获取该恶意文件样本执行的各个访问行为,分别计算每一个访问行为对应的信息增益,并将计算出的每一个访问行为分别对应的信息增益之和作为该恶意文件样本在访问行为这一指定维度下的访问行为特征值,其中,可以通过公式(2)计算该恶意文件样本在访问行为这一指定维度下的样本访问行为特征值:

此时,wi表征该恶意文件样本执行的各个访问行为,U表征目标类别(将依次从病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中选取一个类别作为目标类别),表征非目标类别(即将病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中除选取的目标类别之外的其它所有类别作为非目标类别),P(wi/U)表征访问行为wi在目标类别U下的各个恶意文件样本中出现的概率,表征访问行为wi在非目标类别下的各个恶意文件样本中出现的概率,α表征调整因子,α∈(0,1)。

操作3:对该恶意文件样本在域名解析行为这一指定维度下的特征性样本行为数据信息进行量化处理,获取该恶意文件样本在域名解析行为这一指定维度下的特征值,具体包括:

从该恶意文件样本在域名解析行为这一指定维度下的特征性样本行为数据信息中,获取该恶意文件样本执行的各个域名解析行为,分别计算每一个域名解析行为对应的信息增益,并将计算出的每一个域名解析行为分别对应的信息增益之和作为该恶意文件样本在域名解析行为这一指定维度下的域名解析行为特征值,其中,可以通过上述公式(2)计算该恶意文件样本在域名解析行为这一指定维度下的样本域名解析行为特征值F域名解析行为,此时,wi表征该恶意文件样本执行的各个域名解析行为,U表征目标类别(将依次从病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中选取一个类别作为目标类别),表征非目标类别(即将病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中除选取的目标类别之外的其它所有类别作为非目标类别),P(wi/U)表征域名解析行为wi在目标类别U下的各个恶意文件样本中出现的概率,表征域名解析行为wi在非目标类别下的各个恶意文件样本中出现的概率,α表征调整因子,α∈(0,1)。

操作4:对该恶意文件样本在注册表行为这一指定维度下的特征性样本行为数据信息进行量化处理,获取该恶意文件样本在注册表行为这一指定维度下的特征值,具体包括:

从该恶意文件样本在注册表行为这一指定维度下的特征性样本行为数据信息中,获取该恶意文件样本执行的各个注册表行为,分别计算每一个注册表行为对应的信息增益,并将计算出的每一个注册表行为分别对应的信息增益之和作为该恶意文件样本在注册表行为这一指定维度下的注册表行为特征值,其中,可以通过上述公式(2)计算该恶意文件样本在注册表行为这一指定维度下的样本注册表行为特征值F注册表行为,此时,wi表征该恶意文件样本执行的各个注册表行为,U表征目标类别(将依次从病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中选取一个类别作为目标类别),表征非目标类别(即将病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中除选取的目标类别之外的其它所有类别作为非目标类别),P(wi/U)表征注册表行为wi在目标类别U下的各个恶意文件样本中出现的概率,表征注册表行为wi在非目标类别下的各个恶意文件样本中出现的概率,α表征调整因子,α∈(0,1)。

较佳的,在基于每一个恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的特征值,生成相应的样本维度矩阵时,可以采用但不限于以下方式:获取到每一个恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的特征值之后,以每一个恶意文件样本为行元素,以相应的恶意文件样本在进程行为、访问行为、域名解析行为、注册表行为等指定维度下的特征值为列元素,生成相应的样本维度矩阵。

最后,从支持向量机分类模型包含的各个核函数中,依次选取每一个核函数,每选取一个核函数的情况下,将获得的样本维度矩阵作为输入量,输入当前选取的核函数中,获取每一个恶意文件样本的所属类别,基于在采集每一个恶意文件样本时已知的所属类别,分别判断获得的每一个恶意文件样本的所属类别是否正确,并基于各个判断结果,获取当前选取的核函数对应的类别预测准确度;从各个核函数中,选取对应的类别预测准确度最高的核函数作为类别预测模型的处理函数。也就是说,类别预测模型是以维度矩阵为输入量,输入预先配置的处理函数之后,输出每一个恶意文件所属的类别的一种模型。至此,完成了类别预测模型的建立。

在实际应用中,在执行步骤110时,具体包括:

首先,从每一个恶意文件在进程行为这一指定维度下的特征性行为数据中,获取每一个恶意文件在运行过程中调用的各个进程,并从获得的所有进程中,筛选出对应的调用频度大于等于第一预设阈值小于第二预设阈值的所有进程作为特征性进程集合,以及,分别将每一个恶意文件对应的进程集合(其中,一个恶意文件对应的进程集合是该一个恶意文件调用的所有进程的集合)相对于特征性进程集合的概率作为相应的恶意文件在进程行为这一指定维度下的进程行为特征值,其中,可以通过上述公式(1)计算恶意文件在进程行为这一指定维度下的进程行为特征值,此时,Ua表征特征性进程集合,Ub表征恶意文件的进程集合,Uc表征特征性进程集合Ua和进程集合Ub的交集,Ua+Ub-Uc表征特征性进程集合Ua和进程集合Ub的并集,即恶意文件在进程行为这一指定维度下的进程行为特征值F进程行为是:特征性进程集合Ua和进程集合Ub的交集,与特征性进程集合Ua和进程集合Ub的并集之间的比值。

然后,分别计算每一个恶意文件在访问行为这一指定维度下的访问行为特征值。具体包括(下面仅以获取一个恶意文件在访问行为这一指定维度下的访问行为特征值为例进行说明):从该恶意文件在访问行为这一指定维度下的特征性行为数据信息中,获取该恶意文件执行的各个访问行为,分别计算每一个访问行为对应的信息增益,并将计算出的每一个访问行为分别对应的信息增益之和作为该恶意文件在访问行为这一指定维度下的访问行为特征值,其中,可以通过上述公式(2)计算该恶意文件在访问行为这一指定维度下的访问行为特征值,此时,wi表征该恶意文件执行的各个访问行为,U表征目标类别(将依次从病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中选取一个类别作为目标类别),表征非目标类别(即将病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中除选取的目标类别之外的其它所有类别作为非目标类别),P(wi/U)表征访问行为wi在目标类别U下的各个恶意文件中出现的概率,表征访问行为wi在非目标类别下的各个恶意文件中出现的概率,α表征调整因子,α∈(0,1)。

其次,分别计算每一个恶意文件在域名解析行为这一指定维度下的域名解析行为特征值。具体包括(下面仅以获取一个恶意文件在域名解析行为这一指定维度下的域名解析行为特征值为例进行说明):从该恶意文件在域名解析行为这一指定维度下的特征性行为数据信息中,获取该恶意文件执行的各个域名解析行为,分别计算每一个域名解析行为对应的信息增益,并将计算出的每一个域名解析行为分别对应的信息增益之和作为该恶意文件在域名解析行为这一指定维度下的域名解析行为特征值,其中,可以通过上述公式(2)计算该恶意文件在域名解析行为这一指定维度下的域名解析行为特征值,此时,wi表征该恶意文件执行的各个域名解析行为,U表征目标类别(将依次从病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中选取一个类别作为目标类别),表征非目标类别(即将病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中除选取的目标类别之外的其它所有类别作为非目标类别),P(wi/U)表征域名解析行为wi在目标类别U下的各个恶意文件中出现的概率,表征域名解析行为wi在非目标类别下的各个恶意文件中出现的概率,α表征调整因子,α∈(0,1)。

再者,分别计算每一个恶意文件在注册表行为这一指定维度下的注册表行为特征值。具体包括(下面仅以获取一个恶意文件在注册表行为这一指定维度下的注册表行为特征值为例进行说明):从该恶意文件在注册表行为这一指定维度下的特征性行为数据信息中,获取该恶意文件执行的各个注册表行为,分别计算每一个注册表行为对应的信息增益,并将计算出的每一个注册表行为分别对应的信息增益之和作为该恶意文件在注册表行为这一指定维度下的注册表行为特征值,其中,可以通过上述公式(2)计算该恶意文件在注册表行为这一指定维度下的注册表行为特征值,此时,wi表征该恶意文件执行的各个注册表行为,U表征目标类别(将依次从病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中选取一个类别作为目标类别),表征非目标类别(即将病毒、蠕虫、逻辑炸弹、木马、后门等各个类别中除选取的目标类别之外的其它所有类别作为非目标类别),P(wi/U)表征注册表行为wi在目标类别U下的各个恶意文件中出现的概率,表征注册表行为wi在非目标类别下的各个恶意文件中出现的概率,α表征调整因子,α∈(0,1)。

最后,以每一个恶意文件为行元素,以获得的每一个恶意文件分别对应的进程行为特征值、访问行为特征值、域名解析行为特征值和注册表行为特征值位列元素,生成相应的维度矩阵,并将获得的维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别(即将获得的维度矩阵作为输入量,输入预先配置的处理函数,以输出每一个恶意文件所属的类别)。

例如:继续沿用上例,获取1000个恶意文件在运行过程中调用的所有进程,并从获得的所有进程中,筛选出对应的调用频度大于等于30%(即第一预设阈值)小于80%(即第二预设阈值)的所有进程作为特征性进程集合,以及,分别将1000个恶意文件各自调用的各个进程作为相应的恶意文件对应的进程集合,采用上述公式(1),分别计算1000个恶意文件在进程行为这一指定维度下的进程行为特征值。

获取1000个恶意文件各自执行的各个访问行为,并采用上述公式(2),计算1000个恶意文件在访问行为这一指定维度下的访问行为特征值;获取1000个恶意文件各自执行的各个域名解析行为,并采用上述公式(2),计算1000个恶意文件在域名解析行为这一指定维度下的访问行为特征值;获取1000个恶意文件各自执行的各个注册表行为行为,并采用上述公式(2),计算1000个恶意文件在注册表行为行为这一指定维度下的注册表行为特征值。

以1000个恶意文件为行元素,以1000个恶意文件分别对应的进程行为特征值、访问行为特征值、域名解析行为特征值和注册表行为特征值为列元素,生成相应的维度矩阵,并将获得的维度矩阵输入预先建立的以高斯核函数为处理函数的类别预测模型,获取1000个恶意文件所属的类别。

步骤120:基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件。

在实际应用中,在执行步骤120时,可以采用但不限于以下方式:针对归属于同一类别的各个恶意文件,以每两个恶意文件为一同源判定单位,基于每一个同源判定单位包含的两个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应的同源判定单位包含的两个恶意文件是否是同源恶意文件。

具体地,基于每一个同源判定单位包含的两个恶意文件在第二指定维度下的特征性行为数据信息,分别判断相应的同源判定单位包含的两个恶意文件是否是同源恶意文件时,可以采用但不限于以下方式(下面仅以一个类别下的一个同源判定单位为例进行说明):计算该同源判定单位包含的两个恶意文件分别对应的进程调用关系图之间的进程调用关系相似度,并判断进程调用关系相似度是否大于等于预设阈值;若是,则认定该同源判定单位包含的两个恶意文件是相似恶意文件,并在确定该同源判定单位包含的两个恶意文件分别对应的数字签名满足预设条件的情况下,认定该同源判定单位包含的两个恶意文件是同源恶意文件;否则,认定该同源判定单位包含的两个恶意文件不是同源恶意文件。

较佳的,在认定该同源判定单位包含的两个恶意文件是相似恶意文件之后,在确定该同源判定单位包含的两个恶意文件分别对应的数字签名满足以下任意一个预设条件的情况下,认定该同源判定单位包含的两个恶意文件是同源恶意文件:

(1)同源判定单位包含的两个恶意文件均存在数字签名且两个数字签名相同。

(2)同源判定单位包含的两个恶意文件中有一个恶意文件存在数字签名。

(3)同源判定单位包含的两个恶意文件均不存在数字签名。

值得说的是,在认定该同源判定单位包含的两个恶意文件是相似恶意文件之后,若确定该同源判定单位包含的两个恶意文件均存在数字签名且两个数字签名不同,则可以认定该同源判定单位包含的两个恶意文件是疑似同源恶意文件。

例如:获取到1000个恶意文件所属的类别之后,统计出归属于同一类别的各个恶意文件。比如:归属于病毒的恶意文件有100个;归属于蠕虫的恶意文件有200个;归属于逻辑炸弹的恶意文件有150个;归属于木马的恶意文件有300个,归属于后门的恶意文件有250个,等等。

针对归属于同一类别的各个恶意文件,以每两个恶意文件为一同源判定单位,分别判断每一个同源判定单位包含的两个恶意文件是否是同源恶意文件。

下面仅以“针对病毒这一类别下的一个同源判定单位(包含恶意文件A和恶意文件B)进行同源判定”为例进行说明。

操作1′:将恶意文件A的进程调用关系图A中的所有进程作为实节点集αi,并将进程调用关系图A对应的实节点集αi加入到完全二分图G的一个划分M中;将恶意文件B的进程调用关系图B中的所有进程作为实节点集βm,并将进程调用关系图B对应的实节点集βm加入到完全二分图G的另一个划分N中;为划分M增加虚节点集γj以及为划分N增加虚节点集μn,使/M/=/N/,以获取完全二分图G的顶点集P=(M,N),即P=M∪N,M=αi∪γj,N=βm∪μn,以及,分别在顶点集P=(M,N)包含的每两个点之间均添加一条边,以获取完全二分图G的边集Q,进而,就构造出进程调用关系图A和进程调用关系图B的完全二分图V=(P,Q)。

操作2′:从进程调用关系图A中选取一个进程α以及从进程调用关系图B中选取一个进程β,从进程α的调用进程与进程β的调用进程中,提取出相似进程,统计出相似进程对的数量ω1;从进程α的调用进程与进程β的调用进程中,统计出除了相似进程之外的相同进程数量ω2和不同进程数量ω2;统计出共同调用进程α和进程β的进程数量ω4,调用进程α或进程β的进程数量ω5;对相似进程对的数量ω1进行加权,并采用公式(3),计算进程α和进程β之间的调用关系相似性度量值:

采用上述方法,计算进程调用关系图A中的每一个进程分别与进程调用关系图B中的每一个进程之间的调用关系相似性度量值。

操作3′:执行完操作1′和操作2′后(其中,操作1′和操作2′无具体的执行顺序,可以先执行操作1′再执行操作2′,也可以先执行操作2′再执行操作1′,还可以同时执行操作1′和操作2′,在此不作具体限定),分别为完全二分图V=(P,Q)的边集Q中每条边设置边权值,即若构成该边的两个顶点均为实节点,则将在操作2中计算出的相应的调用关系相似性度量值作为该边的边权值;若构成该边的两个顶点中有一个是虚节点或者均为虚节点,则直接将该边的边权值设置为0.15-0.25中的任意一个数值。采用上述边权值的设置规则,分别为完全二分图V=(P,Q)的边集Q中每条边设置边权值,以构建出完全二分图V=(P,Q)的权值矩阵。

操作4′:利用划分M包含的实节点集αi和虚节点集γj,构成进程调用关系图A的扩展进程调用关系图A′,并利用划分N包含的实节点集βm和虚节点集μn,构成进程调用关系图B的扩展进程调用关系图B′;根据完全二分图V=(P,Q)的权值矩阵,构建完全二分图V=(P,Q)的加权完全二分图V′=(P,Q),并利用加权完全二分图V′=(P,Q),计算扩展进程调用关系图A′与扩展进程调用关系图B′中,所有边的相似值D1以及由两个虚节点构成的所有边的相似值D2,计算出相似值D1和相似值D2之后,将相似值D1与相似值D2之间的差值作为进程调用关系图A和调用关系图B之间的进程调用关系相似度DA_B。可选地,可以采用公式(4),计算相似值D1和相似值D2

其中,若采用公式(4)计算相似值D1,则此时,D表征扩展进程调用关系图A′与扩展进程调用关系图B′之间的相似值D1,L表征扩展进程调用关系图A′的所有顶点(包含实节点集αi和虚节点集γj)的数量与扩展进程调用关系图B′的所有顶点(包含实节点集βm和虚节点集μn)的数量之和,εk表征边集Q=(εk)中每条边,表征边εk的边权值,表征从“扩展进程调用关系图A′中所有边的边权值之和”和“扩展进程调用关系图B′中所有边的边权值之和”中取最大值;若采用公式(4)计算相似值D2,则此时,D表征扩展进程调用关系图A′与扩展进程调用关系图B′之间的相似值D2,L表征扩展进程调用关系图A′的所有虚节点的数量与扩展进程调用关系图B′的所有虚节点集的数量之和,εk表征边集Q中由两个虚节点构成的每条边,表征由两个虚节点构成的边εk的边权值,表征从“扩展进程调用关系图A′中由两个虚节点构成的所有边的边权值之和”和“扩展进程调用关系图B′中由两个虚节点构成的所有边的边权值之和”中取最大值。

操作5′:判断计算出的进程调用关系图A和调用关系图B之间的进程调用关系相似度DA_B是否大于等于90%(即预设阈值)。

若是,则认定恶意文件A和恶意文件B是相似恶意文件,并在确定恶意文件A和恶意文件B中均存在数字签名的情况下,判断恶意文件A中的数字签名A和恶意文件B中的数字签名B是否相同,若是,则认定恶意文件A和恶意文件B是同源恶意文件;否则,认定恶意文件A和恶意文件B是疑似同源恶意文件。其中,若在认定恶意文件A和恶意文件B是相似恶意文件之后,确定恶意文件A和恶意文件B中有一个存在数字签名或者均不存在数字签名,则也可以认定恶意文件A和恶意文件B是同源恶意文件。

否则,直接认定恶意文件A和恶意文件B不是同源恶意文件。

进一步地,在判定出各个类别下的所有同源恶意文件之后,针对归属于同一类别的具有同源关系的各个恶意文件进行分组处理,获取各个恶意文件组,并基于每一个恶意文件组中每两个恶意文件之间的进程调用关系相似度,分别对相应的恶意文件组进行聚类处理,以获取每一个恶意文件组分别对应的各个恶意文件类,并基于每一个恶意文件组分别对应的各个恶意文件类,分别为相应的恶意文件组构建同源关系树。进一步地,在获取每一个恶意文件组分别对应的各个恶意文件类之后,还可以从每一个同源恶意文件组分别对应的各个同源恶意文件类中,筛选出对应的进程调用相似度不小于预设下限值的所有同源恶意文件类,并基于筛选出的每一个同源恶意文件类包含的各个恶意文件,构建同源恶意文件家族。

例如:下面仅以一个类别下的所有同源恶意文件为例进行说明。假设该类别为病毒。

操作1″:针对归属于病毒的所有同源恶意文件进行打散去重处理,获取病毒这一类别下的具有同源关系的各个恶意文件,并对获取到的所有恶意文件进行分组处理,获取各个恶意文件组。

操作2″:针对每一个恶意文件组分别构建同源关系树。下面仅以“为一个恶意文件组构建同源关系树”为例进行说明,假设该恶意文件组为恶意文件组1,包含恶意文件A、恶意文件B、恶意文件C、恶意文件D和恶意文件E五个恶意文件):

利用恶意文件A、恶意文件B、恶意文件C、恶意文件D和恶意文件E五个恶意文件中每两个恶意文件之间的进程调用关系相似度,构建恶意文件组1的相似度矩阵K,并对相似度矩阵K进行最大元素合并,即从相似度矩阵K中,筛选出最大的元素,即筛选出最大的进程调用关系相似度(假设为恶意文件A和恶意文件B之间的进程调用关系相似度最大),并将恶意文件A和恶意文件B合并为一个恶意文件类(下面称恶意文件类AB),以及,采用公式(5)计算恶意文件类AB与恶意文件C之间的进程调用关系相似度DAB_C,恶意文件类与恶意文件D之间的进程调用关系相似度DAB_D,以及恶意文件类与恶意文件E之间的进程调用关系相似度DAB_E

其中,若采用公式(4)计算恶意文件类与恶意文件C之间的进程调用关系相似度DAB_C,则此时,D′表征恶意文件类AB与恶意文件C之间的进程调用关系相似度DAB_C,Dx表征恶意文件A与恶意文件C之间的进程调用关系相似度DA_C,Dy表征恶意文件B与恶意文件C之间的进程调用关系相似度DB_C;若采用公式(4)计算恶意文件类AB与恶意文件D之间的进程调用关系相似度DAB_D,则此时,D′表征恶意文件类AB与恶意文件D之间的进程调用关系相似度DAB_D,Dx表征恶意文件A与恶意文件D之间的进程调用关系相似度DA_D,Dy表征恶意文件B与恶意文件D之间的进程调用关系相似度DB_D;若采用公式(4)计算恶意文件类AB与恶意文件E之间的进程调用关系相似度DAB_E,则此时,D′表征恶意文件类AB与恶意文件E之间的进程调用关系相似度DAB_E,Dx表征恶意文件A与恶意文件E之间的进程调用关系相似度DA_E,Dy表征恶意文件B与恶意文件E之间的进程调用关系相似度DB_E

根据恶意文件类AB与恶意文件C之间的进程调用关系相似度DAB_C,恶意文件类AB与恶意文件D之间的进程调用关系相似度DAB_D,恶意文件类AB与恶意文件E之间的进程调用关系相似度DAB_E,恶意文件C和恶意文件D之间的进程调用关系相似度DC_D,恶意文件C和和恶意文件E之间的进程调用关系相似度DC_E,以及恶意文件D和恶意文件E之间的进程调用关系相似度DD_E,重新构建相似度矩阵K′,并采用上述方式,对重新构建的相似度矩阵K′进行最大元素合并,直至合并出的各个恶意文件类对应的进程调用关系相似度均在预设下限值(比如:75%)之上为止,从而,获取恶意文件组1对应的各个恶意文件类,进而,就可以利用恶意文件组1对应的各个恶意文件类,为恶意文件组1构建同源关系树。

操作3″:在获取到病毒这一类别下的每一个恶意文件组对应的各个恶意文件类之后,还可以从获得的各个恶意文件类中,筛选出对应的进程调用关系相似度在预设下限值(比如:75%)之上的所有恶意文件类,并对筛选出的所有恶意文件类进行打散去重处理,以及将打散去重处理后获得的各个恶意文件作为病毒这一类别下的一个同源恶意文件家族。

进一步地,构建各个类别下的同源恶意文件家族之后,还可以基于各个类别下的同源恶意文件家族包含的每一个恶意文件在第三类指定维度下的特征性行为数据信息,构建相应类别下的同源恶意文件家族的同源恶意文件关系图谱,并基于各个类别下的同源恶意文件关系图谱,确定相应类别下的同源恶意文件家族中存在孤立恶意文件的情况下,排除孤立恶意文件,其中,第三类指定维度至少包括但不限于:访问行为、域名解析行为和进程调用关系图三个指定维度。

例如:下面仅以“针对一个类别下的同源恶意文件家族构建该同源恶意文件家族的同源恶意文件关系图谱”为例进行说明。假设该类别为病毒。

针对病毒这一类别下的同源恶意文件家族,根据该同源恶意文件家族包含的各个恶意文件之间是否调用相同的进程和/或是否存在相同的访问行为和/或是否存在相同的域名解析行为,构建出同源恶意文件家族的同源恶意文件关系图谱,具体地,可以构建出如图2所示的同源恶意文件关系图谱,其中,图2为根据各个恶意文件之间是否调用相同的进程构建出的同源恶意文件关系图谱,X1-X15表征恶意文件,Y1-Y10表征调用的进程。

进一步地,构建出各个类别下的同源恶意文件家族的同源恶意文件关系图谱之后,还可以输出各个类别下的所有恶意文件以及每一个恶意文件在各个指定维度下的特征性行为数据信息,各个类别下的所有同源恶意文件以及每一组同源恶意文件包含的两个恶意文件在进程调用关系图和数字签名两个指定维度(即第二类指定维度)下的特征性行为数据信息,以及,各个类别下的同源恶意文件家族以及同源恶意文件家族对应的同源恶意文件关系图谱。

下面采用具体的应用场景对上述实施例作进一步详细说明,参阅图3所示,本发明实施例中,恶意文件的同源判定方法的具体流程如下:

步骤300:在指定环境中运行每一个恶意文件,获取每一个恶意文件在运行过程中的行为信息。

步骤301:从获得的每一个恶意文件分别对应的行为信息中,分别提取出相应的恶意文件在进程行为、访问行为、域名解析行为、注册表行为、进程调用关系图和数字签名等各个指定维度下的行为数据信息。

步骤302:从每一个恶意文件在各个指定维度下的行为数据信息中,分别剔除相应的恶意文件在各个指定维度下的非特征性行为数据信息,以获取每一个恶意文件在各个指定维度下的特征性行为数据信息。

步骤303:基于每一个恶意文件在进程行为、访问行为、域名解析行为、注册表行为四个指定维度下的特征性行为数据信息,分别获取相应的恶意文件对应的进程行为特征值、访问行为特征值、域名解析行为特征值和注册表行为特征值。

步骤304:基于获得的每一个恶意文件分别对应的进程行为特征值、访问行为特征值、域名解析行为特征值和注册表行为特征值,生成相应的维度矩阵。

步骤305:将获得的维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别。

步骤306:统计每一个类别下的各个恶意文件,针对归属于同一类别的各个恶意文件,以每两个恶意文件为一同源判定单位,计算同源判定单位包含的两个恶意文件分别对应的进程调用关系图之间的进程调用关系相似度。

步骤307:判断进程调用关系相似度是否大于等于预设阈值;若是,则执行步骤308;否则,执行步骤312。

步骤308:认定同源判定单位包含的两个恶意文件是相似恶意文件。

步骤309:判断同源判定单位包含的两个恶意文件分别对应的数字签名是否满足预设条件;若是,则执行步骤310;否则,执行步骤311。

较佳的,在认定同源判定单位包含的两个恶意文件是相似恶意文件之后,可以在确定同源判定单位包含的两个恶意文件分别对应的数字签名满足以下任意一个预设条件的情况下,认定同源判定单位包含的两个恶意文件是同源恶意文件:

(1)同源判定单位包含的两个恶意文件均存在数字签名且两个数字签名相同。

(2)同源判定单位包含的两个恶意文件中有一个恶意文件存在数字签名。

(3)同源判定单位包含的两个恶意文件均不存在数字签名。

步骤310:认定同源判定单位包含的两个恶意文件是同源恶意文件。

步骤311:认定同源判定单位包含的两个恶意文件是疑似同源恶意文件。

步骤312:认定同源判定单位包含的两个恶意文件不是同源恶意文件。

下面采用具体的应用场景对上述实施例作进一步详细说明,参阅图4所示,本发明实施例中,同源关系树、同源恶意文件家族和同源恶意文件关系图谱的构建方法的具体流程如下:

步骤400:统计各个类别下的所有同源恶意文件,针对归属于同一类别的各个同源恶意文件进行打散去重处理,获取该类别下的具有同源关系的各个恶意文件,并对获得的各个恶意文件进行分组处理,获取各个恶意文件组。

步骤401:基于每一个恶意文件组中每两个恶意文件之间的进程调用关系相似度,分别对相应的恶意文件组进行聚类处理,以获取每一个恶意文件组分别对应的各个恶意文件类,并基于每一个恶意文件组分别对应的各个恶意文件类,分别为相应的恶意文件组构建同源关系树。

步骤402:从每一个同源恶意文件组分别对应的各个同源恶意文件类中,筛选出对应的进程调用相似度不小于预设下限值的所有同源恶意文件类,并对筛选出的所有恶意文件类进行打散去重处理,以及将打散去重处理后获得的各个恶意文件作为该类别下的一个同源恶意文件家族。

步骤403:构建各个类别下的同源恶意文件家族之后,基于各个类别下的同源恶意文件家族包含的每一个恶意文件在访问行为、域名解析行为和进程调用关系图三个指定维度下的特征性行为数据信息,构建相应类别下的同源恶意文件家族的同源恶意文件关系图谱。

步骤404:基于各个类别下的同源恶意文件关系图谱,确定相应类别下的同源恶意文件家族中存在孤立恶意文件的情况下,排除孤立恶意文件。

步骤405:输出各个类别下的所有恶意文件以及每一个恶意文件在各个指定维度下的特征性行为数据信息,各个类别下的所有同源恶意文件以及每一组同源恶意文件包含的两个恶意文件在进程调用关系图和数字签名两个指定维度下的特征性行为数据信息,以及,各个类别下的同源恶意文件家族以及同源恶意文件家族对应的同源恶意文件关系图谱。

基于上述实施例,参阅图5所示,本发明实施例中,恶意文件的同源判定装置,至少包括:

数据获取单元500,用于分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息,并分别将每一个恶意文件在各个指定维度下的特征性行为数据信息划分为相应的恶意文件在第一类指定维度下的特征性行为数据信息以及在第二类指定维度下的特征性行为数据信息;

类别预测单元510,用于基于每一个恶意文件在第一类指定维度下的特征性行为数据信息,获取相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值,并基于获得的每一个恶意文件在第一类指定维度包含的各个指定维度下的特征值,获取相应的维度矩阵,以及将维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别;

同源判定单元520,用于基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件。

较佳的,分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息时,数据获取单元500具体用于:

在指定环境中运行每一个恶意文件,获取每一个恶意文件在运行过程中的行为信息,并从每一个恶意文件对应的行为信息中,分别提取出相应的恶意文件在各个指定维度下的行为数据信息;

从每一个恶意文件在各个指定维度下的行为数据信息中,分别剔除相应的恶意文件在各个指定维度下的非特征性行为数据信息,以获取每一个恶意文件在各个指定维度下的特征性行为数据信息。

较佳的,第一类指定维度至少包括:进程行为、访问行为、域名解析行为和注册表行为四个指定维度,则基于获得的每一个恶意文件在第一类指定维度包含的各个指定维度下的特征值,获取相应的维度矩阵时,类别预测单元具体用于:

以每一个恶意文件为行元素,以相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值为列元素,生成相应的维度矩阵。

较佳的,基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件时,同源判定单元具体用于:

针对归属于同一类别的各个恶意文件,以每两个恶意文件为一同源判定单位,基于每一个同源判定单位包含的两个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应的同源判定单位包含的两个恶意文件是否是同源恶意文件。

较佳的,第二类指定维度至少包括:进程调用关系图和数字签名两个指定维度,则基于每一个同源判定单位包含的两个恶意文件在第二指定维度下的特征性行为数据信息,分别判断相应的同源判定单位包含的两个恶意文件是否是同源恶意文件时,同源判定单元520具体用于:针对每一个同源判定单位包含的两个恶意文件分别执行以下操作:

计算同源判定单位包含的两个恶意文件分别对应的进程调用关系图之间的进程调用关系相似度;

判断进程调用关系相似度是否大于等于预设阈值;

若是,则认定同源判定单位包含的两个恶意文件是相似恶意文件,并在确定同源判定单位包含的两个恶意文件分别对应的数字签名满足预设条件的情况下,认定同源判定单位包含的两个恶意文件是同源恶意文件;

否则,认定同源判定单位包含的两个恶意文件不是同源恶意文件。

较佳的,在确定同源判定单位包含的两个恶意文件分别对应的数字签名满足预设条件的情况下,认定同源判定单位包含的两个恶意文件是同源恶意文件时,同源判定单元520具体用于:

若同源判定单位包含的两个恶意文件均存在数字签名且两个数字签名相同,则认定同源判定单位包含的两个恶意文件是同源恶意文件;

若同源判定单位包含的两个恶意文件中有一个恶意文件存在数字签名,则认定同源判定单位包含的两个恶意文件是同源恶意文件;

若同源判定单位包含的两个恶意文件均不存在数字签名,则认定同源判定单位包含的两个恶意文件是同源恶意文件。

较佳的,同源判定单元520还用于:若同源判定单位包含的两个恶意文件均存在数字签名且两个数字签名不同,则认定同源判定单位包含的两个恶意文件是疑似同源恶意文件。

较佳的,上述装置还包括构建单元530,其中,构建单元530具体用于:针对归属于同一类别的具有同源关系的各个恶意文件进行分组处理,获取各个恶意文件组,并基于每一个恶意文件组中每两个恶意文件之间的进程调用关系相似度,分别对相应的恶意文件组进行聚类处理,以获取每一个恶意文件组分别对应的各个恶意文件类,并基于每一个恶意文件组分别对应的各个恶意文件类,分别为相应的恶意文件组构建同源关系树。

较佳的,获取每一个同源恶意文件组分别对应的各个恶意文件类之后,构建单元530还用于:

从每一个同源恶意文件组分别对应的各个同源恶意文件类中,筛选出对应的进程调用相似度不小于预设下限值的所有同源恶意文件类,并基于筛选出的每一个同源恶意文件类包含的各个恶意文件,构建同源恶意文件家族;

基于同源恶意文件家族包含的每一个恶意文件在第三类指定维度下的特征性行为数据信息,构建同源恶意文件家族的同源恶意文件关系图谱,并基于同源恶意文件关系图谱,确定同源恶意文件家族中存在孤立恶意文件的情况下,排除孤立恶意文件。

较佳的,上述装置还包括输出单元540,其中,输出单元540具体用于:输出各个类别下的所有恶意文件以及每一个恶意文件在各个指定维度下的特征性行为数据信息,各个类别下的所有同源恶意文件以及每一组同源恶意文件包含的两个恶意文件在第二类指定维度下的特征性行为数据信息,以及,各个类别下的同源恶意文件家族以及同源恶意文件家族对应的同源恶意文件关系图谱。

基于同一发明构思,本发明实施例提供了一种非易失性计算机存储介质,该计算机存储介质存储有计算机可执行指令,其中,计算机可执行指令设置为:

分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息,并分别将每一个恶意文件在各个指定维度下的特征性行为数据信息划分为相应的恶意文件在第一类指定维度下的特征性行为数据信息以及在第二类指定维度下的特征性行为数据信息;

基于每一个恶意文件在第一类指定维度下的特征性行为数据信息,获取相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值,并基于获得的每一个恶意文件在第一类指定维度包含的各个指定维度下的特征值,获取相应的维度矩阵,以及将维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别;

基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件。

较佳的,分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息时,上述计算机可执行指令可用于:

在指定环境中运行每一个恶意文件,获取每一个恶意文件在运行过程中的行为信息,并从每一个恶意文件对应的行为信息中,分别提取出相应的恶意文件在各个指定维度下的行为数据信息;

从每一个恶意文件在各个指定维度下的行为数据信息中,分别剔除相应的恶意文件在各个指定维度下的非特征性行为数据信息,以获取每一个恶意文件在各个指定维度下的特征性行为数据信息。

较佳的,第一类指定维度至少包括:进程行为、访问行为、域名解析行为和注册表行为四个指定维度,则基于获得的每一个恶意文件在第一类指定维度包含的各个指定维度下的特征值,获取相应的维度矩阵时,上述计算机可执行指令可用于:

以每一个恶意文件为行元素,以相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值为列元素,生成相应的维度矩阵。

较佳的,基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件时,上述计算机可执行指令可用于:

针对归属于同一类别的各个恶意文件,以每两个恶意文件为一同源判定单位,基于每一个同源判定单位包含的两个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应的同源判定单位包含的两个恶意文件是否是同源恶意文件。

较佳的,第二类指定维度至少包括:进程调用关系图和数字签名两个指定维度,则基于每一个同源判定单位包含的两个恶意文件在第二指定维度下的特征性行为数据信息,分别判断相应的同源判定单位包含的两个恶意文件是否是同源恶意文件时,上述计算机可执行指令可用于针对每一个同源判定单位包含的两个恶意文件分别执行以下操作:

计算同源判定单位包含的两个恶意文件分别对应的进程调用关系图之间的进程调用关系相似度;

判断进程调用关系相似度是否大于等于预设阈值;

若是,则认定同源判定单位包含的两个恶意文件是相似恶意文件,并在确定同源判定单位包含的两个恶意文件分别对应的数字签名满足预设条件的情况下,认定同源判定单位包含的两个恶意文件是同源恶意文件;

否则,认定同源判定单位包含的两个恶意文件不是同源恶意文件。

较佳的,在确定同源判定单位包含的两个恶意文件分别对应的数字签名满足预设条件的情况下,认定同源判定单位包含的两个恶意文件是同源恶意文件时,上述计算机可执行指令可用于:

若同源判定单位包含的两个恶意文件均存在数字签名且两个数字签名相同,则认定同源判定单位包含的两个恶意文件是同源恶意文件;

若同源判定单位包含的两个恶意文件中有一个恶意文件存在数字签名,则认定同源判定单位包含的两个恶意文件是同源恶意文件;

若同源判定单位包含的两个恶意文件均不存在数字签名,则认定同源判定单位包含的两个恶意文件是同源恶意文件。

较佳的,上述计算机可执行指令还用于:若同源判定单位包含的两个恶意文件均存在数字签名且两个数字签名不同,则认定同源判定单位包含的两个恶意文件是疑似同源恶意文件。

较佳的,上述计算机可执行指令还用于:针对归属于同一类别的具有同源关系的各个恶意文件进行分组处理,获取各个恶意文件组,并基于每一个恶意文件组中每两个恶意文件之间的进程调用关系相似度,分别对相应的恶意文件组进行聚类处理,以获取每一个恶意文件组分别对应的各个恶意文件类,并基于每一个恶意文件组分别对应的各个恶意文件类,分别为相应的恶意文件组构建同源关系树。

较佳的,获取每一个同源恶意文件组分别对应的各个恶意文件类之后,上述计算机可执行指令还用于:

从每一个同源恶意文件组分别对应的各个同源恶意文件类中,筛选出对应的进程调用相似度不小于预设下限值的所有同源恶意文件类,并基于筛选出的每一个同源恶意文件类包含的各个恶意文件,构建同源恶意文件家族;

基于同源恶意文件家族包含的每一个恶意文件在第三类指定维度下的特征性行为数据信息,构建同源恶意文件家族的同源恶意文件关系图谱,并基于同源恶意文件关系图谱,确定同源恶意文件家族中存在孤立恶意文件的情况下,排除孤立恶意文件。

较佳的,上述计算机可执行指令还用于:输出各个类别下的所有恶意文件以及每一个恶意文件在各个指定维度下的特征性行为数据信息,各个类别下的所有同源恶意文件以及每一组同源恶意文件包含的两个恶意文件在第二类指定维度下的特征性行为数据信息,以及,各个类别下的同源恶意文件家族以及同源恶意文件家族对应的同源恶意文件关系图谱。

基于同一发明构思,本发明实施例还提供了一种如图6所示的用于执行上述恶意文件的同源判定方法的电子设备,该电子设备至少包括:至少一个处理器600,以及存储器610;其中,

存储器610,用于存储上述至少一个处理器600执行的指令;

上述至少一个处理器600,用于执行存储在存储器610中的指令,以便分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息,并分别将每一个恶意文件在各个指定维度下的特征性行为数据信息划分为相应的恶意文件在第一类指定维度下的特征性行为数据信息以及在第二类指定维度下的特征性行为数据信息;基于每一个恶意文件在第一类指定维度下的特征性行为数据信息,获取相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值,并基于获得的每一个恶意文件在第一类指定维度包含的各个指定维度下的特征值,获取相应的维度矩阵,以及将维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别;基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件。

较佳的,用于执行上述恶意文件的同源判定的电子设备还可以包括:输入装置620和输出装置630,其中,输入装置620可接收输入的数字或字符信息,以及产生与上述恶意文件的同源判定装置的用户设置以及功能控制有关的关键信号输入;输出装置630包括显示屏等显示设备。

较佳的,处理器600、存储器610、输入装置620和输出装置630可以通过总线或者其他方式连接。

较佳的,分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息时,上述指令可设置为执行以下操作:

在指定环境中运行每一个恶意文件,获取每一个恶意文件在运行过程中的行为信息,并从每一个恶意文件对应的行为信息中,分别提取出相应的恶意文件在各个指定维度下的行为数据信息;

从每一个恶意文件在各个指定维度下的行为数据信息中,分别剔除相应的恶意文件在各个指定维度下的非特征性行为数据信息,以获取每一个恶意文件在各个指定维度下的特征性行为数据信息。

较佳的,第一类指定维度至少包括:进程行为、访问行为、域名解析行为和注册表行为四个指定维度,则基于每一个恶意文件在第一类指定维度下的特征性行为数据信息,分别获取相应的恶意文件对应的维度矩阵时,上述指令可设置为执行以下操作:

以每一个恶意文件为行元素,以相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值为列元素,生成相应的维度矩阵。

较佳的,基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件时,上述指令可设置为执行以下操作:

针对归属于同一类别的各个恶意文件,以每两个恶意文件为一同源判定单位,基于每一个同源判定单位包含的两个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应的同源判定单位包含的两个恶意文件是否是同源恶意文件。

较佳的,第二类指定维度至少包括:进程调用关系图和数字签名两个指定维度,则基于每一个同源判定单位包含的两个恶意文件在第二指定维度下的特征性行为数据信息,分别判断相应的同源判定单位包含的两个恶意文件是否是同源恶意文件时,上述指令可设置为针对每一个同源判定单位包含的两个恶意文件分别执行以下操作:

计算同源判定单位包含的两个恶意文件分别对应的进程调用关系图之间的进程调用关系相似度;

判断进程调用关系相似度是否大于等于预设阈值;

若是,则认定同源判定单位包含的两个恶意文件是相似恶意文件,并在确定同源判定单位包含的两个恶意文件分别对应的数字签名满足预设条件的情况下,认定同源判定单位包含的两个恶意文件是同源恶意文件;

否则,认定同源判定单位包含的两个恶意文件不是同源恶意文件。

较佳的,在确定同源判定单位包含的两个恶意文件分别对应的数字签名满足预设条件的情况下,认定同源判定单位包含的两个恶意文件是同源恶意文件时,上述指令可设置为执行以下操作:

若同源判定单位包含的两个恶意文件均存在数字签名且两个数字签名相同,则认定同源判定单位包含的两个恶意文件是同源恶意文件;

若同源判定单位包含的两个恶意文件中有一个恶意文件存在数字签名,则认定同源判定单位包含的两个恶意文件是同源恶意文件;

若同源判定单位包含的两个恶意文件均不存在数字签名,则认定同源判定单位包含的两个恶意文件是同源恶意文件。

较佳的,上述指令还可设置为执行以下操作:若同源判定单位包含的两个恶意文件均存在数字签名且两个数字签名不同,则认定同源判定单位包含的两个恶意文件是疑似同源恶意文件。

较佳的,上述指令还可设置为执行以下操作:针对归属于同一类别的具有同源关系的各个恶意文件进行分组处理,获取各个恶意文件组,并基于每一个恶意文件组中每两个恶意文件之间的进程调用关系相似度,分别对相应的恶意文件组进行聚类处理,以获取每一个恶意文件组分别对应的各个恶意文件类,并基于每一个恶意文件组分别对应的各个恶意文件类,分别为相应的恶意文件组构建同源关系树。

较佳的,获取每一个同源恶意文件组分别对应的各个恶意文件类之后,上述指令可设置为执行以下操作:

从每一个同源恶意文件组分别对应的各个同源恶意文件类中,筛选出对应的进程调用相似度不小于预设下限值的所有同源恶意文件类,并基于筛选出的每一个同源恶意文件类包含的各个恶意文件,构建同源恶意文件家族;

基于同源恶意文件家族包含的每一个恶意文件在第三类指定维度下的特征性行为数据信息,构建同源恶意文件家族的同源恶意文件关系图谱,并基于同源恶意文件关系图谱,确定同源恶意文件家族中存在孤立恶意文件的情况下,排除孤立恶意文件。

较佳的,上述指令可设置为执行以下操作:输出各个类别下的所有恶意文件以及每一个恶意文件在各个指定维度下的特征性行为数据信息,各个类别下的所有同源恶意文件以及每一组同源恶意文件包含的两个恶意文件在第二类指定维度下的特征性行为数据信息,以及,各个类别下的同源恶意文件家族以及同源恶意文件家族对应的同源恶意文件关系图谱。

较佳的,本发明实施例提供的电子设备以多种形式存在,具体地,可以包括但不限于:

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

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

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

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

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

综上所述,本发明实施例中,分别获取每一个恶意文件在各个指定维度下的特征性行为数据信息,并分别将每一个恶意文件在各个指定维度下的特征性行为数据信息划分为相应的恶意文件在第一类指定维度下的特征性行为数据信息以及在第二类指定维度下的特征性行为数据信息;基于每一个恶意文件在第一类指定维度下的特征性行为数据信息,获取相应的恶意文件在第一类指定维度包含的各个指定维度下的特征值,并基于获得的每一个恶意文件在第一类指定维度包含的各个指定维度下的特征值,获取相应的维度矩阵,以及将维度矩阵输入预先建立的类别预测模型,获取每一个恶意文件所属的类别;基于每一个类别下的各个恶意文件在第二类指定维度下的特征性行为数据信息,分别判断相应类别下的各个恶意文件之间是否是同源恶意文件。这样,通过对多个维度下的特征性行为数据信息进行融合分析,能够准确地判定出同源恶意文件,有效地提高了同源判定结果的准确度,避免了由于仅针对恶意文件的比特序列进行分析,导致分析结果不可靠、同源判定结果的准确度较低的问题。而且,在确定各个恶意文件所属的类别之后,针对归属于同一类别的各个恶意文件进行同源判定,降低了同源判定的计算量,进一步地提高了同源判定结果的准确性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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