[发明专利]基于深度卷积网络和控制流图的漏洞检测系统有效
申请号: | 201711325630.6 | 申请日: | 2017-12-13 |
公开(公告)号: | CN108108622B | 公开(公告)日: | 2021-03-16 |
发明(设计)人: | 夏之阳;易平 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/53;G06N3/04;G06N3/08 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王毓理;王锡麟 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 深度 卷积 网络 控制 漏洞 检测 系统 | ||
一种基于深度卷积网络和控制流图的漏洞检测系统,包括:预处理模块、训练模块以及预测模块,其中:预处理模块读入漏洞代码库中的目标代码并生成控制流图后转化成二维向量,特征学习模块运用深度卷积网络从二维向量中进行特征提取并训练;本发明通过分析大量的漏洞样本,用深度学习的方式得到漏洞的特征模型,用这个模型来发现未知的漏洞,同时将待测代码与已知漏洞的代码进行相似性比对,来发现近似的漏洞代码。借助人工智能,能够降低漏洞挖掘的难度,靠机器来发现漏洞特征,筛选掉不存在漏洞的代码,提升安全工程师的效率。
技术领域
本发明涉及一种图像处理领域的技术,具体涉及一种将代码转化成控制流图,将控制流图重新编码成图像,通过对图像的深度学习提取代码漏洞特征的技术。
背景技术
漏洞是指系统中存在的一些功能性或安全性的逻辑缺陷,包括一切导致威胁、损坏计算机系统安全性的所有因素,是计算机系统在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷和不足。目前常用的漏洞挖掘技术包括:人工检测、Fuzz技术、二进制对比、静态分析和动态分析。在真实的工程环境下,漏洞挖掘都是以人的判断为向导,结合以上常用的技术,因此漏洞挖掘的效率主要取决于安全工程师的能力。借助人工智能,能够降低漏洞挖掘的难度,靠机器来发现漏洞特征,筛选掉不存在漏洞的代码,提升工程师的效率。
发明内容
本发明针对现有技术的缺陷和不足,提出一种基于深度卷积网络和控制流图的漏洞检测系统,将代码转化成控制流图,将控制流图重新编码成图像,用深度学习模型进行图像的特征学习,从而得到漏洞的图像特征。具体做法是:首先将源码转化成汇编语言,二进制代码进行反汇编到汇编代码。生成汇编代码的控制流图,将控制流图进行编码,从而将控制流图转化成向量。将这些向量组合,变成二维向量,从而相当于合成了一张图像。本发明通过两种方式来发现漏洞。一种是分析大量的漏洞样本,用深度学习的方式得到漏洞的特征模型,用这个模型来发现未知的漏洞;另一种是将待测代码与已知漏洞的代码进行相似性比对,来发现近似的漏洞代码。
本发明是通过以下技术方案实现的:
本发明涉及一种基于深度卷积网络和控制流图的漏洞检测系统,包括:预处理模块、训练模块以及预测模块,其中:预处理模块读入漏洞代码库中的目标代码并生成控制流图后转化成二维向量,特征学习模块运用深度卷积网络从二维向量中进行特征提取并训练,训练模块中包括:用于特征学习的卷积神经网络单元和用于相似性对比的BP神经网络单元,卷积神经网络单元运用深度卷积网络对二维向量进行特征提取并训练得到识别漏洞特征的神经网络参数;BP神经网络单元运用BP神经网络对目标代码和漏洞代码进行相似性分析并训练得到判别代码相似性的神经网络参数,预测模块对目标代码进行预测工作,根据训练模块得到的参数,判断是否包含漏洞,对于判定为有漏洞的代码生成漏洞报告。
所述的二维向量,当目标代码为源码,则预处理模块直接转化成汇编代码,当目标代码为二进制代码,则预处理模块先进行反汇编操作得到汇编代码;根据汇编代码生成控制流图后将控制流图的每个节点映射到一个向量后合并得到。
所述的漏洞代码库为从CVE数据库中搜集得到的漏洞代码。
所述的预处理模块包括:将代码编译为汇编代码的编译器、通过开源工具将汇编代码转化成控制流图的控制流图生成单元以及将控制流图的各个节点编码成为向量并组合成二维向量的编码单元。
所述的训练模块包括:卷积神经网络单元、卷积神经网络的参数调整单元、BP神经网络单元和BP神经网络单元的参数调整单元,其中:卷积神经网络单元与预处理模块相连,接收二维向量进行特征提取并训练得到识别漏洞特征的神经网络参数,卷积神经网络的参数调整单元与卷积神经网络单元相连并传输调整后的神经网络参数,BP神经网络单元与预处理模块相连,接收二维向量进行相似性分析并训练得到判别代码相似性的神经网络参数,BP神经网络单元的参数调整单元与BP神经网络单元相连并传输调整后的神经网络参数。
技术效果
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711325630.6/2.html,转载请声明来源钻瓜专利网。