基于深度学习的恶意代码同源判定方法技术

技术编号:19425920 阅读:32 留言:0更新日期:2018-11-14 10:44
本发明专利技术提供了一种基于深度学习的恶意代码同源判定方法,包括:利用IDA工具,对于待判定的恶意代码进行反汇编,通过正则表达式匹配得到其中核心二进制内容,同时去除无用信息;接收二进制内容作为输入,利用恶意代码可视化算法,将二进制内容映射为恶意代码图像;利用恶意代码图像与标签值组成的样本集,对深度学习模型卷积神经网络进行训练,得到成熟的判定模型。接收待判定的恶意代码作为输入,完成同源判定。本发明专利技术通过恶意代码可视化算法,将同源判定任务转化为图像分类任务,结合深度学习判定模型,实现了一个可用的恶意代码同源判定方法。实现比现有系统更高判定准确率的同源判定技术。

【技术实现步骤摘要】
基于深度学习的恶意代码同源判定方法
本专利技术涉及互联网信息安全
,具体地,涉及的是一种基于深度学习的恶意代码同源判定方法,通过恶意代码可视化算法,将同源判定任务转化为图像分类任务,结合深度学习判定模型,实现了一个可用的恶意代码同源判定方法。
技术介绍
互联网时代到来,信息技术迅猛发展,它在为人们提供种种便利的同时,也带来了潜在的信息安全问题,尤其是网络安全问题,它威胁着用户信息财产的安全,而恶意代码的泛滥就是其中之一。恶意代码指的是所有携带恶意攻击的软件的实现代码,它是一种违背了目标系统安全策略的程序代码,其目的包括造成系统信息的泄露与资源滥用、破坏目标系统的完整性与可用性。针对爆发式增长的恶意代码,安全研究人员对恶意代码分析技术做出深入研究。结果发现,很多新型的恶意代码都是来自于已有的恶意代码的变种。代码编写者利用变形、加壳、多态、代码扰乱等技术对原有代码做处理,以躲避例如特征码匹配等传统恶意代码检测技术,这些代码往往具有高度相似的结构、雷同的函数调用顺序与代码编写习惯等。对未知恶意代码进行同源性判定能够找出与其具有相似特征的、已记录在库的同源恶意代码,从而做出快速响应与处理。恶意代码可视化思想用于恶意代码分析研究已有学者进行一定研究,该思想最早是由加利福尼亚大学的Nataraj和Karthikeyan在2011年提出的,利用图像中的纹理特征对恶意代码进行分析与检测。而近年来,伴随着深度学习技术的迅猛发展,卷积神经网络在图像识别领域展现出卓越性能,为恶意代码图像的分类判定提供新的模型选择。目前没有发现同本专利技术类似技术的说明或报道,也尚未收集到国内外类似的资料。
技术实现思路
本专利技术针对现有技术存在的上述不足,提供了一种基于深度学习的恶意代码同源判定方法,该方法使用发展日益成熟的深度学习判定模型,完成一个可用的有价值的恶意代码同源判定方法。该方法利用一种恶意代码可视化算法将恶意代码映射为灰度图像,将同源判定问题转化为图像分类问题,结合深度学习的卷积神经网络模型,实现比现有系统更高判定准确率的同源判定技术。本专利技术是通过以下技术方案实现的。一种基于深度学习的恶意代码同源判定方法,包括以下步骤:步骤S1,恶意代码预处理:对于待判定的恶意代码进行反汇编,通过正则表达式匹配得到其中核心二进制内容,同时去除无用信息;步骤S2,恶意代码可视化:接收步骤S1中得到的核心二进制内容作为输入,利用恶意代码可视化算法,将核心二进制内容映射为恶意代码图像;步骤S3,基于深度学习的同源判定:利用步骤S2中得到的恶意代码图像与标签值组成的样本集,对深度学习模型卷积神经网络进行训练,得到成熟的判定模型;接收待判定的恶意代码作为输入,完成同源判定。优选地,步骤S1中,利用IDA工具,对于待判定的恶意代码进行反汇编,得到汇编代码,并将汇编代码作为处理对象;对汇编代码标注代码段、数据段和资源段,并将代码段与数据段作为恶意代码核心内容,忽略汇编代码的资源段;利用正则表达式匹配方法提取恶意代码核心内容的二进制串,即得到核心二进制内容。优选地,步骤S1中,所述无用信息,是指汇编代码中存在的用于提高访问效率的数据对齐伪指令。优选地,步骤S2中,所述恶意代码可视化算法为:对核心二进制内容按字节分割,映射为像素点灰度值数组,再将数组可视化为恶意代码图像。优选地,对核心二进制内容按字节进行分割,每个字节所对应的十六进制的范围为[00,FF],将[00,FF]对应到十进制数值为0-255,刚好覆盖了整个灰度值的范围,其中0代表黑色,255代表白色。优选地,步骤S3中,所述标签值为:恶意代码图像所属同源家族的真实标号。优选地,所述深度学习模型卷积神经网络的参数包括:输入:像素大小为448*448的恶意代码图像;输出:经判定所属家族编号;卷积层数:10;池化层数:5;激活函数:relu;训练参数总数:3920;优化器:rmsprop。优选地,对深度学习模型卷积神经网络进行训练采用5折交叉验证法,将样本集随机划分成5等份,不重复地选择其中1份用于验证,其余4份用于训练。与现有恶意代码同源判定技术相比,本专利技术具有如下有益效果:第一,本专利技术将特征选择着眼于更宏观的恶意代码图像,舍弃常用的动静态分析所得到的局部微观特征,无需对恶意代码做人工处理与分析,实现系统自动化,可高效便捷地对恶意代码做同源判定。第二,本专利技术的判定系统具备可学习性,深度学习技术的特性支持系统获取新恶意代码样本时可进行追加训练,及时适应新型恶意代码的出现,进一步提高准确率。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例的方法总体架构图。图2为本专利技术的恶意代码可视化算法示意图。图3为本专利技术的深度学习模型示意图。具体实施方式下面对本专利技术的实施例作详细说明:本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进,这些都属于本专利技术的保护范围。实施例本实施例提供了一种基于深度学习的恶意代码同源判定方法,包括以下步骤:第一步:恶意代码预处理。利用IDA工具,对于待判定的恶意代码进行反汇编,通过正则表达式匹配得到其中核心二进制内容,同时去除无用信息。所述核心二进制内容,具体为,恶意代码经过反汇编后,得到汇编代码,IDA工具对汇编代码标注了代码段(“.text”)、数据段(“.data”、“.rdata”、“.idata”)和资源段(“.rsrc”),本实施例认为代码段与数据段为恶意代码核心内容,忽略资源段。所述去除无用信息,具体为,代码中存在数据对齐伪指令(align)用于提高访问效率,对判定无实际意义,删去。第二步:恶意代码可视化。接收第一步所述的核心二进制内容作为输入,利用恶意代码可视化算法,将核心二进制内容映射为恶意代码图像。所述恶意代码可视化算法,具体为,对二进制文件按字节进行分割,每个字节所对应的十六进制的范围为[00,FF],将[00,FF]对应到十进制数值为0-255,刚好覆盖了整个灰度值的范围,0代表黑色,255代表白色。对恶意可执行文件(即恶意代码)进行反汇编操作得到其二进制串(即核心二进制内容),按字节分割得到像素值存入数组,将二进制串映射为像素点灰度值数组,再将数组可视化为恶意代码图像。第三步:基于深度学习的同源判定。利用第二步中得到的恶意代码图像与标签值(该标签值是指:恶意代码图像所属同源家族的真实标号)组成的样本集,对深度学习模型卷积神经网络进行训练,得到成熟的判定模型。接收待判定的恶意代码作为输入,完成同源判定。所述深度学习模型卷积神经网络,具体为,一种深度学习模型,一种前馈神经网络,由卷积层和池化层堆叠而成,因其局部连接、权重共享、多卷积核的特点被广泛应用于图像处理与识别领域,性能优异。进一步地,所述深度学习模型卷积神经网络的参数为:输入:像素大小为448*448的恶意代码图像;输出:经判定所属家族编号;卷积层数:10;池化层数:5;激活函数:relu;训练参数总数:3920;优化器:rmsprop。进一步地,对深度学习模型卷积神经网络进行训练采用5折交叉验证法,将样本本文档来自技高网
...

【技术保护点】
1.一种基于深度学习的恶意代码同源判定方法,其特征在于,包括以下步骤:步骤S1,恶意代码预处理:对于待判定的恶意代码进行反汇编,通过正则表达式匹配得到其中核心二进制内容,同时去除无用信息;步骤S2,恶意代码可视化:接收步骤S1中得到的核心二进制内容作为输入,利用恶意代码可视化算法,将核心二进制内容映射为恶意代码图像;步骤S3,基于深度学习的同源判定:利用步骤S2中得到的恶意代码图像与标签值组成的样本集,对深度学习模型卷积神经网络进行训练,得到成熟的判定模型;接收待判定的恶意代码作为输入,完成同源判定。

【技术特征摘要】
1.一种基于深度学习的恶意代码同源判定方法,其特征在于,包括以下步骤:步骤S1,恶意代码预处理:对于待判定的恶意代码进行反汇编,通过正则表达式匹配得到其中核心二进制内容,同时去除无用信息;步骤S2,恶意代码可视化:接收步骤S1中得到的核心二进制内容作为输入,利用恶意代码可视化算法,将核心二进制内容映射为恶意代码图像;步骤S3,基于深度学习的同源判定:利用步骤S2中得到的恶意代码图像与标签值组成的样本集,对深度学习模型卷积神经网络进行训练,得到成熟的判定模型;接收待判定的恶意代码作为输入,完成同源判定。2.根据权利要求1所述的基于深度学习的恶意代码同源判定方法,其特征在于,步骤S1中,利用IDA工具,对于待判定的恶意代码进行反汇编,得到汇编代码,并将汇编代码作为处理对象;对汇编代码标注代码段、数据段和资源段,并将代码段与数据段作为恶意代码核心内容,忽略汇编代码的资源段;利用正则表达式匹配方法提取恶意代码核心内容的二进制串,即得到核心二进制内容。3.根据权利要求2所述的基于深度学习的恶意代码同源判定方法,其特征在于,步骤S1中,所述无用信息,是指汇编代码中存在的用于提高访问效率的数据对齐伪指令。4.根据权利要求1所述的基于深...

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

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

1