基于软件结构聚类的恶意代码生成器识别方法及系统的制作方法

文档序号:6524088阅读:172来源:国知局
基于软件结构聚类的恶意代码生成器识别方法及系统的制作方法
【专利摘要】本发明提供了一种软件结构聚类的恶意代码生成器识别方法及系统。本发明的方法通过找到相同时间戳的样本,并提取相同时间戳样本的软件结构信息构造向量,通过计算Simhash值,找到Simhash距离小于指定值的样本,则能够判断该类样本具有相似的文件结构,为恶意代码生成器生成的代码。同样本发明还给出了相应的系统结构。通过本发明的方法,能够利用生成器与编译产生的软件结构的差异,发现生成器,并利用大规模相似性找到软件结构相似的样本。
【专利说明】基于软件结构聚类的恶意代码生成器识别方法及系统
【技术领域】
[0001]本发明属于计算机网络安全【技术领域】,特别涉及一种基于软件结构聚类的恶意代码生成器识别方法。
【背景技术】
[0002]计算机网络不断发展,同时也促使了恶意代码发展演变,恶意代码的开发与使用日趋分工明确,很多恶意代码尤其是远程控制工具,控制服务器,域名以及一些版本等都是可配置的,这便是恶意代码生成器所做的工作。恶意代码生成器使编写恶意代码变得简单,因此导致大量恶意代码的产生,危及网络中的用户。

【发明内容】

[0003]本发明提供了一种基于软件结构聚类的恶意代码生成器识别方法及系统,能够有效识别恶意代码生成器产生的恶意代码,进而发现恶意代码生成器模板。
[0004]一种基于软件结构聚类的恶意代码生成器识别方法,包括:
提取未知样本的PE结构的时间戳信息;
采用二分法比较样本的时间戳,找到时间戳相同的样本;
判断时间戳相同,MD5值不同的样本数量是否大于5,如果是,则继续执行下一步,否则结束;
提取样本集中各样本的软件结构信息;
将提取的软件结构信息构造向量,并计算向量的Simhash值;
找到Simhash的距离小于预设值的样本,则判定所述样本具有相似结构,为生成器生成的恶意代码。
[0005]通过上述过程找到的生成器生成的恶意代码,则能够根据任意样本做出、得到恶意代码生成器的模板。
[0006]所述的方法中,所述的软件结构信息为:PE文件头、PE入口点、PE节信息、PE节大小、版本信息、尾部数据、字符串信息。
[0007]—种基于软件结构聚类的恶意代码生成器识别系统,包括:
数据提取模块,用于提取未知样本的PE结构的时间戳信息;
比较模块,用于采用二分法比较样本的时间戳,找到时间戳相同的样本;
选择模块,用于判断时间戳相同,MD5值不同的样本数量是否大于5,如果是,则继续执行下一步,否则结束;
信息提取模块,用于提取各样本的软件结构信息;
计算模块,用于将提取的软件结构信息构造向量,并计算向量的Simhash值;
判定模块,用于找到Simhash的距离小于预设值的样本,则判定所述样本具有相似结构,为生成器生成的恶意代码。
[0008]所述的系统中,所述的软件结构信息为:PE文件头、PE入口点、PE节信息、PE节大小、版本信息、尾部数据、字符串信息。
[0009]本发明主要依据生成器产生的恶意代码与开发编译产生的正常程序的显著差异,来发现生成器。恶意代码生成器由于需要传播的简便性,远程控制等恶意代码的配置信息一般有生成器产生,写入到控制代码当中,这样导致了更改有一个信息后,恶意代码的MD5就发生了变化,而普通的软件开发中,MD5变化一般是对代码重新编译产生,而重新编译又会带来很多新的变化,特别是时间戳。对于正常软件来说,时间戳可能相同,但软件结构不相似,而相似的软件结构同时具有相同时间戳,则主要是恶意生成器产生的代码。因此本发明通过找到时间戳相同的样本,判断其结构是否相似,若结构相似,则能够说明为恶意代码生成器生成的恶意代码。
[0010]本发明提供了一种软件结构聚类的恶意代码生成器识别方法及系统。本发明的方法通过找到相同时间戳的样本,并提取相同时间戳样本的软件结构信息构造向量,通过计算Simhash值,找到Simhash距离小于指定值的样本,则能够判断该类样本具有相似的文件结构,为恶意代码生成器生成的代码。同样本发明还给出了相应的系统结构。通过本发明的方法,能够利用生成器与编译产生的软件结构的差异,发现生成器,并利用大规模相似性找到软件结构相似的样本。
【专利附图】

【附图说明】
[0011]为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012]图1为本发明软件结构聚类的恶意代码生成器识别方法流程图;
图2为本发明软件结构聚类的恶意代码生成器识别系统结构示意图。
【具体实施方式】
[0013]为了使本【技术领域】的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
[0014]本发明提供了一种基于软件结构聚类的恶意代码生成器识别方法及系统,能够有效识别恶意代码生成器产生的恶意代码,进而发现恶意代码生成器模板。
[0015]一种基于软件结构聚类的恶意代码生成器识别方法,如图1所示,包括:
5101:提取未知样本的PE结构的时间戳信息;
5102:采用二分法比较样本的时间戳,找到时间戳相同的样本;
5103:判断时间戳相同,MD5值不同的样本数量是否大于5,如果是,则继续执行下一步,否则结束;
5104:提取样本集中各样本的软件结构信息;
5105:将提取的软件结构信息构造向量,并计算向量的Simhash值;
5106:找到Simhash的距离小于预设值的样本,则判定所述样本具有相似结构,为生成器生成的恶意代码。[0016]通过上述过程找到的生成器生成的恶意代码,则能够根据任意样本做出、得到恶意代码生成器的模板。
[0017]所述的方法中,所述的软件结构信息为:PE文件头、PE入口点、PE节信息、PE节大小、版本信息、尾部数据、字符串信息。
[0018]一种基于软件结构聚类的恶意代码生成器识别系统,如图2所示,包括:
数据提取模块201,用于提取未知样本的PE结构的时间戳信息;
比较模块202,用于采用二分法比较样本的时间戳,找到时间戳相同的样本;
选择模块203,用于判断时间戳相同,MD5值不同的样本数量是否大于5,如果是,则继续执行下一步,否则结束;
信息提取模块204,用于提取各样本的软件结构信息;
计算模块205,用于将提取的软件结构信息构造向量,并计算向量的Simhash值;
判定模块206,用于找到Simhash的距离小于预设值的样本,则判定所述样本具有相似结构,为生成器生成的恶意代码。
[0019]所述的系统中,所述的软件结构信息为:PE文件头、PE入口点、PE节信息、PE节大小、版本信息、尾部数据、字符串信息。
[0020]本发明主要依据生成器产生的恶意代码与开发编译产生的正常程序的显著差异,来发现生成器。恶意代码生成器由于需要传播的简便性,远程控制等恶意代码的配置信息一般有生成器产生,写入到控制代码当中,这样导致了更改有一个信息后,恶意代码的MD5就发生了变化,而普通的软件开发中,MD5变化一般是对代码重新编译产生,而重新编译又会带来很多新的变化,特别是时间戳。对于正常软件来说,时间戳可能相同,但软件结构不相似,而相似的软件结构同时具有相同时间戳,则主要是恶意生成器产生的代码。因此本发明通过找到时间戳相同的样本,判断其结构是否相似,若结构相似,则能够说明为恶意代码生成器生成的恶意代码。
[0021]本发明提供了一种软件结构聚类的恶意代码生成器识别方法及系统。本发明的方法通过找到相同时间戳的样本,并提取相同时间戳样本的软件结构信息构造向量,通过计算Simhash值,找到Simhash距离小于指定值的样本,则能够判断该类样本具有相似的文件结构,为恶意代码生成器生成的代码。同样本发明还给出了相应的系统结构。通过本发明的方法,能够利用生成器与编译产生的软件结构的差异,发现生成器,并利用大规模相似性找到软件结构相似的样本。
[0022]虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
【权利要求】
1.一种基于软件结构聚类的恶意代码生成器识别方法,其特征在于,包括: 提取未知样本的PE结构的时间戳信息; 采用二分法比较样本的时间戳,找到时间戳相同的样本; 判断时间戳相同,MD5值不同的样本数量是否大于5,如果是,则继续执行下一步,否则结束; 提取样本集中各样本的软件结构信息; 将提取的软件结构信息构造向量,并计算向量的Simhash值; 找到Simhash的距离小于预设值的样本,则判定所述样本具有相似结构,为生成器生成的恶意代码。
2.如权利要求1所述的方法,其特征在于,所述的软件结构信息为:PE文件头、PE入口点、PE节信息、PE节大小、版本信息、尾部数据、字符串信息。
3.一种基于软件结构聚类的恶意代码生成器识别系统,其特征在于,包括: 数据提取模块,用于提取未知样本的PE结构的时间戳信息; 比较模块,用于采用二分法比较样本的时间戳,找到时间戳相同的样本; 选择模块,用于判断时间戳相同,MD5值不同的样本数量是否大于5,如果是,则继续执行下一步,否则结束; 信息提取模块,用于提取各样本的软件结构信息; 计算模块,用于将提取的软件结构信息构造向量,并计算向量的Simhash值; 判定模块,用于找到Simhash的距离小于预设值的样本,则判定所述样本具有相似结构,为生成器生成的恶意代码。
4.如权利要求3所述的系统,其特征在于,所述的软件结构信息为:PE文件头、PE入口点、PE节信息、PE节大小、版本信息、尾部数据、字符串信息。
【文档编号】G06F21/56GK103902905SQ201310691228
【公开日】2014年7月2日 申请日期:2013年12月17日 优先权日:2013年12月17日
【发明者】康学斌, 童志明, 肖新光 申请人:哈尔滨安天科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1