一种基于多维加权的恶意程序加壳检测方法及系统与流程

文档序号:34115860发布日期:2023-05-10 23:59阅读:47来源:国知局
一种基于多维加权的恶意程序加壳检测方法及系统与流程

本发明属于信息安全,具体涉及一种基于多维加权的恶意程序加壳检测方法及系统。


背景技术:

1、恶意程序检测能够有效区分恶意程序和无害程序,是维护网络空间安全的一个重要手段。一个恶意程序检测系统通常包括特征提取、特征筛选、特征识别三个基础模块,因此特征的改变、误选、误判都会直接影响到检测系统的效果。使用了加壳技术的恶意程序与原程序在文件数据上具有极大差异,使检测系统几乎无法提取到原程序的静态特征,加壳程序与原程序在行为特征上的差异也会使检测系统在动态特征提取时出现偏差,这些会降低检测的准确度。被标记为恶意特征的壳特征则易使检测系统无害程序误判为恶意程序,增加了误判率。如果能够提前判断程序是否加壳,则可在检测前通过脱壳技术得到原程序,有效避免加壳技术对检测系统的影响,帮助检测系统更精准的识别恶意程序。根据现有研究统计,超过80%的恶意程序使用了加壳技术。因此,在恶意程序检测前对程序进行加壳检测十分重要也十分必要。

2、目前对于加壳程序的检测以特征检测为主,所用的检测特征为文件格式特征和文件熵值特征。有壳程序往往会有不同于普通程序的文件格式,例如异常的节区名称、异常的iat表等。但为躲避加壳检测,部分恶意程序开发人员会修改有壳程序的文件格式,将其伪装为无壳程序。传统的加壳技术会对原程序数据进行加密、压缩,使得有壳程序的数据比原程序更为随机,具有更大的熵值。但随着加壳技术的发展,仅凭文件熵值难以准确的区分有壳程序和无壳程序。尽管以往的检测方法使用了多种多样的特征,但大多是同一分析角度,属于同种特征的不同特征点,单一角度会使得检测结果受加壳技术的严重影响。同时,都没有引入字符串这一重要特征,而根据以往分析经验,有壳程序与无壳程序的字符串特征区别是比较大的。因此,在进行加壳检测时需要使用更全面更多角度的特征。

3、目前加壳程序的检测系统大多包含程序特征识别模块,通过特征匹配程度来判断程序是否加壳。该模块需要维护一个特征数据库,随着系统使用时间的增长,特征库的存储、更新等维护成本会大大增加。同时,该模块还具有耗时长的问题。因此,需要设计一种更加直接更加简便的方法实现是否加壳的判断。


技术实现思路

1、(一)要解决的技术问题

2、本发明要解决的技术问题是:如何在恶意程序检测前稳定、高效、准确地识别出加壳程序。

3、(二)技术方案

4、为了解决上述技术问题,本发明提供了一种基于多维加权的恶意程序加壳检测方法,包括以下步骤:

5、第一步、针对可执行程序,依据pe文件加载原理对其进行静态特征提取,提取该程序多个维度的特征;

6、第二步、针对每一种特征设计对应的量化方法,对提取的特征进行量化,使量化后的特征可直接用于数值计算,并将量化后的特征值进一步规范,使其具有表述概率的意义;

7、第三步、应用足量加壳程序样本和无壳程序样本,采用第一步、第二步的方法获得其所有样本的规范后的特征值,并使用熵权法对各种特征的权值进行计算;

8、第四步、对各个样本多维度特征值进行加权平均计算,获得加壳特征值,根据计算结果设定加壳阈值和无壳阈值这两个阈值;

9、第五步、基于第一步、第二步的方法获取待检测程序的规范后的特征值,使用熵权法计算得到待检测程序的各特征的权值,并结合规范后的特征值、对应的权值计算待检测程序的加壳特征值,通过与所述两个阈值比较大小判断程序加壳情况。

10、本发明还提供了一种基于多维加权的恶意程序加壳检测系统,包括特征提取模块、特征规范模块、权值计算模块、阈值选择模块、结果输出模块;其中,

11、所述特征提取模块,用于依据pe文件加载原理对程序进行静态分析,提取程序特征并进行量化处理,提取的特征包括:

12、1)文件格式特征:iat表中导入函数个数、加载dll文件个数、节区个数、非标准节区个数、可执行节区个数;

13、2)数据块熵值特征:分块数据的熵值均值、每个节区中数据0的含量均值;

14、3)字符串特征包括:字符串总个数、非可读字符串个数、字符串长度的标准差;

15、所述特征规范模块用于:首先以足量程序样本作为输入,通过特征提取模块提取其特征,计算其特征的均值和标准差,作为正态分布公式的参数;然后,使用正态分布公式对所有样本的特征值进行规范处理,处理后的特征取值范围为[0,1],表述了特征出现的概率,之后,在对待检测程序的特征进行规范时,所用均值和标准差参数不变;对于第i个样本程序,其第j个特征的特征值为aij,规范后的特征值为pij,特征均值记为ej,特征值标准差记为σj,则特征规范公式为:

16、

17、所述权值计算模块用于在使用特征提取模块和特征规范模块获得所有样本特征后,首先使用熵权法计算具体特征在维度特征中的权重,然后计算各个维度特征在加壳检测中的权重,最后输出各维特征的权重值,即权值;

18、所述阈值选择模块用于首先根据加壳特征值计算公式计算每个样本的加壳特征值,然后选择有壳程序样本加壳特征值的最小值作为加壳阈值,选择无壳程序样本加壳特征值的最大值作为无壳阈值;将第i个样本三个维度的特征记为w1i、w2i、w3i,其权重分别为q1、q2、q3,加壳特征值记为zi,则其计算公式为:

19、zi=q1×w1i+q2×w2i+q3×w3i

20、理想情况下,加壳阈值要大于所有无壳程序样本的加壳特征值,要小于有壳程序样本的加壳特征值;无壳阈值要小于加壳程序样本的加壳特征值,要大于无壳程序样本的加壳特征值;

21、所述结果输出模块用于对待检测程序是否加壳做出最终判断,以特征提取模块和特征规范模块获得待检测程序特征值作为输入,根据加壳特征值计算公式计算其加壳特征值作为加壳概率,并与阈值进行比较,若超过加壳阈值则判定为加壳程序,若低于无壳阈值则判定为无壳程序,若处于两个阈值之间则判定为不易判断的未知程序,最终输出描述加壳情况的二元组。

22、(三)有益效果

23、本发明提供了基于多维加权的恶意程序加壳检测方法及系统,从文件格式、数据混乱度、数据内容三个维度对程序进行分析,对有壳程序和普通程序有较为全面的比较,能够有效对抗有壳程序的伪装,解决了单一角度的特征检测稳定性低的问题。对特征进行量化,使得特征可以直接参与数学计算,使用概率公式对特征进行规范,使得计算结果具有概率学上的意义。使用熵权法计算权重有效避免了主观因素对各个特征权值的影响,有效保证了检测系统的客观性。通过权值计算的方式进行判断省去了特征匹配的时间和特征库的维护成本,优化了检测系统的性能。



技术特征:

1.一种基于多维加权的恶意程序加壳检测方法,其特征在于,包括以下步骤:

2.如权利要求1所述的方法,其特征在于,程序多个维度的特征包括:程序的文件格式特征、数据块熵值特征、字符串特征,分别从文件格式、数据混乱程度、数据内容三个维度对程序进行分析。

3.如权利要求2所述的方法,其特征在于,第二步中,根据统计学原理,首先使用数量、比值将特征量化,然后使用正态分布的数学公式对其进一步规范,将取值范围控制到[0,1],使特征值能够表示该特征的正态分布概率。

4.如权利要求3所述的方法,其特征在于,所述使用熵权法对各种特征的权值进行计算,具体为:每个维度的特征中又包含多种更细化的小特征,因此首先用熵权法计算出小特征的权值,然后使用熵权法计算各个维度特征的权值。

5.如权利要求4所述的方法,其特征在于,所述加壳特征值为各个维度特征值的加权平均值,是衡量程序加壳概率的数值,其取值范围为[0,1],其与程序的关系为:加壳程序的加壳特征值更接近1,无壳程序的加壳特征值更接近0。

6.如权利要求5所述的方法,其特征在于,所述加壳阈值和无壳阈值是根据加壳特征值判断程序是否加壳的数值依据,需要先计算足量加壳程序样本和无壳程序样本的加壳特征值,然后分别对加壳程序加壳特征值和无壳程序加壳特征值进行分析处理,选择合适的阈值。

7.如权利要求6所述的方法,其特征在于,通过与所述两个阈值比较大小判断程序加壳情况时,所述程序加壳情况描述为包含判定结果和加壳概率的二元组,将程序加壳特征值超过加壳阈值的程序判定为加壳程序,将程序加壳特征值低于无壳阈值的程序判定为无壳程序,处于两个阈值之间的程序判定为未知程序。

8.一种基于多维加权的恶意程序加壳检测系统,其特征在于,包括特征提取模块、特征规范模块、权值计算模块、阈值选择模块、结果输出模块;其中,

9.如权利要求8所述的系统,其特征在于,所述阈值选择模块在进行阈值选择时,还通过聚类的方法将干扰阈值选择的样本进行剔除,其执行步骤为:

10.如权利要求8所述的系统,其特征在于,将判定结果记为rprogram,待检测程序记为program,则结果输出模块输出的描述加壳情况的二元组为:(rprogram,program)。


技术总结
本发明涉及一种基于多维加权的恶意程序加壳检测方法及系统,属于信息安全技术领域。本发明从文件格式、数据混乱度、数据内容三个维度对程序进行分析,对有壳程序和普通程序有较为全面的比较,能够有效对抗有壳程序的伪装,解决了单一角度的特征检测稳定性低的问题。对特征进行量化,使得特征可以直接参与数学计算,使用概率公式对特征进行规范,使得计算结果具有概率学上的意义。使用熵权法计算权重有效避免了主观因素对各个特征权值的影响,有效保证了检测系统的客观性。通过权值计算的方式进行判断省去了特征匹配的时间和特征库的维护成本,优化了检测系统的性能。

技术研发人员:任益辰,王芳鸣,庄杰,海然,罗济凡,刘明哲,张帅
受保护的技术使用者:北京计算机技术及应用研究所
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1