[发明专利]基于深度学习的恶意代码同源判定方法在审
申请号: | 201810415056.1 | 申请日: | 2018-05-03 |
公开(公告)号: | CN108804919A | 公开(公告)日: | 2018-11-13 |
发明(设计)人: | 褚乾峰;朱信宇;许镇泉;刘功申 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06N3/04 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 庄文莉 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 恶意代码 判定 同源 二进制内容 可视化 算法 学习 卷积神经网络 正则表达式 图像 任务转化 图像分类 无用信息 现有系统 反汇编 样本集 准确率 可用 去除 映射 匹配 标签 成熟 | ||
1.一种基于深度学习的恶意代码同源判定方法,其特征在于,包括以下步骤:
步骤S1,恶意代码预处理:对于待判定的恶意代码进行反汇编,通过正则表达式匹配得到其中核心二进制内容,同时去除无用信息;
步骤S2,恶意代码可视化:接收步骤S1中得到的核心二进制内容作为输入,利用恶意代码可视化算法,将核心二进制内容映射为恶意代码图像;
步骤S3,基于深度学习的同源判定:利用步骤S2中得到的恶意代码图像与标签值组成的样本集,对深度学习模型卷积神经网络进行训练,得到成熟的判定模型;接收待判定的恶意代码作为输入,完成同源判定。
2.根据权利要求1所述的基于深度学习的恶意代码同源判定方法,其特征在于,步骤S1中,利用IDA工具,对于待判定的恶意代码进行反汇编,得到汇编代码,并将汇编代码作为处理对象;对汇编代码标注代码段、数据段和资源段,并将代码段与数据段作为恶意代码核心内容,忽略汇编代码的资源段;利用正则表达式匹配方法提取恶意代码核心内容的二进制串,即得到核心二进制内容。
3.根据权利要求2所述的基于深度学习的恶意代码同源判定方法,其特征在于,步骤S1中,所述无用信息,是指汇编代码中存在的用于提高访问效率的数据对齐伪指令。
4.根据权利要求1所述的基于深度学习的恶意代码同源判定方法,其特征在于,步骤S2中,所述恶意代码可视化算法为:对核心二进制内容按字节分割,映射为像素点灰度值数组,再将数组可视化为恶意代码图像。
5.根据权利要求4所述的基于深度学习的恶意代码同源判定方法,其特征在于,对核心二进制内容按字节进行分割,每个字节所对应的十六进制的范围为[00,FF],将[00,FF]对应到十进制数值为0-255,刚好覆盖了整个灰度值的范围,其中0代表黑色,255代表白色。
6.根据权利要求1所述的基于深度学习的恶意代码同源判定方法,其特征在于,步骤S3中,所述标签值,是指恶意代码图像所属同源家族的真实标号。
7.根据权利要求1所述的基于深度学习的恶意代码同源判定方法,其特征在于,所述深度学习模型卷积神经网络的参数包括:
输入:像素大小为448*448的恶意代码图像;
输出:经判定所属家族编号;
卷积层数:10;
池化层数:5;
激活函数:relu;
训练参数总数:3920;
优化器:rmsprop。
8.根据权利要求1所述的基于深度学习的恶意代码同源判定方法,其特征在于,对深度学习模型卷积神经网络进行训练采用5折交叉验证法,将样本集随机划分成5等份,不重复地选择其中1份用于验证,其余4份用于训练。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810415056.1/1.html,转载请声明来源钻瓜专利网。