恶意代码壳识别与静态脱壳方法和系统技术方案

技术编号:21892622 阅读:34 留言:0更新日期:2019-08-17 14:47
本发明专利技术提供了一种恶意代码壳识别与静态脱壳方法和系统,对待检测文件进行反汇编处理,将得到的反汇编指令信息作为特征;将特征信息按取值进行灰度化处理,生成灰度图像;利用灰度图像与标签值组成的样本集,对深度学习模型LeNet‑5进行训练,得到成熟的识别模型;接收待判定的恶意代码壳代码作为输入,完成壳代码识别;并对识别出的加壳代码,进行脱壳处理。通过壳代码可视化算法,将加壳代码识别任务转化为图像分类任务,结合深度学习判定模型,实现了一个可用的恶意代码壳代码识别方法,并对相应加壳代码实现了静态脱壳方法,实现比现有系统更高判定准确率的恶意壳代码识别方法和更有效率的脱壳方法。

Malicious Code Shell Recognition and Static Shelling Method and System

【技术实现步骤摘要】
恶意代码壳识别与静态脱壳方法和系统
本专利技术涉及互联网信息安全
,具体地,涉及一种恶意代码壳识别与静态脱壳方法和系统。
技术介绍
当今社会,计算机网络与人类生活的各方面息息相关。计算机技术的飞速发展在带来便利的同时,也带来了诸多的安全隐患。随着计算机技术的发展,出现了一类软件代码,他们被附加在可执行程序中,将程序中的原始代码进行保护,同时将可执行程序的执行顺序进行修改。攻击者们正是利用这一点,将恶意代码进行加壳操作,利用壳代码来逃避诸多的检测分析,从而躲避安全软件的扫描与查杀。面对这一严峻的挑战,如何准确地识别出加壳代码种类,如何完整的还原出原始程序的数据和代码,成为了影响恶意代码分析检测的主要问题所在,针对爆发式增长的恶意代码,安全研究人员对恶意代码分析技术做出深入研究。结果发现,很多新型的恶意代码壳代码都是来自于已有的壳代码的变种,这些代码往往具有高度相似的结构、雷同的函数调用顺序与代码编写习惯等。对未知恶意代码壳代码进行识别并找出与其具有相似特征的、已记录在库的同源恶意代码壳代码,从而做出快速响应与处理就显得十分重要。针对识别出的加壳算法,本专利技术也设计了一种能够快速对其进行脱壳处理的方法。恶意代码壳代码的识别已有学者进行一定研究,但采用特征码匹配的算法无法识别新型壳代码的变种,极大影响了其的适用性。而对壳代码进行可视化的思想最早是由加利福尼亚大学的Nataraj和Karthikeyan在2011年提出的。而近年来,伴随着深度神经网络的迅猛发展,LeNet网络在图像分类领域展现出卓越性能,为壳代码图像的识别提供了合适的模型选择。目前没有发现同本专利技术类似技术的说明或报道,也尚未收集到国内外类似的资料。与本申请相关的现有技术是专利文献CN104850786A,公开了一种基于环境重构的恶意代码完整性分析方法,通过使用合理的分析策略提取恶意代码执行过程中所需的环境数据,以此为基础进行恶意代码执行环境的动态构建,将恶意代码置入动态构建的环境中进行分析,从而获得较为完整的行为信息。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种恶意代码壳识别和静态脱壳方法和系统。根据本专利技术提供的一种恶意代码壳识别和静态脱壳方法,包括:壳代码预处理步骤:对待判定恶意代码进行反汇编,提取反汇编中的特征信息;可代码可视化步骤:接收特征信息,利用特征信息对待判定恶意代码进行可视化,生成壳代码图像;深度学习步骤:将壳代码图像与待判定恶意代码的标签值组成样本集,对深度学习模型进行训练,得到成熟识别模型,将待判定恶意代码作为成熟识别模型的输入,进行壳代码识别,得到加壳代码;脱壳步骤:将加壳代码进行脱壳处理。优选地,所述脱壳处理是对加壳代码进行文件校验、加壳算法校验、PE文件加载、数据解压、导入函数表IAT修复、创建PE文件镜像。优选地,使用IDA工具对待判定恶意代码进行反汇编,得到附加信息、反汇编指令信息,令附加信息去除,将反汇编指令信息作为特征信息。优选地,所述对待判定恶意代码进行可视化是对特征信息按字节分割,映射为像素点的灰度值数组,并对所述灰度值数组进行可视化。优选地,对特征信息按字节分割,每个字节所对应的十六进制的范围为[00,FF],将[00,FF]对应到十进制数值为0-255,覆盖整个灰度值的范围,其中0代表黑色,255代表白色。优选地所述深度学习模型使用深度学习LeNet-5网络模型。所述深度学习LeNet-5网络模型的参数包括:输入:像素大小为128*128的壳代码图像;输出:待判定恶意代码的标签值的加壳编号;卷积层数:3;池化层数:2;激活函数:relu;训练参数总数:49836。优选地,所述文件校验是判定加壳代码的程序完整性;所述加壳算法校验是判定加壳代码的程序类型;所述PE文件加载是判定PE文件类型;所述导入函数表IAT修复是将被加壳代码修改的指向加壳代码自身函数地址表的导入表进行修复。优选地,创建PE文件镜像是将对加壳代码进行文件校验、加壳算法校验、PE文件加载、数据解压、导入函数表IAT修复各个环节得到的原始程序数据、原始导入表信息进行整合和转存,生成新PE文件头,完成脱壳处理。根据本专利技术提供的一种恶意代码壳识别和静态脱壳系统,包括:壳代码预处理模块:对待判定恶意代码进行反汇编,提取反汇编中的特征信息;可代码可视化模块:接收特征信息,利用特征信息对待判定恶意代码进行可视化,生成壳代码图像;深度学习模块:将壳代码图像与待判定恶意代码的标签值组成样本集,对深度学习模型进行训练,得到成熟识别模型,将待判定恶意代码作为成熟识别模型的输入,进行壳代码识别,得到加壳代码;脱壳模块:将加壳代码进行脱壳处理。与现有技术相比,本专利技术具有如下的有益效果:1、本专利技术将特征选择着眼于更抽象的恶意代码壳代码图像,舍弃常用的静态分析所得到的静态特征信息,无需对恶意代码壳代码做人工处理与分析,实现系统自动化,可高效便捷地对恶意代码壳代码做识别分析。2、本专利技术的判定系统具备可学习性,深度学习技术的特性支持系统获取新恶意代码样本时可进行追加训练,及时适应新型恶意代码壳代码的出现,进一步提高准确率。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例的系统总体架构图。图2为本专利技术的恶意代码壳代码可视化算法示意图。图3为本专利技术的LeNet-5模型示意图。图4为本专利技术的脱壳算法示意图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。本专利技术针对现有技术存在的上述不足,提供了一种恶意代码壳代码识别方法和静态脱壳方法,该方法使用已经较为成熟的深度神经网络,完成一个可用的高效准确的恶意代码壳代码识别和修复系统。该系统利用一种恶意代码壳代码可视化算法将壳代码映射为灰度图像,将加壳算法识别问题转化为图像分类问题,结合深度学习的LeNet模型,实现比现有系统更高判定准确率的壳代码识别技术,并针对已被识别出的加壳算法进行脱壳处理,实现更加高效的脱壳方法。根据本专利技术提供的一种恶意代码壳识别和静态脱壳方法,包括:壳代码预处理步骤:对待判定恶意代码进行反汇编,使用IDA工具提取反汇编中的特征信息;可代码可视化步骤:接收特征信息,利用特征信息对待判定恶意代码进行可视化,生成壳代码图像;深度学习步骤:将壳代码图像与待判定恶意代码的标签值组成样本集,对深度学习模型进行训练,得到成熟识别模型,将待判定恶意代码作为成熟识别模型的输入,进行壳代码识别,得到加壳代码;脱壳步骤:将加壳代码进行脱壳处理。具体地,所述脱壳处理是对加壳代码进行文件校验、加壳算法校验、PE文件加载、数据解压、导入函数表IAT修复、创建PE文件镜像。具体地,使用IDA工具对待判定恶意代码进行反汇编,得到附加信息、反汇编指令信息,令附加信息去除,将反汇编指令信息作为特征信息。具体地,所述对待判定恶意代码进行可视化是对特征信息按字节分割,映射为像素点的灰度值数组,并对所述灰度值数组进行可视化。具体地,对特征信息按字节分割本文档来自技高网
...

【技术保护点】
1.一种恶意代码壳识别和静态脱壳方法,其特征在于,包括:壳代码预处理步骤:对待判定恶意代码进行反汇编,提取反汇编中的特征信息;可代码可视化步骤:接收特征信息,利用特征信息对待判定恶意代码进行可视化,生成壳代码图像;深度学习步骤:将壳代码图像与待判定恶意代码的标签值组成样本集,对深度学习模型进行训练,得到成熟识别模型,将待判定恶意代码作为成熟识别模型的输入,进行壳代码识别,得到加壳代码;脱壳步骤:将加壳代码进行脱壳处理。

【技术特征摘要】
1.一种恶意代码壳识别和静态脱壳方法,其特征在于,包括:壳代码预处理步骤:对待判定恶意代码进行反汇编,提取反汇编中的特征信息;可代码可视化步骤:接收特征信息,利用特征信息对待判定恶意代码进行可视化,生成壳代码图像;深度学习步骤:将壳代码图像与待判定恶意代码的标签值组成样本集,对深度学习模型进行训练,得到成熟识别模型,将待判定恶意代码作为成熟识别模型的输入,进行壳代码识别,得到加壳代码;脱壳步骤:将加壳代码进行脱壳处理。2.根据权利要求1所述的恶意代码壳识别和静态脱壳方法,其特征在于,所述脱壳处理是对加壳代码进行文件校验、加壳算法校验、PE文件加载、数据解压、导入函数表IAT修复、创建PE文件镜像。3.根据权利要求1所述的恶意代码壳识别和静态脱壳方法,其特征在于,使用IDA工具对待判定恶意代码进行反汇编,得到附加信息、反汇编指令信息,令附加信息去除,将反汇编指令信息作为特征信息。4.根据权利要求1所述的恶意代码壳识别和静态脱壳方法,其特征在于,所述对待判定恶意代码进行可视化是对特征信息按字节分割,映射为像素点的灰度值数组,并对所述灰度值数组进行可视化。5.根据权利要求1所述的恶意代码壳识别和静态脱壳方法,其特征在于,对特征信息按字节分割,每个字节所对应的十六进制的范围为[00,FF],将[00,FF]对应到十进制数值为0-255,覆盖整个灰度值的范围,其中0代表黑色,255代表白色。6.根据权利要求1所述的恶意代码壳识别和静态脱壳方法,其特征在于,所述...

【专利技术属性】
技术研发人员:范晓宁朱信宇刘丹阳褚乾峰张学文刘功申
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1