一种基于深度学习的恶意代码同源判定系统及其判定方法技术方案

技术编号:19778870 阅读:27 留言:0更新日期:2018-12-15 11:30
本发明专利技术公开了一种基于深度学习的恶意代码同源判定系统及其判定方法,涉及信息安全技术领域。同源判定系统包括同源数据库模块、自动化脱壳模块、可视化模块、深度学习模块和报告生成模块。判定方法为,同源数据库模块自动从网络空间收集恶意代码,提取同源信息,更新数据库;自动化脱壳模块对恶意代码样本进行查壳和自动化脱壳,重构可执行的无壳样本;可视化模块生成表征恶意代码全局特征的灰度图序列;深度学习模块由提取抽象特征的卷积神经网络和进行序列学习的门循环单元神经网络组成。报告生成模块结合同源数据库中信息和深度学习模块的结果生成同源报告。本发明专利技术提高了系统的通用性、合理性和对随机恶意代码的同源判定能力。

【技术实现步骤摘要】
一种基于深度学习的恶意代码同源判定系统及其判定方法
本专利技术涉及信息安全
,尤其涉及一种基于深度学习的恶意代码同源判定系统及其判定方法。
技术介绍
恶意代码同源判定(MalwareAttribution)是指分析不同恶意代码源自同一组织或个人。这些恶意代码可能源自不同的家族,使用不同的编译器,通过不同加壳技术保护。基于传统机器学习算法的恶意代码同源判定技术经过了下述发展历程。2004年,FrantzeskouG、GritzalisS、MacDonellSG发文提出基于源代码编程风格分析的恶意代码同源判定方法。这类方法直观,特征分析容易,但缺乏通用性,因为大多数情况下,恶意代码的源码无法拿到。2011年,RosenblumN、ZhuX、MillerBP发文提出基于恶意代码二进制文件分析的同源判定方法。这类方法的特点是通过逆向工程,尽可能从二进制文件中还原恶意代码的特征,再利用这些特征结合机器学习算法进行同源判定。2012年官强、刘星基于恶意代码的静态特征提出的同源性自动判定技术,2015年张永铮基于调用习惯提出的恶意代码同源判定方法以及2015年何源浩提出的一种海量恶意样本同源判定方法都属于RosenblumN方法的类别。这类方法的缺点是反汇编耗时复杂,反编译难以实现,人工特征提取无法自动化。RosenblumN方法的变种是基于恶意代码运行时特征的恶意代码同源判定技术。2015年,康排提出的基于行为特征相似性分析恶意代码的同源性技术就属于此类别。但基于运行时行为特征相似性的方法需要大量的对运行上下文环境进行建模,缺乏可行性和合理性。基于深度学习算法的恶意代码同源判定技术经过了下述发展历程。2011年,NatarajL、KarthikeyanS、JacobG等发文提出基于恶意代码可视化的同源判定方法,该方法的核心思想是将恶意代码二进制文件直接转换为灰度图,再利用图片分类的方法进行同源判定,该方法给海量恶意代码的自动化同源判定提供了新思路。近几年,NatarajL恶意代码可视化的思想结合深度学习演化出好几个版本的恶意代码同源判定技术。但究其本质都是用一张有限的灰度图来标识恶意代码,然后利用成熟的卷积神经网络(ConvolutionalNeuralNetwork,CNN)来进行同源判定。这类方法输入层向量长度固定,难以消除不同编译器带来的噪声;同时有限的灰度图无法解决恶意代码同源判定中的长期依赖问题(ong-termdependencies),即作者的编程风格随时间缓演化;恶意代码本身具有空间和时间上的特征。最后该类方法也不能抵抗加壳技术。综上,现有方法中还没有一种针对海量恶意代码的、通用性强的、准确率高的恶意代码同源判定技术。因此,本领域的技术人员致力于开发一种基于深度学习的恶意代码同源判定系统及其判定方法,以期改良单一卷积神经网络在恶意代码同源判定中存在的问题,同时得到一份全面的同源判定结果。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是如何实现通用性强、自动化的恶意代码同源判定系统。为实现上述目的,本专利技术提供了一种基于深度学习的恶意代码同源判定系统,包括服务器端和浏览器端,所述服务器端包括同源数据库模块、自动化脱壳模块、可视化模块、深度学习模块和报告生成模块;所述同源数据库模块包括同源数据库,被配置成自动从网络空间收集恶意代码,进行分析,提取恶意代码同源信息,保存所述自动化脱壳模块、所述可视化模块、所述深度学习模块的分析结果;所述自动化脱壳模块包括查壳子模块和脱壳子模块,所述自动化脱壳模块被配置成对加壳的恶意代码样本进行自动化脱壳,重构可执行的无壳样本,并更新所述同源数据库;所述可视化模块被配置成对无壳恶意代码样本进行可视化处理,生成表征恶意代码全局特征的灰度图序列,并更新所述同源数据库;所述深度学习模块包括提取抽象特征的卷积神经网络和进行序列学习的门循环单元神经网络,通过同源数据中的有监督值恶意代码样本进行训练学习,得到成熟模型,将恶意代码灰度图序列输入到所述成熟模型,得到恶意代码的同源判定结果;所述报告生成模块被配置成结合所述同源数据库中的信息和所述深度学习模块的同源判定结果生成同源判定报告;所述浏览器端被配置为面向用户上传恶意代码可执行文件和呈现生成的所述同源判定报告。本专利技术还提供了一种基于深度学习的恶意代码同源判定方法,应用于上述基于深度学习的恶意代码同源判定系统,包括以下步骤:步骤S1:恶意代码样本进行所述自动化脱壳模块得到无壳恶意代码样本;步骤S2:所述无壳恶意代码样本进行所述同源数据库模块查询、分析和存档;步骤S3:所述无壳恶意代码样本通过所述可视化模块,得到表征恶意代码全局特征的灰度图序列;步骤S4:使用有监督值的恶意代码灰度图序列训练深度学习网络;步骤S5:输入恶意代码的灰度图序列,使用训练成熟的深度学习网络进行同源判定;步骤S6:根据判定结果生成同源判定报告。进一步地,所述步骤S1包括以下步骤:步骤S1-1:查壳,检测恶意代码样本是否有加壳保护,通过什么类型的壳技术进行保护;步骤S1-2:脱壳,加壳恶意代码样本进行自动化脱壳,重构出可执行的无壳恶意代码样本。进一步地,所述步骤S2包括以下步骤:步骤S2-1:无壳恶意代码样本计算md5散列值,作为全局基因信息,在同源数据库中进行匹配;步骤S2-2:若不存在,则进行同源信息提取,更新数据库。进一步地,所述步骤S3包括以下步骤:步骤S3-1:若为不可执行文件,则将其utf-8编码,然后按字节分割,转化为对应灰度值,最后组合成大小为256*256的灰度图序列;步骤S3-2:若为可执行文件,则将其section各字段按字节分割,转化为对应灰度值,最后组合成大小为256*256的灰度图序列。进一步地,所述步骤S4包括以下步骤:步骤S4-1:所述同源数据库模块通过自动收集恶意代码样本,提取同源信息,采集大量的带有同源标签的恶意代码样本;步骤S4-2:将所述同源数据库中带有监督值的恶意代码进行可视化,对深度学习网络进行周期性的更新训练,得到成熟的深度学习网络。进一步地,所述步骤S5包括以下步骤:步骤S5-1:保存用户上传的恶意代码样本,进行自动化脱壳;步骤S5-2:对于所述步骤S5-1中得到的无壳恶意代码样本,计算md5散列值,作为全局基因信息;步骤S5-3:在所述同源数据库中匹配所述步骤S5-2中得到的恶意代码基因信息;步骤S5-4:如果所述步骤S5-3的匹配结果存在,进入步骤S5-8,否则进入步骤S5-5;步骤S5-5:对所述步骤S5-1中得到的无壳恶意代码样本进行可视化,得到恶意代码灰度图序列;步骤S5-6:将所述步骤S5-5中得到的恶意代码灰度图序列输入所述成熟的深度学习网络进行同源判定;步骤S5-7:根据所述步骤S5-6中得到的恶意代码同源判定结果更新所述同源数据库;步骤S5-8:根据所述同源数据库中的记录,生成同源判定结果报告。进一步地,所述步骤S4-2中所使用的深度学习网络模型被配置为,采用卷积神经网络结合门循环单元神经网络构造整体模型;采用卷积神经网络处理输入长度不固定的灰度图序列,抽象出长度固定的特征向量;采用门循环单元神经网络进行分类学习,输出同源结果。进一步地,所述卷积神经网络的参数被配置为:本文档来自技高网
...

【技术保护点】
1.一种基于深度学习的恶意代码同源判定系统,其特征在于,包括服务器端和浏览器端,所述服务器端包括同源数据库模块、自动化脱壳模块、可视化模块、深度学习模块和报告生成模块;所述同源数据库模块包括同源数据库,被配置成自动从网络空间收集恶意代码,进行分析,提取恶意代码同源信息,保存所述自动化脱壳模块、所述可视化模块、所述深度学习模块的分析结果;所述自动化脱壳模块包括查壳子模块和脱壳子模块,所述自动化脱壳模块被配置成对加壳的恶意代码样本进行自动化脱壳,重构可执行的无壳样本,并更新所述同源数据库;所述可视化模块被配置成对无壳恶意代码样本进行可视化处理,生成表征恶意代码全局特征的灰度图序列,并更新所述同源数据库;所述深度学习模块包括提取抽象特征的卷积神经网络和进行序列学习的门循环单元神经网络,通过同源数据中的有监督值恶意代码样本进行训练学习,得到成熟模型,将恶意代码灰度图序列输入到所述成熟模型,得到恶意代码的同源判定结果;所述报告生成模块被配置成结合所述同源数据库中的信息和所述深度学习模块的同源判定结果生成同源判定报告;所述浏览器端被配置为面向用户上传恶意代码可执行文件和呈现生成的所述同源判定报告。

【技术特征摘要】
1.一种基于深度学习的恶意代码同源判定系统,其特征在于,包括服务器端和浏览器端,所述服务器端包括同源数据库模块、自动化脱壳模块、可视化模块、深度学习模块和报告生成模块;所述同源数据库模块包括同源数据库,被配置成自动从网络空间收集恶意代码,进行分析,提取恶意代码同源信息,保存所述自动化脱壳模块、所述可视化模块、所述深度学习模块的分析结果;所述自动化脱壳模块包括查壳子模块和脱壳子模块,所述自动化脱壳模块被配置成对加壳的恶意代码样本进行自动化脱壳,重构可执行的无壳样本,并更新所述同源数据库;所述可视化模块被配置成对无壳恶意代码样本进行可视化处理,生成表征恶意代码全局特征的灰度图序列,并更新所述同源数据库;所述深度学习模块包括提取抽象特征的卷积神经网络和进行序列学习的门循环单元神经网络,通过同源数据中的有监督值恶意代码样本进行训练学习,得到成熟模型,将恶意代码灰度图序列输入到所述成熟模型,得到恶意代码的同源判定结果;所述报告生成模块被配置成结合所述同源数据库中的信息和所述深度学习模块的同源判定结果生成同源判定报告;所述浏览器端被配置为面向用户上传恶意代码可执行文件和呈现生成的所述同源判定报告。2.一种基于深度学习的恶意代码同源判定方法,其特征在于,应用于如权利要求1所述的基于深度学习的恶意代码同源判定系统,包括以下步骤:步骤S1:恶意代码样本进行所述自动化脱壳模块得到无壳恶意代码样本;步骤S2:所述无壳恶意代码样本进行所述同源数据库模块查询、分析和存档;步骤S3:所述无壳恶意代码样本通过所述可视化模块,得到表征恶意代码全局特征的灰度图序列;步骤S4:使用有监督值的恶意代码灰度图序列训练深度学习网络;步骤S5:输入恶意代码的灰度图序列,使用训练成熟的深度学习网络进行同源判定;步骤S6:根据判定结果生成同源判定报告。3.如权利要求2所述的基于深度学习的恶意代码同源判定方法,其特征在于,所述步骤S1包括以下步骤:步骤S1-1:查壳,检测恶意代码样本是否有加壳保护,通过什么类型的壳技术进行保护;步骤S1-2:脱壳,加壳恶意代码样本进行自动化脱壳,重构出可执行的无壳恶意代码样本。4.如权利要求2所述的基于深度学习的恶意代码同源判定方法,其特征在于,所述步骤S2包括以下步骤:步骤S2-1:无壳恶意代码样本计算md5散列值,作为全局基因信息,在同源数据库中进行匹配;步骤S2-2:若不存在,则进行同源信息提取,更新数据库。5.如权利要求2所述的基于深度学习的恶意代码同源判定方法,其特征在于,所述步骤S3包括以下步骤:步骤S3-1:若为不可执行文件,则将其utf-8编码,然后按字节分割,转化为对应灰度值,最后组合成大小为256*256的灰度图序列;步骤S3-2:若为可执行文件,则将其section各字段按字节分割,转化为对应灰度值,最后组合成大小为256*256的灰度图序列。6.如权...

【专利技术属性】
技术研发人员:吴越蒋永康邹福泰
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1