本发明专利技术公开了一种海量恶意样本同源性判定方法及系统,包括:对恶意样本进行反编译得到smali文件并提取类名和方法名;以类名和方法名的组合作为特征维度计算各恶意样本的simhash指纹;基于MapReduce模式计算各恶意样本的simhash指纹之间的海明距离;判定海明距离小于等于预设阈值的恶意样本属于同源样本;其中,所述类名为程序代码中抽象对象的名称,所述方法名为程序代码中抽象对象中包含的函数名。本发明专利技术所述技术方案能够有效针对大规模样本进行同源性分析处理,不仅缩短了处理时间,而且提高了同源性判定的准确性。
【技术实现步骤摘要】
本专利技术涉及信息安全
,尤其涉及一种海量恶意样本同源性判定方法及系统。
技术介绍
最早在2011年,卡巴斯基在其分析报告中指出,以震网和毒区两个攻击病毒中包含一部分相同代码为依据,推断它们来自同一编写者,从此拉开了恶意代码同源性检测与判定的序幕。但是早期的检测方法是以大量人工分析为基础,分析效率低,工作周期较长;随后,美国Charles River Analysistics公司基于语言学和计算机逆向工程等技术,开发了恶意代码分析系统,通过追溯代码演化发掘恶意代码样本之间的同源性,但该方法是基于情报分析平台palantir建立的,无法满足一般应用条件。2012年,官强、刘星基于恶意代码的静态特征分别提出同源性自动判定技术,但是他们的方法均未考虑到加壳恶意样本的处理。2013年,美国曼迪昂特公司提出利用恶意代码特征追踪攻击源头的方法分析同源性,但是该分析需要先对目标进行长期跟踪,分析周期较长。2015年,康绯提出基于行为特征相似性分析恶意代码的同源性,但其并没有考虑行为特征的上下文环境,即将不同环境下的同一行为视为具有相同的特征和目的,显然不甚合理。同年,张永铮提出基于调用习惯的恶意代码自动化同源判定方法,但该方法在解析代码的方法调用链上时间复杂度较高,不适用于分析海量恶意代码。综上所述,现有方法存在如下缺陷:1、较早的同源性分析方法都是建立在对捕获样本深入的人工分析基础之上,因此需要投入较大的人力和时间;2、未考虑到加壳样本,技术缺乏通用性;3、现行方法中,均没有适用于海量恶意代码样本同源性判定的技术。
技术实现思路
本专利技术所述的技术方案通过计算各恶意样本的simhash指纹,并且利用MapReduce模式计算各恶意样本间的海明距离,不仅能够缩短处理大规模恶意样本所需的时间,而且提高了同源性判定的准确性。本专利技术采用如下方法来实现:一种海量恶意样本同源性判定方法,包括:对恶意样本进行反编译得到smali文件并提取类名和方法名;以类名和方法名的组合作为特征维度计算各恶意样本的simhash指纹;基于MapReduce模式计算各恶意样本的simhash指纹之间的海明距离;判定海明距离小于等于预设阈值的恶意样本属于同源样本;其中,所述类名为程序代码中抽象对象的名称,所述方法名为程序代码中抽象对象中包含的函数名。进一步地,所述以类名和方法名的组合作为特征维度计算各恶意样本的simhash指纹为:以类名和方法名的组合作为特征维度;计算恶意样本中所有特征维度的MD5值;对所有MD5值进行加权、累加和降维操作后生成该恶意样本唯一标识的64位simhash指纹。上述方法中,所述基于MapReduce模式计算各恶意样本的simhash指纹之间的海明距离为:对各恶意样本的simhash指纹进行分块操作;将各分块作为key,将simhash指纹本身作为value进行存储;对同一分块位的key进行聚合处理;以聚合处理后得到的simhash两两组合为key,进行去重处理;计算去重处理后的simhash两两组合的海明距离。更进一步地,所述判定海明距离小于等于预设阈值的恶意样本属于同源样本为:基于K-means算法对海明距离小于等于3的恶意样本进行聚类处理并判定属于同源样本。其中,所述提取类名和方法名之前还包括:剔除预先收集的第三方库和加壳样本包名。本专利技术可以采用如下系统来实现:一种海量恶意样本同源性判定系统,包括:反编译模块,用于对恶意样本进行反编译得到smali文件并提取类名和方法名;simhash指纹生成模块,用于以类名和方法名的组合作为特征维度计算各恶意样本的simhash指纹;海明距离计算模块,用于基于MapReduce模式计算各恶意样本的simhash指纹之间的海明距离;同源样本判定模块,用于判定海明距离小于等于预设阈值的恶意样本属于同源样本;其中,所述类名为程序代码中抽象对象的名称,所述方法名为程序代码中抽象对象中包含的函数名。进一步地,所述simhash指纹生成模块,具体用于:以类名和方法名的组合作为特征维度;计算恶意样本中所有特征维度的MD5值;对所有MD5值进行加权、累加和降维操作后生成该恶意样本唯一标识的64位simhash指纹。上述系统中,所述海明距离计算模块,具体用于:对各恶意样本的simhash指纹进行分块操作;将各分块作为key,将simhash指纹本身作为value进行存储;对同一分块位的key进行聚合处理;以聚合处理后得到的simhash两两组合为key,进行去重处理;计算去重处理后的simhash两两组合的海明距离。更进一步地,所述同源样本判定模块,具体用于:基于K-means算法对海明距离小于等于3的恶意样本进行聚类处理并判定属于同源样本。其中,所述提取类名和方法名之前还包括:剔除预先收集的第三方库和加壳样本包名。综上,本专利技术给出一种海量恶意样本同源性判定方法及系统,通过提取反编译后文件的类名和方法名,并以类名和方法名组合为一个特征维度,进而计算各恶意样本的simhash指纹;基于MapReduce模式计算各恶意样本的simhash指纹之间的海明距离;最终判定海明距离小于等于预设阈值的恶意样本属于同源样本。有益效果为:本专利技术所述技术方案通过提取类名和方法名,并以类名加方法名作为恶意样本的特征维度,从而从本质上揭示了恶意样本的内部特征,进而提升了同源性判定的准确性;同时,本专利技术所述技术方案基于MapReduce模式进行并行计算,通过分块、聚合、去重等操作,最终极大缩减了海明距离的计算量,从而有效提升了同源性判定的效率。附图说明为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种海量恶意样本同源性判定方法实施例流程图;图2为本专利技术提供的一种海量恶意样本同源性判定系统实施例结构图。具体实施方式本专利技术给出了一种海量恶意样本同源性判定方法及系统实施例,为了使本
的人员更好地理解本专利技术实施例中的技术方案,并使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术中技术方案作进一步详细的说明:本专利技术首先提供了一种海量恶意样本同源性判定方法实施例,如图1所示,包括:S101对恶意样本进行反编译得到smali文件并提取类名和方法名;S102以类名和方法名的组合作为特征维度计算各恶意样本的simhash指纹;其中,各恶意样本中包含多个类名和方法名组合;所述一个特征维度为一组类名和方法名组合成的字符串;S103基于MapReduce模式计算各恶意样本的simhash指纹之间的海明距离;S104判定海明距离小于等于预设阈值的恶意样本属于同源样本;其中,所述类名为程序代码中抽象对象的名称,所述方法名为程序代码中抽象对象中包含的函数名。优选地,所述以类名和方法名的组合作为特征维度计算各恶意样本的simhash指纹为:以类名和方法名的组合作为特征维度;计算恶意样本中所有特征维度的MD5值;对所有MD5值进行加权、累加和降维操作后生成该恶意样本唯一标识的64位simhash指纹。上述方法实施例中,所本文档来自技高网...
【技术保护点】
一种海量恶意样本同源性判定方法,其特征在于,包括:对恶意样本进行反编译得到smali文件并提取类名和方法名;以类名和方法名的组合作为特征维度计算各恶意样本的simhash指纹;基于MapReduce模式计算各恶意样本的simhash指纹之间的海明距离;判定海明距离小于等于预设阈值的恶意样本属于同源样本;其中,所述类名为程序代码中抽象对象的名称,所述方法名为程序代码中抽象对象中包含的函数名。
【技术特征摘要】
1.一种海量恶意样本同源性判定方法,其特征在于,包括:对恶意样本进行反编译得到smali文件并提取类名和方法名;以类名和方法名的组合作为特征维度计算各恶意样本的simhash指纹;基于MapReduce模式计算各恶意样本的simhash指纹之间的海明距离;判定海明距离小于等于预设阈值的恶意样本属于同源样本;其中,所述类名为程序代码中抽象对象的名称,所述方法名为程序代码中抽象对象中包含的函数名。2.如权利要求1所述的方法,其特征在于,所述以类名和方法名的组合作为特征维度计算各恶意样本的simhash指纹为:以类名和方法名的组合作为特征维度;计算恶意样本中所有特征维度的MD5值;对所有MD5值进行加权、累加和降维操作后生成该恶意样本唯一标识的64位simhash指纹。3.如权利要求1或2所述的方法,其特征在于,所述基于MapReduce模式计算各恶意样本的simhash指纹之间的海明距离为:对各恶意样本的simhash指纹进行分块操作;将各分块作为key,将simhash指纹本身作为value进行存储;对同一分块位的key进行聚合处理;以聚合处理后得到的simhash两两组合为key,进行去重处理;计算去重处理后的simhash两两组合的海明距离。4.如权利要求3所述的方法,其特征在于,所述判定海明距离小于等于预设阈值的恶意样本属于同源样本为:基于K-means算法对海明距离小于等于3的恶意样本进行聚类处理并判定属于同源样本。5.如权利要求4所述的方法,其特征在于,所述提取类名和方法名之前还包括:剔除预先收集的第三方库和加壳样...
【专利技术属性】
技术研发人员:何源浩,孙岩,潘宣辰,
申请(专利权)人:武汉安天信息技术有限责任公司,
类型:发明
国别省市:黑龙江;23
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。