[发明专利]一种基于深度学习的图自信学习软件漏洞检测方法有效
申请号: | 202110687688.5 | 申请日: | 2021-06-21 |
公开(公告)号: | CN113378178B | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 李辉;曲阳;王倩;汪海博;刘勇;赵娇茹;郭世凯;陈荣 | 申请(专利权)人: | 大连海事大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/41;G06F40/30;G06N3/048;G06N3/08 |
代理公司: | 大连东方专利代理有限责任公司 21212 | 代理人: | 姜玉蓉;李洪福 |
地址: | 116026 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 学习 自信 软件 漏洞 检测 方法 | ||
本发明公开了一种基于深度学习的图自信学习软件漏洞检测方法,包括:对源代码进行构图:将唯一的单词表示为顶点,将单词之间的协同表示为边来构造代码的图,获取每个图的连接的边的初始特征以及每个节点的初始特征值;构建深度置信网络模型,将转化为图结构的数据集输入至该模型中,找出数据集中是噪音的样本,把噪音样本从数据集中删除;使用门控图神经网络聚集和传递代码图中相邻代码节点的信息,学习代码节点的特征并进行图级预测从而对软件代码漏洞进行检测。该方法通过深度学习的图自信学习软件漏洞检测方法来训练识别软件漏洞模型,在检测软件漏洞方面取得了良好的效果,提高了在软件性能问题。
技术领域
本发明涉及软件漏洞检测技术领域,尤其涉及一种基于深度学习的图自信学习软件漏洞检测方法。
背景技术
代码漏洞与缺陷从有软件开始就一直伴随。早期的漏洞检测方法有静态分析方法、动态分析方法和符号执行方法。静态分析主要通过量化软件代码为静态属性或特征,用这个特征来代表软件代码的一个模块或者一个方法,然后标记这些特征对应的状态(有无漏洞),通过对这些特征向量和对应的标记信息进行统计分析,构建预测模型。然后对新的软件代码量化为同样的特征属性,用预测模型进行预测是否有漏洞或者缺陷。动态分析预测是通过采集软件运行过程中的漏洞缺陷信息以及状态与过程信息等,挖掘和探究这些信息与漏洞发生的相关关系,进而根据软件系统运行过程中的状态与过程信息,预测软件代码的漏洞与缺陷情况。符号执行用符号值替换输入数据,并在程序的控制流图上分析他们的使用。除了上面的静态分析方法、动态分析方法、符号执行的这些经典方法之外,越来越多的工作将机器学习方法应用于代码漏洞检测,并取得了许多进步。使用机器学习的方法是将人类专家手工制作的特征或者模式作为输入来检测漏洞。但是由于漏洞类型和库的不同,利用手工制作的特征来表征众多库的所有漏洞是不切实际的。
为了避免人类安全专家花费大量的时间和精力进行手工定义漏洞特征和模式,现有技术中采用基于深度特征表示学习的漏洞检测工具,即使用卷积神经网络和循环神经网络从嵌入的源代码进行特征提取,并输入到集成分类器(RF)中,预测代码是否含有漏洞,但是该方法大部分工作中使用的模型传统神经网络都是基于序列的模型,但是基于序列的模型在学习源代码表示时存在一个问题:与自然语言相比,编程语言是形式语言,用他们编写的源代码是明确的和结构化的。因此他们按照顺序处理代码token时,并不会对源代码的非顺序结构建模,从而忽略了代码的结构信息。
发明内容
根据现有技术存在的问题,本发明公开了一种基于深度学习的图自信学习软件漏洞检测方法,具体包括如下步骤:
对源代码进行构图:将唯一的单词表示为顶点,将单词之间的协同表示为边来构造代码的图,获取每个图的连接的边的初始特征以及每个节点的初始特征值;
构建深度置信网络模型,将转化为图结构的数据集输入至该模型中,找出数据集中是噪音的样本,把噪音样本从数据集中删除;
使用门控图神经网络将代码图中相邻代码节点的信息进行聚集和传递,学习代码节点的特征并进行图级预测从而对软件代码漏洞进行检测。
进一步的,对于边的初始特征,使用NL Graph Embedding方法来获得边权,对于节点的初始特征使用一个经过Glove训练的一个单词嵌入字典来获得每个单词的嵌入向量。
进一步的,对源代码进行构图时首先对单词节点初始化,将源代码的构成的图作为输入,对于每个单词节点v∈V进行初始化,公式为将每个单词节点的状态向量设置为Z维,即每个单词节点的输入特征维度为D维,T为时间步的总数,如果单词节点的状态向量维度Z大于节点输入特征维度D,将在节点输入特征后面增添Z-D个0;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连海事大学,未经大连海事大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110687688.5/2.html,转载请声明来源钻瓜专利网。