SySeVR: A Framework for Using Deep Learning to Detect Software Vulnerabilities
IEEE Transactions on Dependable and Secure Computing(2018)
摘要
The detection of software vulnerabilities (or vulnerabilities for short) is an important problem that has yet to be tackled, as manifested by the many vulnerabilities reported on a daily basis. This calls for machine learning methods for vulnerability detection. Deep learning is attractive for this purpose because it alleviates the requirement to manually define features. Despite the tremendous success of deep learning in other application domains, its applicability to vulnerability detection is not systematically understood. In order to fill this void, we propose the
first
systematic framework for using deep learning to detect vulnerabilities in C/C++ programs with source code. The framework, dubbed
Syntax-based, Semantics-based, and Vector Representations
(SySeVR), focuses on obtaining program representations that can accommodate syntax and semantic information pertinent to vulnerabilities. Our experiments with four software products demonstrate the usefulness of the framework: we detect 15 vulnerabilities that are not reported in the National Vulnerability Database. Among these 15 vulnerabilities, seven are unknown and have been reported to the vendors, and the other eight have been “silently” patched by the vendors when releasing newer versions of the pertinent software products.
更多查看译文
关键词
Vulnerability detection,security,deep learning,program analysis,program representation
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要