Learning to Detect Memory-related Vulnerabilities
Citations Over TimeTop 10% of 2023 papers
Abstract
Memory-related vulnerabilities can result in performance degradation or even program crashes, constituting severe threats to the security of modern software. Despite the promising results of deep learning (DL)-based vulnerability detectors, there exist three main limitations: (1) rich contextual program semantics related to vulnerabilities have not yet been fully modeled; (2) multi-granularity vulnerability features in hierarchical code structure are still hard to be captured; and (3) heterogeneous flow information is not well utilized. To address these limitations, in this article, we propose a novel DL-based approach, called MVD+ , to detect memory-related vulnerabilities at the statement-level. Specifically, it conducts both intraprocedural and interprocedural analysis to model vulnerability features, and adopts a hierarchical representation learning strategy, which performs syntax-aware neural embedding within statements and captures structured context information across statements based on a novel Flow-Sensitive Graph Neural Networks, to learn both syntactic and semantic features of vulnerable code. To demonstrate the performance, we conducted extensive experiments against eight state-of-the-art DL-based approaches as well as five well-known static analyzers on our constructed dataset with 6,879 vulnerabilities in 12 popular C/C++ applications. The experimental results confirmed that MVD+ can significantly outperform current state-of-the-art baselines and make a great trade-off between effectiveness and efficiency.
Related Papers
- → Sensitivity of California Thrashers (Toxostoma redivivum) to song syntax(2017)16 cited
- The Syntax Structure in Zhouyi(周易)(2004)
- Syntax interference caused by Kichwa and Spanish when writing in English.(2017)
- → Reasons of Syntactical Disagreement: An Introspective Study(2020)
- → Reasons of Syntactical Disagreement: An Introspective Study(2023)