BASICS: Binary Analysis and Stack Integrity Checker System for Buffer Overflow Mitigation
Luis Ferreirinha, Iberia Medeiros

TL;DR
BASICS is a system that automatically detects and repairs buffer overflow vulnerabilities in binary C programs using model checking, concolic execution, and trampoline-based patching, achieving high accuracy and outperforming existing tools.
Contribution
This work introduces a novel binary analysis approach combining model checking, concolic execution, and automated patching to improve buffer overflow mitigation in C programs.
Findings
Achieved over 87% accuracy and precision in vulnerability detection and correction.
Outperformed CWE Checker in evaluations.
Successfully repaired vulnerabilities in real applications and datasets.
Abstract
Cyber-Physical Systems have played an essential role in our daily lives, providing critical services such as power and water, whose operability, availability, and reliability must be ensured. The C programming language, prevalent in CPS development, is crucial for system control where reliability is critical. However, it is also commonly susceptible to vulnerabilities, particularly buffer overflows. Traditional vulnerability discovery techniques often struggle with scalability and precision when applied directly to the binary code of C programs, which can thereby keep programs vulnerable. This work introduces a novel approach designed to overcome these limitations by leveraging model checking and concolic execution techniques to automatically verify security properties of a program's stack memory in binary code, trampoline techniques to perform automated repair of the issues, and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Software Testing and Debugging Techniques · Formal Methods in Verification
