一种样本关联性检测方法、系统及电子设备与流程

文档序号:12597108阅读:196来源:国知局
一种样本关联性检测方法、系统及电子设备与流程

本申请要求武汉安天信息技术有限责任公司于2015年12月31日提交的、发明名称为“一种基于标签传播的样本关联性检测方法及系统”的、中国专利申请号“201511015286.1”的优先权。

技术领域

本发明涉及信息技术领域,特别涉及一种样本关联性检测方法、系统及电子设备。



背景技术:

目前样本关联性的检测方面大多在代码层面进行分析,但是代码层面的启发性更多作用于有功能或代码开发同源性的场景,而在现实对抗当中,随着攻击者的手段越加丰富,高级针对性威胁的增多,越来越多的恶意代码为了更好的绕过检测和对抗,故意采取了针对性的开发策略来避免代码层面的关联性检测。通过对现有技术的大量分析,我们发现虽然恶意代码的开发手段不同,但外在的欺骗技巧、伪装技巧以及行为表现等多方面的非代码特征或人可察觉的部分是有很好的关联性的,因此,实有必要研究一种新的样本关联性检测技术,以改善现有技术的不足。



技术实现要素:

有鉴于此,本发明提出一种样本关联性检测方法及系统,提供的样本关联关系更准确,启发性更强,能广泛应用于恶意代码检测、恶意代码分析等领域。

一种样本关联性检测方法,包括:

收集已知样本文件,组成样本集;

对样本集在多个维度进行特征提取;

分别计算样本集中两样本间的关联度,如果关联度大于第一预设值,则两样本间具有关联性,否则两样本间不具有关联性;

分别判断样本集中各样本在各维度上特征是否相同;如果是,则认为样本在对应维度上的特征具有关联性,并给出各关联特征间的关联度值;否则样本在对应维度上不具有关联性;

根据样本间的关联性及样本在对应维度上特征的关联性,以样本及特征为节点,以具有关联性的样本及特征的连线为边,构建关联网络图;

获取待检测样本在各维度上的特征,并计算待检测样本与样本集中样本的关联度,将所述待检测样本在所述各维度上的特征及待检测样本嵌入构建的关联网络图,连线构成新关联网络图;

计算待检测样本在新关联网络图中与各连线上样本的关联度值乘积,并判断所述关联度值乘积是否超过第二预设值,如果超过第二预设值,则向用户输出对应连线上的特征所对应的样本。

所述的方法中,所述分别计算样本集中两样本间的关联度可以为:遍历获取各样本的代码中的类名及方法名,比较两样本间类名,如类名相同,则进一步计算两样本在对应类名中的所有方法名交集个数,依次累加各相同类名中方法名交集数量,除以两样本所有方法名并集数量,即为两样本间的关联度。

所述方法中,所述各关联特征间的关联度值相同。

所述的方法中,所述对样本集在多个维度进行特征提取,至少包括样本可提取的静态、动态信息,以及基于静态、动态信息处理后得到的其他信息作为特征,而这些特征可进一步细化为:样本来源维度、样本标识维度及样本名称维度。具体的:

所述样本来源维度可以包括:ip、sp、email、url或域名的whois信息等;

所述样本标识维度可以包括:样本资源文件或图标的hash值,需要说明的是,这里的hash算法,除了具有唯一性标示MD5、SHA1、crc32算法等,还包括模糊hash、局部敏感hash算法等;

所述样本名称维度可以包括:样本hash、包名、程序名、文件签名或证书,需要说明的是,这里的样本hash算法,除了具有唯一性标示MD5、SHA1、crc32算法等,还包括模糊hash、局部敏感hash算法等。

在所述输出对应连线上的特征所对应的样本之后,所述样本关联性检测方法还包括:

根据所述输出对应连线上的特征所对应的样本,判断所述待检测样本是否为恶意样本。

一种样本关联性检测系统,包括:

样本收集模块,用于收集已知白样本文件及黑样本文件,组成样本集;

特征提取模块,用于对样本集在多个维度进行特征提取;

样本关联度计算模块,用于分别计算样本集中两样本间的关联度,如果关联度大于第一预设值,则两样本间具有关联性,否则两样本间不具有关联性;

特征判断模块,用于分别判断样本集中各样本在各维度上特征是否相同;如果是,则认为样本在对应维度上的特征具有关联性,并给出各关联特征间的关联度值;否则样本在对应维度上不具有关联性;

关联网络图构建模块,用于根据样本间的关联性及样本在对应维度上特征的关联性,以样本及特征为节点,以具有关联性的样本及特征的连线为边,构建关联网络图;

待检测样本关联模块,用于获取待检测样本在各维度上的特征,并计算待检测样本与样本集中样本的关联度,将所述待检测样本在所述各维度上的特征及待检测样本嵌入构建的关联网络图,连线构成新关联网络图;

结果输出模块,用于计算待检测样本在新关联网络图中与各连线上样本的关联度值乘积,并判断所述关联度值乘积是否超过第二预设值,如果超过第二预设值,则向用户输出对应连线上的特征所对应的样本。

所述的系统中,所述分别计算样本集中两样本间的关联度具体为:遍历获取各样本的代码中的类名及方法名,比较两样本间类名,如类名相同,则进一步计算两样本在对应类名中的所有方法名交集个数,依次累加各相同类名中方法名交集数量,除以两样本所有方法名并集数量,即为两样本间的关联度。

所述系统中,所述各关联特征间的关联度值相同。

所述的系统中,所述对样本集在多个维度进行特征提取,至少包括样本可提取的静态、动态信息,以及基于静态、动态信息处理后得到的其他信息作为特征,而这些特征可进一步细化为:样本来源维度、样本标识维度及样本名称维度,具体的:

所述样本来源维度可以包括:ip、sp、email、url或域名的whois信息;

所述样本标识维度可以包括:样本资源文件或图标的hash值,需要说明的是,这里的hash算法,除了具有唯一性标示MD5、SHA1、crc32算法等,还包括模糊hash、局部敏感hash算法;

所述样本名称维度可以包括:样本hash、包名、程序名、文件签名或证书,需要说明的是,这里的样本hash算法,除了具有唯一性标示MD5、SHA1、crc32算法等,还包括模糊hash、局部敏感hash算法。

所述样本关联性检测系统还包括:

恶意样本判断模块,用于在所述结果输出模块输出对应连线上的特征所对应的样本之后,根据所述输出对应连线上的特征所对应的样本,判断所述待检测样本是否为恶意样本。

本发明还提出了一种电子设备,包括:一个或者多个处理器;存储器;一个或多个程序,所述一个或者多个程序存储在所述存储器中,当被所述一个或者多个处理器执行时进行如下操作:

收集已知白样本文件及黑样本文件,组成样本集;

对所述样本集在多个维度进行特征提取;

分别计算所述样本集中两样本之间的关联度,如果所述关联度大于第一预设值,则判定所述两样本之间具有关联性,否则判定所述两样本之间不具有关联性;

分别判断所述样本集中各样本在各维度上的特征是否相同,如果是,则认为样本在对应维度上的特征具有关联性,并给出各关联特征间的关联度值,否则判定样本在对应维度上的特征不具有关联性;

根据所述样本之间的关联性以及所述样本在对应维度上特征的关联性,以样本及特征为节点,以具有关联性的样本及特征的连线为边,构建关联网络图;

获取待检测样本在所述各维度上的特征,并计算所述待检测样本与所述样本集中样本的关联度,并将所述待检测样本在所述各维度上的特征及待检测样本嵌入所述关联网络图中,连线构成新关联网络图;

计算所述待检测样本在所述新关联网络图中与各连线上样本之间的关联度值乘积,并判断所述关联度值乘积是否超过第二预设值,如果所述关联度值乘积超过所述第二预设值,则输出对应连线上的特征所对应的样本。

本发明还提出了一种存储介质,用于存储应用程序,所述应用程序用于在运行时执行本发明所述的样本关联性检测方法。

针对恶意应用开发者故意从代码层面绕过检测和对抗的现状,本发明提出的样本关联性检测方法及系统,包括:获取样本集,并计算样本集在各维度的特征及关联度,以样本及样本特征为节点,以具有关联度的样本及节点的连线围边构建关联网络图,获取待检测样本的特征,并将其嵌入关联网络图,计算待检测样本在新关联网络图中与各连线上样本的关联度值乘积,若大于第二预设值,则输出对应连线上的样本。本发明通过非代码特征关联性检测,具有关联关系更准确,启发性更强等优点,能广泛应用于恶意代码检测、恶意代码分析等领域。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种样本关联性检测方法流程图;

图2为依据本发明方法构建关联网络图示意图;

图3为依据本发明方法构建新关联网络图示意图;

图4为本发明一种样本关联性检测系统结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。

本发明提出了一种样本关联性检测方法、系统及电子设备,通过构建样本间关联网络图及对样本间关联性权值的计算,得到待检测样本与已知样本的关联性,从而为恶意代码判断、分析提供辅助信息。

在一些实施例中一种样本关联性检测方法,如图1所示,包括:

S101收集已知样本文件,组成样本集。

在恶意代码检测领域,已知样本可以为白样本(即官方发布没有恶意代码的正常样本)或者黑样本(包含恶意代码的样本),但是为了提高恶意代码检测的准确度,即充分说明待检测样本分别与白样本和黑样本的关联性,优选样本集中同时包含白样本文件及黑样本文件。

S102对样本集在多个维度进行特征提取。

作为一种示例,对样本集在多个维度进行特征提取,至少包括样本可提取的静态、动态信息,以及基于静态、动态信息处理后得到的其他信息作为特征,而这些特征可进一步细化为:样本来源维度、样本标识维度及样本名称维度等:

样本来源维度可以包括:ip、sp、email、url或域名的whois信息等;

样本标识维度可以包括:样本资源文件或图标的hash值,需要说明的是,这里的hash算法,除了具有唯一性标示MD5、SHA1、crc32算法等,还包括模糊hash、局部敏感hash算法等;

样本名称维度可以包括:样本hash、包名、程序名、文件签名或证书等,需要说明的是,这里的样本hash算法,除了具有唯一性标示MD5、SHA1、crc32算法等,还包括模糊hash、局部敏感hash算法。

S103分别计算样本集中两样本之间的关联度,如果关联度大于第一预设值,则判定两样本之间具有关联性。

可以理解的,分别计算样本集中两样本间的关联度的方法有多种,在本实施例中示出一种使用方便、检测效率高的方法。具体的:遍历获取各样本的代码中的类名及方法名,比较两样本之间类名,如果两样本之间类名相同,则进一步计算两样本在对应类名中的所有方法名交集数量,依次累加各相同类名中方法名,得到各相同类名中方法名交集总是数,用得到的各相同类名中方法名交集总数除以两样本的所有方法名并集数量,得到的数值即为两样本之间的关联度。在本实施例中,将第一预设值设为0.5。例如:现有白样本1的情况如表1所示:

表1

样本2的情况如表2所示:

表2

由表可知,白样本1与黑样本2具有类名2、类名3这两个相同的类名,类名2、类名3拥有的方法名交集总是数5(即方法201、方法202、方法203、方法301、方法302),两样本的所有方法名并集数为10(即方法101、方法102、方法103、方法201、方法202、方法203、方法301、方法302、方法303、方法304),则两样本间的关联度为5/10=0.5。

可以理解,在本发明的实施例中,如果关联度小于或等于第一预设值,则可判定两样本之间不具有关联性。

再次指出,现有技术正越来越多的采取针对性的开发策略来避免代码层面的关联性检测,比如很多仿冒应用仅仅利用了正版应用的资源文件进行仿冒,并未直接从代码层面进行仿冒,因此,仅仅通过代码层面的内容来判断样本关联性是不可靠的,还需要从多个其他维度判断样本关联性。可以理解的,步骤S102也可以放在步骤S103之后执行。代码层面的启发性更多作用于有功能或代码开发同源性的场景,而在现实对抗当中,随着攻击者的手段越加丰富,高级针对性威胁的增多,越来越多的恶意代码为了更好的绕过检测和对抗,

S104分别判断样本集中各样本在相应维度上的特征是否相同;如果两样本在至少一个维度上如ip、email、url、具有相同资源文件、或图标相同等的特征相同,则认为样本在对应维度上的特征具有关联性,并给出各关联特征间的关联度值;否则判定样本在对应维度上的特征不具有关联性。

可以理解,一般可以根据经验值来设置各维度上的关联特征间的关联度值,在本实施例中,除样本与样本间的关联度需要单独计算之外,其他各关联特征间的关联度值相同,例如,可均设置为0.5。

S105根据样本之间的关联性及样本在对应维度上的特征的关联性,以样本及特征为节点,以具有关联性的样本及特征的连线为边,构建关联网络图;

举例来说,如图2所示,如经计算后,样本1与样本4的关联度为0.7,样本2与样本3的关联度为0.85,样本1具有特征图标1及ip1,样本2具有特征sp1及图标1,样本3具有特征包名1及图标1,样本4具有图标1,则构建关联网络图,各关联特征间的关联度值为0.5。

至此,上述步骤S101-S105完成了关联网络图的构建。接下来将应用该关联网络图来实现对待检测样本进行样本关联性的检测。

S106获取待检测样本在各维度上的特征,并计算待检测样本与样本集中样本的关联度,若满足要求,则将所述待检测样本在所述各维度上的特征及待检测样本嵌入构建的关联网络图中,连线构成新关联网络图;

需要说明的是,本步骤中的所述满足要求可理解为:待检测样本与样本集中样本之间具有关联性,即待检测样本与样本集中样本的关联度大于第一预设值。

举例来说,如图3所示,经计算,待检测样本与样本2之间的关联度为0.95,与其他样本的关联度均小于0.5,且待检测样本具有特征sp1,则嵌入构建的关联网络图后,连线构成的新关联网络图。

S107计算待检测样本在新关联网络图中与各连线上样本之间的关联度值乘积,并判断所述关联度值乘积是否超过第二预设值,如0.2,如果关联度值乘积超过第二预设值,则输出对应连线上的特征所对应的样本,否则放弃所述连线上的样本。

例如,以如图3所示的新关联网络图为例,经计算得到,待检测样本与样本3之间的权值乘积为0.95*0.85=0.8075,大于0.2,则待检测样本与样本2及样本3均存在关联。将样本2及样本3输出给用户。

可以理解的,本发明能应用于样本恶意性检测,如果某样本恶意性未知,可分别计算该样本与图谱(即为上述构成的新关联网络图)中所有样本的关联度,并选出关联度大于第二预设值的样本,可根据关联度最大的样本情况来预判该未知样本的恶意性。

进一步地,在本发明的一个实施例中,在输出对应连线上的特征所对应的样本之后,该样本关联性检测方法还可包括:根据该输出对应连线上的特征所对应的样本,判断待检测样本是否为恶意样本。

其中,根据输出的样本来判断待检测样本是否为恶意样本的方式有很多种,以下将给出三种不同示例:

作为一种示例,可先从输出的样本中找出与待检测样本关联度最大的样本,之后,可根据该样本的类型(如是恶意样本或者是正常样本)来判断该待检测样本是否为恶意样本。例如,现有待检测样本X,在图谱中与之关联度大于第二预设值的样本分别有A、B、C、D、E,其中关联度最大的为C,已知C为恶意样本,则预判X也是恶意样本。

作为另一种示例,根据所有满足第二预设值的样本(即上述输出的样本)进行投票,例如,输出样本分别为A、B、C、D、E,其中,样本A、C、D、E均为恶意样本,而B为正常样本,与待检测样本X关联的恶意样本居多,因而预判待检测样本X为恶意样本。

作为又一种示例,在某种场景下,本发明可不必直接给出待检测样本的恶意性判定结果,而是给分析人员推送该输出样本A、B、C、D、E,并由分析人员根据少量样本集对待检测样本,进行更加高效、精准的判定。

由此,根据输出具有关联性的样本来判断待检测样本是否为仿冒文件,对恶意代码的检测具有辅助作用。

本发明的优势在于,通过样本及特征等多信息的关联,给出待检测样本与已知各样本间的关联性,提供给用户,用于进一步判断待检测样本是否为恶意或仿冒样本,同时,如果在关联过程中发现大量恶意样本具有相同的特征,则可以考虑将该特征加入反病毒引擎的规则库。

与上述几种实施例提供的样本关联性检测方法相对应,本发明的一种实施例还提供一种样本关联性检测系统,由于本发明实施例提供的样本关联性检测系统与上述几种实施例提供的样本关联性检测方法相对应,因此在前述样本关联性检测方法的实施方式也适用于本实施例提供的样本关联性检测系统,在本实施例中不再详细描述。图4为本发明一种样本关联性检测系统结构示意图。如图4所示,包括:

样本收集模块401,用于收集已知白样本文件及黑样本文件,组成样本集。

特征提取模块402,用于对样本集在多个维度进行特征提取。所述的系统中,所述对样本集在多个维度进行特征提取,至少包括:样本来源维度、样本标识维度及样本名称维度;其中,所述样本来源维度包括:ip、sp、email、url或域名的whois信息;所述样本标识维度包括:样本资源文件或图标的MD5值;所述样本名称维度包括:样本包名、程序名、文件签名或证书。

样本关联度计算模块403,用于分别计算样本集中两样本之间的关联度,如果该关联度大于第一预设值,则判定两样本之间具有关联性,否则判定两样本之间不具有关联性。

所述的系统中,所述样本关联度计算模块403分别计算样本集中两样本间的关联度的具体实现过程可如下:遍历获取各样本的代码中的类名及方法名,比较两样本间类名,如类名相同,则进一步计算两样本在对应类名中的所有方法名交集个数,依次累加各相同类名中方法名交集数量,除以两样本的所有方法名并集数量,即为两样本之间的关联度。

特征判断模块404,用于分别判断样本集中各样本在各维度上特征是否相同;如果是,则认为样本在对应维度上的特征具有关联性,并给出各关联特征间的关联度值;否则判定样本在对应维度上的特征不具有关联性。所述系统中,所述各关联特征间的关联度值相同。

关联网络图构建模块405,用于根据样本间及样本在对应维度上的特征的关联性,以样本及特征为节点,以具有关联性的样本及特征的连线为边,构建关联网络图。

待检测样本关联模块406,用于获取待检测样本在各维度上的特征,并计算待检测样本与样本集中样本的关联度,并将所述待检测样本在所述各维度上的特征及待检测样本嵌入构建的关联网络图,连线构成新关联网络图。

结果输出模块407,用于计算待检测样本在新关联网络图中与各连线上样本之间的关联度值乘积,并判断所述关联度值乘积是否超过第二预设值,如果关联度值乘积超过第二预设值,则向用户输出对应连线上的特征所对应的样本。

为了提供本发明的可用性以及可行性,为了辅助恶意代码的检测,可选地,在本发明的一个实施例中,该样本关联性检测系统还可包括:恶意样本判断模块。其中,恶意样本判断模块可用于在结果输出模块407输出对应连线上的特征所对应的样本之后,根据输出对应连线上的特征所对应的样本,判断待检测样本是否为恶意样本。

为了实现上述实施例,本发明还提出了一种电子设备,包括:一个或者多个处理器;存储器;一个或多个程序,所述一个或者多个程序存储在所述存储器中,当被所述一个或者多个处理器执行时进行如下操作:

S101’,收集已知白样本文件及黑样本文件,组成样本集;

S102’,对所述样本集在多个维度进行特征提取;

S103’,分别计算所述样本集中两样本之间的关联度,如果所述关联度大于第一预设值,则判定所述两样本之间具有关联性,否则判定所述两样本之间不具有关联性;

S104’,分别判断所述样本集中各样本在各维度上的特征是否相同,如果是,则认为样本在对应维度上的特征具有关联性,并给出各关联特征间的关联度值,否则判定样本在对应维度上的特征不具有关联性;

S105’,根据所述样本之间的关联性以及所述样本在对应维度上特征的关联性,以样本及特征为节点,以具有关联性的样本及特征的连线为边,构建关联网络图;

S106’,获取待检测样本在所述各维度上的特征,并计算所述待检测样本与所述样本集中样本的关联度,并将所述待检测样本在所述各维度上的特征及待检测样本嵌入所述关联网络图中,连线构成新关联网络图;

S107’,计算所述待检测样本在所述新关联网络图中与各连线上样本之间的关联度值乘积,并判断所述关联度值乘积是否超过第二预设值,如果所述关联度值乘积超过所述第二预设值,则输出对应连线上的特征所对应的样本。

为了实现上述实施例,本发明还提出了一种存储介质,用于存储应用程序,该应用程序用于在运行时执行本发明上述任一个实施例所述的样本关联性检测方法。

本发明的优势在于,通过样本及特征等多信息的关联,给出待检测样本与已知各样本间的关联性,提供给用户,用于进一步判断待检测样本是否为恶意或仿冒样本,同时,如果在关联过程中发现大量恶意样本具有相同的特征,则可以考虑将该特征加入反病毒引擎的规则库。

本发明提出一种样本关联性检测方法及系统,包括:获取样本集,并计算样本集在各维度的特征及关联度,以样本及样本特征为节点,以具有关联度的样本及节点的连线围边构建关联网络图,获取待检测样本的特征,并将其嵌入关联网络图,计算待检测样本在新关联网络图中与各连线上样本的关联度值乘积,若大于第二预设值,则输出对应连线上的样本。通过本发明的方法,能够利用代码及样本属性进行更多信息的判断,关联关系更准确,启发性更强。能够有效的输出具有关联性的样本,用于进一步判断待检测样本是否为仿冒文件,对恶意代码的检测具有辅助作用。

虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

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