计算机研究与发展2021,Vol.58Issue(8) :1668-1685.DOI:10.7544/issn1000-1239.2021.20210297

基于代码属性图和Bi-GRU的软件脆弱性检测方法

Software Vulnerability Detection Method Based on Code Property Graph and Bi-GRU

肖添明 管剑波 蹇松雷 任怡 张建锋 李宝
计算机研究与发展2021,Vol.58Issue(8) :1668-1685.DOI:10.7544/issn1000-1239.2021.20210297

基于代码属性图和Bi-GRU的软件脆弱性检测方法

Software Vulnerability Detection Method Based on Code Property Graph and Bi-GRU

肖添明 1管剑波 1蹇松雷 1任怡 1张建锋 1李宝1
扫码查看

作者信息

  • 1. 国防科技大学计算机学院 长沙410073
  • 折叠

摘要

现在软件规模越来越庞大和复杂,脆弱性形式也更趋向多样化,传统的脆弱性检测方法存在人工参与度高、对未知脆弱性检测能力弱的缺点,已无法满足对多样化脆弱性的检测要求.为了提高对未知脆弱性的检测效果,大量机器学习方法被应用到软件脆弱性检测领域.由于现有方法在代码表征过程中存在着较高的语法和语义信息的损失,导致误报率和漏报率较高.针对这一问题,提出了一种基于代码属性图和Bi-GRU的软件脆弱性检测方法.该方法通过从函数的代码属性图中提取出抽象语法树序列、控制流图序列作为函数表征的表征方式,减少代码表征过程中的信息的损失,并通过选取Bi-GRU来构建特征提取模型,提高对脆弱性代码的特征提取能力.实验结果表明,与以抽象语法树为表征方式的方法相比,该方法最大可提高35%的精确率和22%的召回率,可改善面向多个软件源代码混合的真实数据集的脆弱性检测效果,有效降低误报率和漏报率.

关键词

脆弱性检测/代码属性图/代码表征/机器学习/Bi-GRU

引用本文复制引用

基金项目

出版年

2021
计算机研究与发展
中国科学院计算技术研究所 中国计算机学会

计算机研究与发展

CSTPCDCSCD北大核心
影响因子:2.649
ISSN:1000-1239
被引量4
参考文献量6
段落导航相关论文