中文

利用代码即图学习将源代码映射到软件漏洞

软件工程 2020-06-17 v1 密码学与安全 机器学习 编程语言

摘要

我们探索图神经网络从安全视角学习源代码细微特征的可行性。具体而言,源代码中漏洞的特征是否可从其图表示(就节点与边之间的关系而言)中学习。我们构建了一个称为 AI4VA 的流程,它首先将样本源代码编码为代码属性图(Code Property Graph)。随后以保留语义信息的方式将提取的图向量化。然后使用多个此类图训练一个门控图神经网络(Gated Graph Neural Network),以自动提取区分漏洞样本与健康样本图的模板。在三个数据集中,我们的模型在其中的两个上优于静态分析器、经典机器学习以及基于 CNN 和 RNN 的深度学习模型。因此我们表明,相较于现有的代码即照片与线性序列编码方法,代码即图编码对漏洞检测更具意义。(2019 年 10 月提交,论文 #28,ICST)

关键词

引用

@article{arxiv.2006.08614,
  title  = {Learning to map source code to software vulnerability using code-as-a-graph},
  author = {Sahil Suneja and Yunhui Zheng and Yufan Zhuang and Jim Laredo and Alessandro Morari},
  journal= {arXiv preprint arXiv:2006.08614},
  year   = {2020}
}