一种融合多检测结果的恶意程序检测方法技术

技术编号:15330284 阅读:115 留言:0更新日期:2017-05-16 13:46
本发明专利技术公开了一种融合多检测结果的恶意程序检测方法,包括建立字符串集合、建立基因库、构建特征向量、生成恶意程序检测器、判定待检程序是否为恶意程序、根据多个检测结果综合评判待检程序是否为恶意程序,本发明专利技术通过构建基因库,然后生成正常程序的特征空间,进而产生覆盖恶意程序空间的检测器来实现对恶意程序的检测,有效避免了恶意程序特征码的提取和庞大特征库的维护,同时,通过融合多个恶意程序的检测结果,再次进行综合评判,进一步提高恶意程序检测的准确率。本发明专利技术对未知恶意程序及已知恶意程序具有良好的检测效果,为恶意程序的检测及与现有检测方法的融合提供了一种有益的方法。

A malicious program detection method incorporating multiple detection results

The invention discloses a fusion of detection results of malware detection methods, including the establishment of a set of strings, a gene pool, constructing characteristic vector, generating malware detector, to determine whether the procedures for detecting malicious programs, according to a number of test results of comprehensive evaluation for inspection procedures for malicious programs, through the construction of gene library then, the feature space generated normal procedures, to achieve detection of malware detectors to cover the malicious program space and thus, effectively avoid maintenance, base extraction and huge malware signature features at the same time, the results of the fusion of multiple malicious programs, to conduct a comprehensive evaluation, to further improve the accuracy of malicious programs detection. The invention has good detection effect to the unknown malicious program and the known malicious program, and provides a beneficial method for detecting the malicious program and integrating with the existing detection method.

【技术实现步骤摘要】
一种融合多检测结果的恶意程序检测方法
本专利技术属于信息安全领域,具体涉及一种融合多检测结果的恶意程序检测方法。
技术介绍
随着互联网应用的不断普及和发展,涌现了大量基于网络的服务,使网络空间成为继陆、海、空、天后的第五疆域。网络空间安全也成为了全球共同关注的热点话题,受到广泛关注。在各类网络安全事件中,以计算机病毒为代表的恶意程序已经成为威胁网络和信息安全的主要因素之一。恶意程序通常是指带有攻击意图所编写的一段程序,主要包括:计算机病毒、陷门、逻辑炸弹、特洛伊木马、蠕虫等。从某种意义上说,21世纪是计算机病毒与反病毒激烈角逐的时代,而智能化、人性化、隐蔽化、多样化也在逐渐成为新世纪计算机病毒的发展趋势。一般来讲,恶意代码检测方法可以分为两种:一种是静态检测方法,另一种是动态检测方法。静态检测方法主要包括:基于特征码的检测法和启发式扫描方法等。动态分析方法主要包括:系统监控法和动态跟踪法等。基于特征码的检测法是现有的商业反病毒软件中广泛应用的一种方法,几乎现有的所有反病毒软件都具有这一功能。首先,采集已知病毒样本,抽取其特征码并将其纳入病毒数据库。检测时,打开被检测文件,在文件中搜索,检查文件中是否含有病毒数据库中的病毒特征代码。如果发现病毒特征码,由于特征码与病毒一一对应,便可以断定,被查文件中患有何种病毒。但这种方法不能检测未知病毒;搜集已知病毒的特征代码,费用开销大;恶意代码的种类、数量越来越多,特征库的维护也变得越来越困难,并且过多的特征码会影响检测效率。启发式扫描技术其实就是对基于特征码检测方法的一种改进,这种方法不仅能检测出己知的恶意代码,还能识别出一些变种、变形和未知的恶意代码。但是该方法仍然离不开特征码的提取。系统监控法—般是将恶意代码运行在一个可控的环境中,通过对比系统某些标志性的状态信息在执行恶意代码前后发生的变化来确定恶意代码的功能和目的。系统监控方法可以监控程序对系统资源的一切操作,实时检测出状态变化,所以能够快速的发现已知和未知的恶意代码。动态跟踪法是指实时监控恶意代码运行时的动态行为,从而分析恶意代码的功能和目的。这种检测方法能有效地分析出恶意代码的行为,但是其实现的技术难度比较大。此外,动态分析方法的高度敏感性可能产生误报警、不能识别病毒名称,不利于感染文件病毒的清除。现有的杀毒软件大多都具有行为监测的功能,但往往由于配置不当而形同虚设。网络时代的恶意程序更隐秘,潜伏程度更高,传播范围更广,带来的损失更为严重。加上代码混淆技术的流行,恶意程序自动生成引擎的广泛传播,造成恶意程序数目不断增长,对网络空间安全造成了严重的威胁。因此,研制新型恶意程序检测技术对确保网络空间安全具有重要意义。
技术实现思路
本专利技术的目的是针对基于特征码的检测方法不能检测出未知恶意程序和已知恶意程序变种的问题,提供一种融合多种检测结果的恶意程序检测方法。对未知恶意程序及已知恶意程序具有良好的检测效果,为恶意程序的检测及与现有检测方法的融合提供了一种有益的方法。为实现本专利技术目的,本专利技术的技术方案如下:一种融合多检测结果的恶意程序检测方法,包括以下步骤:步骤S1、建立字符串集合:所述建立字符串集合包括在计算机系统中收集正常程序,构成正常程序集合Bp,收集一部分有代表性的恶意程序构成恶意程序集Mp;在正常程序集合Bp中选取一部分常见的程序构成正常程序子集Bp1,在恶意程序集合Bp中选取一部分常见的程序构成恶意程序子集Mp1;在正常程序子集Bp1和恶意程序子集Mp1中提取长度为len的、不重复的十六进制字符串,并将其添加到字符串集合中,len的取值范围为2-20字节。步骤S2、计算每个字符串的信息增益,选取特定数量的字符串构成基因库:即计算字符串集合中的每个十六进制字符串的信息增益值,然后按信息增益从大到小按降序进行排序,选取信息增益量较大的N个十六进制字符串构成基因库,N大于或等于100小于或等于2000。步骤S3、提取正常程序的特征向量,形成正常程序向量空间:具体为基于步骤S2建立的基因库,对计算机系统中的正常程序建立特征向量,并进一步构建在当前基因库下的正常程序的向量空间。步骤S4、生成恶意程序检测器:即基于步骤S3建立的正常程序向量空间,进一步生成覆盖恶意程序特征向量空间的恶意程序检测器。步骤S5、初步判定待检程序是否为恶意程序:即对每一个待检测程序进行特征提取,生成待检测程序的特征向量,计算待检测程序的特征向量与检测器之间的r连续位距离,若所述r连续位距离大于或等于设定的阈值,判定待检测程序为恶意程序,否则为正常程序。步骤S6、根据融合规则判断待检程序是否为恶意程序:具体为在步骤S1采用不同的值,通过步骤S2得到不同长度的基因库,重复步骤S3至步骤S5,对待检测程序再次进行检测,得到新的检测结果,并至少重复一次,再次得到新的检测结果,由多个检测结果,运用融合规则,计算其为正常程序或者是恶意程序的基本信任分配,最终判定待检测程序是恶意程序或者是正常程序。进一步的,步骤1所述的建立字符串集合的步骤还包括:步骤S11、对正常程序子集Bp1和恶意程序子Mp1中的每一个程序p,从它的开始位置每次滑动一个字节,依次提取长度为len的十六进制字符串,直至程序结尾为止。步骤S12、对提取到的每一个十六进制字符串进行判定其是否出现在长度为len的字符串集合中,若是,则执行骤S13,若否则执行步骤S14。步骤S13、丢弃。步骤S14、将此字符串加入到字符串集合中。步骤S15:改变基因长度len的值,重复以上操作,得到不同长度的字符串集合,len的取值范围为2至20。进一步的,步骤2所述的建立基因库的步骤还包括:步骤S21、定义信息增益IG(InformationGain)为:其中,Ci={Bp,Mp},Str表示提取的十六进制字符串,vStr=1表示字符串在程序中出现,否则vStr=0,P(vStr,C)为字符串取值为vStr时在集合C中的比例,P(vStr)为Str取值为vStr时在整个测试集中的比例,P(C)表示程序属于C的概率,对长度相同的字符串集合中的每一个字符串,按照上式计算其信息增益的值。步骤S22、对信息增益按照降序进行排列,选取信息增益值较大的N个十六进制字符串作为基因库,基因库的大小N取值范围为:100-2000。步骤S23:对不同长度字符串集合重复以上操作,通过对不同长度的字符串集合的大小进行削减后得到不同长度的基因库。进一步的,步骤3还包括以下步骤:步骤S31、对每一个正常程序集合中的程序从第一个字节开始,提取长度为len的十六进制字符串,每次向后滑动一个字节,直到文件结尾为止。步骤S32、判断长度为len的基因库中是否存在提取的十六进制字符串;如是,则执行步骤S34,若否则执行步骤S33。步骤S33、采用默认值0,不做任何处理。步骤S34、将特征向量的对应位设置为1。步骤S35、对正常程序集合中的每个程序重复以上操作,则可以构建正常程序在当前基因库下的正常程序向量空间。步骤S36:对正常程序集合中的所有程序依次用不同长度的基因库进行特征提取,构建出不同长度基因库下的正常程序向量空间。进一步的,步骤4所述生成恶意程序检测器还包括以下步骤:步骤S41、随机生成一个维数与基因库基因数量相等的二本文档来自技高网
...
一种融合多检测结果的恶意程序检测方法

【技术保护点】
一种融合多检测结果的恶意程序检测方法,其特征在于,包括以下步骤:步骤S1、建立字符串集合:所述建立字符串集合包括在计算机系统中收集正常程序,构成正常程序集合Bp,收集一部分有代表性的恶意程序构成恶意程序集Mp;在正常程序集合Bp中选取一部分常见的程序构成正常程序子集Bp1,在恶意程序集合Bp中选取一部分常见的程序构成恶意程序子集Mp1;在正常程序子集Bp1和恶意程序子集Mp1中提取长度为len的、不重复的十六进制字符串,并将其添加到字符串集合中,len的取值范围为2‑20字节;步骤S2、计算每个字符串的信息增益,选取特定数量的字符串构成基因库:具体为计算字符串集合中的每个十六进制字符串的信息增益值,然后按信息增益从大到小按降序进行排序,选取信息增益量较大的N个十六进制字符串构成基因库,N大于或等于100小于或等于2000;步骤S3、提取正常程序的特征向量,形成正常程序向量空间:具体为基于步骤S2建立的基因库,对计算机系统中的正常程序建立特征向量,并进一步构建在当前基因库下的正常程序的向量空间;步骤S4、生成恶意程序检测器:即基于步骤S3建立的正常程序向量空间,进一步生成覆盖恶意程序特征向量空间的恶意程序检测器;步骤S5、初步判定待检程序是否为恶意程序:即对每一个待检测程序进行特征提取,生成待检测程序的特征向量,计算待检测程序的特征向量与检测器之间的r连续位距离,若所述r连续位距离大于或等于设定的阈值,判定待检测程序为恶意程序,否则为正常程序;步骤S6、根据融合规则判断待检程序是否为恶意程序:具体为在步骤S1采用不同的len值,通过步骤S2得到不同长度的基因库,重复步骤S3至步骤S5,对待检测程序再次进行检测,得到新的检测结果,并至少重复一次,再次得到新的检测结果,由多个检测结果,运用融合规则,计算其为正常程序或者是恶意程序的基本信任分配,最终判定待检测程序是恶意程序或者是正常程序。...

【技术特征摘要】
1.一种融合多检测结果的恶意程序检测方法,其特征在于,包括以下步骤:步骤S1、建立字符串集合:所述建立字符串集合包括在计算机系统中收集正常程序,构成正常程序集合Bp,收集一部分有代表性的恶意程序构成恶意程序集Mp;在正常程序集合Bp中选取一部分常见的程序构成正常程序子集Bp1,在恶意程序集合Bp中选取一部分常见的程序构成恶意程序子集Mp1;在正常程序子集Bp1和恶意程序子集Mp1中提取长度为len的、不重复的十六进制字符串,并将其添加到字符串集合中,len的取值范围为2-20字节;步骤S2、计算每个字符串的信息增益,选取特定数量的字符串构成基因库:具体为计算字符串集合中的每个十六进制字符串的信息增益值,然后按信息增益从大到小按降序进行排序,选取信息增益量较大的N个十六进制字符串构成基因库,N大于或等于100小于或等于2000;步骤S3、提取正常程序的特征向量,形成正常程序向量空间:具体为基于步骤S2建立的基因库,对计算机系统中的正常程序建立特征向量,并进一步构建在当前基因库下的正常程序的向量空间;步骤S4、生成恶意程序检测器:即基于步骤S3建立的正常程序向量空间,进一步生成覆盖恶意程序特征向量空间的恶意程序检测器;步骤S5、初步判定待检程序是否为恶意程序:即对每一个待检测程序进行特征提取,生成待检测程序的特征向量,计算待检测程序的特征向量与检测器之间的r连续位距离,若所述r连续位距离大于或等于设定的阈值,判定待检测程序为恶意程序,否则为正常程序;步骤S6、根据融合规则判断待检程序是否为恶意程序:具体为在步骤S1采用不同的len值,通过步骤S2得到不同长度的基因库,重复步骤S3至步骤S5,对待检测程序再次进行检测,得到新的检测结果,并至少重复一次,再次得到新的检测结果,由多个检测结果,运用融合规则,计算其为正常程序或者是恶意程序的基本信任分配,最终判定待检测程序是恶意程序或者是正常程序。2.根据权利要求1所述的恶意程序检测方法,其特征在于,步骤1所述的建立字符串集合的步骤还包括:步骤S11、对正常程序子集Bp1和恶意程序子Mp1中的每一个程序p,从它的开始位置每次滑动一个字节,依次提取长度为len的十六进制字符串,直至程序结尾为止;步骤S12、对提取到的每一个十六进制字符串进行判定其是否出现在长度为len的字符串集合中,若是,则执行骤S13,若否则执行步骤S14;步骤S13、丢弃;步骤S14、将此字符串加入到字符串集合中;步骤S15:改变基因长度len的值,重复以上操作,得到不同长度的字符串集合,len的取值范围为2至20。3.根据权利要求2所述的恶意程序检测方法,其特征在于,步骤2所述的建立基因库的步骤还包括:步骤S21、定义信息增益IG(InformationGain)为:其中,Ci={Bp,Mp},Str表示提取的十六进制字符串,vStr=1表示字符串在程序中出现,否则vStr=0,P(vStr,C)为字符串取值为vStr时在集合C中的比例,P(vStr)为Str取值为vStr时在整个测试集中的比例,P(C)表示程序属于C的概率,对长度相同的字符串集合中的每一个字符串,按照上式计算其信息增益的值;步骤S22、对信息增益按照降序进行排列,选取信息增益值较大的N个十六进制字符串作为基因库,基因库的大小N取值范...

【专利技术属性】
技术研发人员:覃仁超曾金全
申请(专利权)人:西南科技大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1