CRPLAug 19, 2015

Towards Vulnerability Discovery Using Staged Program Analysis

arXiv:1508.04627v210 citations
Originality Incremental advance
AI Analysis

This work addresses software security for developers by providing a practical tool to detect vulnerabilities, though it is incremental as it builds on existing static analysis techniques.

The authors tackled the problem of discovering vulnerabilities in low-level C/C++ code by developing Melange, a static analysis framework that performs local and global analyses to diagnose security bugs like type confusion and garbage memory reads, and demonstrated its scalability to large codebases such as Chromium.

Eliminating vulnerabilities from low-level code is vital for securing software. Static analysis is a promising approach for discovering vulnerabilities since it can provide developers early feedback on the code they write. But, it presents multiple challenges not the least of which is understanding what makes a bug exploitable and conveying this information to the developer. In this paper, we present the design and implementation of a practical vulnerability assessment framework, called Melange. Melange performs data and control flow analysis to diagnose potential security bugs, and outputs well-formatted bug reports that help developers understand and fix security bugs. Based on the intuition that real-world vulnerabilities manifest themselves across multiple parts of a program, Melange performs both local and global analyses. To scale up to large programs, global analysis is demand-driven. Our prototype detects multiple vulnerability classes in C and C++ code including type confusion, and garbage memory reads. We have evaluated Melange extensively. Our case studies show that Melange scales up to large codebases such as Chromium, is easy-to-use, and most importantly, capable of discovering vulnerabilities in real-world code. Our findings indicate that static analysis is a viable reinforcement to the software testing tool set.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes