基于图神经网络的代码漏洞检测方法
2021.06.30 10:19浏览量:373简介:基于图神经网络的代码漏洞检测方法
论文标题:基于图神经网络的代码漏洞检测方法
论文链接:http://www.infocomm-journal.com/cjnis/CN/10.11959/j.issn.2096-109x.2021039
作者单位:上海交通大学
使用神经网络进行漏洞检测的方案大多基于传统自然语言处理的思路,将源代码当作序列样本处理,忽视了代码中所具有的结构性特征,从而遗漏了可能存在的漏洞。提出了一种基于图神经网络的代码漏洞检测方法,通过中间语言的控制流图特征,实现了函数级别的智能化代码漏洞检测。首先,将源代码编译为中间表示,进而提取其包含结构信息的控制流图,同时使用词向量嵌入算法初始化基本块向量提取代码语义信息;然后,完成拼接生成图结构样本数据,使用多层图神经网络对图结构数据特征进行模型训练和测试。采用开源漏洞样本数据集生成测试数据对所提方法进行了评估,结果显示该方法有效提高了漏洞检测能力。
本文的主要贡献如下:
1) 设计了一种基于中间语言控制流图的代码特征提取方案。通过提取源代码的控制流图结构信息,同时使用基本块的中间语言提取代码语义信息,嵌入图节点中,将源代码转化为图结构数据样本。
2) 使用图神经网络模型处理代码图结构样本。基于图结构的数据样本,设计了一种基于图卷积的深度神经网络模型,用来对样本数据进行特征提取和样本分类。
3) 基于设计方案设计了实验方案并对结果进行了分析。实验结果显示,本文设计的方案在基准数据集上取得了比传统静态扫描更高的准确率。
发表评论
登录后可评论,请前往 登录 或 注册