Devign:通过图神经网络学习全面程序语义以实现有效漏洞识别
软件工程
2019-09-10 v1 密码学与安全
机器学习
机器学习
摘要
漏洞识别对于保护软件系统免受网络攻击至关重要。在源代码中定位存在漏洞的函数以方便修复尤为重要。然而,这是一个具有挑战性且繁琐的过程,并且需要专业的安全知识。受各类代码表示图上人工定义的漏洞模式工作以及图神经网络近期进展的启发,我们提出 Devign,一种基于图神经网络的通用模型,通过在丰富的代码语义表示集合上学习来进行图级分类。它包含一个新的 Conv 模块,用于在学到的丰富节点表示中高效提取对图级分类有用的特征。该模型在基于 4 个多样化的大规模开源 C 项目构建的人工标注数据集上训练,这些项目包含高复杂度和真实源代码的多样性,而非先前工作中使用的合成代码。在该数据集上的广泛评估结果表明,Devign 显著优于当前最优方法,准确率平均高出 10.51%、F1 分数平均高出 8.68%,且 Conv 模块平均提升 4.66% 准确率和 6.37% F1。
引用
@article{arxiv.1909.03496,
title = {Devign: Effective Vulnerability Identification by Learning Comprehensive Program Semantics via Graph Neural Networks},
author = {Yaqin Zhou and Shangqing Liu and Jingkai Siow and Xiaoning Du and Yang Liu},
journal= {arXiv preprint arXiv:1909.03496},
year = {2019}
}
备注
accepted by NeurIPS 2019