SySeVR: A Framework for Using Deep Learning to Detect Software Vulnerabilities
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 4 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, 7 are unknown and have been reported to the vendors, and the other 8 have been "silently" patched by the vendors when releasing newer versions of the pertinent software products.
Code (4)
Tasks
Deep LearningVulnerability DetectionSimilar Papers 제목 키워드 기반
XGV-BERT: Leveraging Contextualized Language Model and Graph Neural Network for Efficient Software Vulnerability Detection
With the advancement of deep learning (DL) in various fields, there are many attempts to reveal software vulnerabilities by data-driven approach. Nonetheless, such existing works lack the effective representation that ca…
Graph Neural NetworkLanguage ModelingLanguage ModellingTransfer Learning+1Vulnerability Detection Using Two-Stage Deep Learning Models
Application security is an essential part of developing modern software, as lots of attacks depend on vulnerabilities in software. The number of attacks is increasing globally due to technological advancements. Companies…
Binary ClassificationDeep LearningVulnerability DetectionSecureFalcon: Are We There Yet in Automated Software Vulnerability Detection with LLMs?
Software vulnerabilities can cause numerous problems, including crashes, data loss, and security breaches. These issues greatly compromise quality and can negatively impact the market adoption of software applications an…
Binary ClassificationBug fixingC++ codeCode Completion+3VulCNN: An Image-inspired Scalable Vulnerability Detection System
Since deep learning (DL) can automatically learn features from source code, it has been widely used to detect source code vulnerability. To achieve scalable vulnerability scanning, some prior studies intent to process th…
image-classificationImage ClassificationVulnerability DetectionMVD: A Multi-Lingual Software Vulnerability Detection Framework
Software vulnerabilities can result in catastrophic cyberattacks that increasingly threaten business operations. Consequently, ensuring the safety of software systems has become a paramount concern for both private and p…
Incremental LearningVulnerability Detection