[发明专利]恶意代码壳识别与静态脱壳方法和系统在审
申请号: | 201910314338.7 | 申请日: | 2019-04-18 |
公开(公告)号: | CN110135159A | 公开(公告)日: | 2019-08-16 |
发明(设计)人: | 范晓宁;朱信宇;刘丹阳;褚乾峰;张学文;刘功申 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06N3/04;G06N3/08 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 庄文莉 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 脱壳 代码识别 恶意代码 判定 灰度图像 反汇编 灰度化处理 代码实现 检测文件 任务转化 特征信息 图像分类 现有系统 指令信息 可视化 样本集 准确率 可用 算法 标签 学习 成熟 | ||
1.一种恶意代码壳识别和静态脱壳方法,其特征在于,包括:
壳代码预处理步骤:对待判定恶意代码进行反汇编,提取反汇编中的特征信息;
可代码可视化步骤:接收特征信息,利用特征信息对待判定恶意代码进行可视化,生成壳代码图像;
深度学习步骤:将壳代码图像与待判定恶意代码的标签值组成样本集,对深度学习模型进行训练,得到成熟识别模型,将待判定恶意代码作为成熟识别模型的输入,进行壳代码识别,得到加壳代码;
脱壳步骤:将加壳代码进行脱壳处理。
2.根据权利要求1所述的恶意代码壳识别和静态脱壳方法,其特征在于,所述脱壳处理是对加壳代码进行文件校验、加壳算法校验、PE文件加载、数据解压、导入函数表IAT修复、创建PE文件镜像。
3.根据权利要求1所述的恶意代码壳识别和静态脱壳方法,其特征在于,使用IDA工具对待判定恶意代码进行反汇编,得到附加信息、反汇编指令信息,令附加信息去除,将反汇编指令信息作为特征信息。
4.根据权利要求1所述的恶意代码壳识别和静态脱壳方法,其特征在于,所述对待判定恶意代码进行可视化是对特征信息按字节分割,映射为像素点的灰度值数组,并对所述灰度值数组进行可视化。
5.根据权利要求1所述的恶意代码壳识别和静态脱壳方法,其特征在于,对特征信息按字节分割,每个字节所对应的十六进制的范围为[00,FF],将[00,FF]对应到十进制数值为0-255,覆盖整个灰度值的范围,其中0代表黑色,255代表白色。
6.根据权利要求1所述的恶意代码壳识别和静态脱壳方法,其特征在于,所述深度学习模型使用深度学习LeNet-5网络模型。
7.根据权利要求2所述的恶意代码壳识别和静态脱壳方法,其特征在于,所述文件校验是判定加壳代码的程序完整性;所述加壳算法校验是判定加壳代码的程序类型;所述PE文件加载是判定PE文件类型;所述导入函数表IAT修复是将被加壳代码修改的指向加壳代码自身函数地址表的导入表进行修复。
8.根据权利要求2所述的恶意代码壳识别和静态脱壳方法,其特征在于,创建PE文件镜像是将对加壳代码进行文件校验、加壳算法校验、PE文件加载、数据解压、导入函数表IAT修复各个环节得到的原始程序数据、原始导入表信息进行整合和转存,生成新PE文件头,完成脱壳处理。
9.根据权利要求6所述的恶意代码壳识别和静态脱壳方法,其特征在于,所述深度学习LeNet-5网络模型的参数包括:
输入:像素大小为128*128的壳代码图像;
输出:待判定恶意代码的标签值的加壳编号;
卷积层数: 3;
池化层数: 2;
激活函数:relu;
训练参数总数:49836。
10.一种恶意代码壳识别和静态脱壳系统,其特征在于,包括:
壳代码预处理模块:对待判定恶意代码进行反汇编,提取反汇编中的特征信息;
可代码可视化模块:接收特征信息,利用特征信息对待判定恶意代码进行可视化,生成壳代码图像;
深度学习模块:将壳代码图像与待判定恶意代码的标签值组成样本集,对深度学习模型进行训练,得到成熟识别模型,将待判定恶意代码作为成熟识别模型的输入,进行壳代码识别,得到加壳代码;
脱壳模块:将加壳代码进行脱壳处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910314338.7/1.html,转载请声明来源钻瓜专利网。