arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2109.03341cs.AIcs.SE
收藏

基于分解代码图表示的深度学习软件漏洞检测

Software Vulnerability Detection via Deep Learning over Disaggregated Code Graph Representation

IBM Research(IBM研究院)

Yufan Zhuang, Sahil Suneja, Veronika Thost, Giacomo Domeniconi, Alessandro Morari, Jim Laredo

摘要:

识别易受攻击的代码是应对软件安全漏洞的预防措施。构建静态分析器已经花费了专家们冗长的精力,但是不安全的模式几乎没有被完全列举出来。本文探索了一种深度学习的方法,从代码语料库中自动学习不安全的模式。由于代码自然承认图结构与解析,我们开发了一种新的图神经网络(GNN),利用语义上下文和结构规律的程序,以提高预测性能。与通用GNN相比,我们的增强功能包括从程序的几个解析图中学习到的多个表示的合成,以及利用标记的细粒度的新训练损失度量。我们的模型在两个真实世界的数据集上优于多种基于文本、图像和图形的方法。

英文摘要:

Identifying vulnerable code is a precautionary measure to counter software security breaches. Tedious expert effort has been spent to build static analyzers, yet insecure patterns are barely fully enumerated. This work explores a deep learning approach to automatically learn the insecure patterns from code corpora. Because code naturally admits graph structures with parsing, we develop a novel graph neural network (GNN) to exploit both the semantic context and structural regularity of a program, in order to improve prediction performance. Compared with a generic GNN, our enhancements include a synthesis of multiple representations learned from the several parsed graphs of a program, and a new training loss metric that leverages the fine granularity of labeling. Our model outperforms multiple text, image and graph-based approaches, across two real-world datasets.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑