Automated Bug Hunting With Data-Driven Symbolic Root Cause Analysis
Carter Yagemann, Simon P. Chung, Brendan Saltaformaggio, Wenke Lee
Abstract
The increasing cost of successful cyberattacks has caused a mindset shift, whereby defenders now employ proactive defenses, namely software bug hunting, alongside existing reactive measures (firewalls, IDS, IPS) to protect systems. Unfortunately the path from hunting bugs to deploying patches remains laborious and expensive, requires human expertise, and still misses serious memory corruptions. Motivated by these challenges, we propose bug hunting using symbolically reconstructed states based on execution traces to achieve better detection and root cause analysis of overflow, use-after-free, double free, and format string bugs across user programs and their imported libraries. We discover that with the right use of widely available hardware processor tracing and partial memory snapshots, powerful symbolic analysis can be used on real-world programs while managing path explosion. Better yet, data can be captured from production deployments of live software on end-host systems transparently, aiding in the analysis of user clients and long-running programs like web servers. We implement a prototype of our design, Bunkerbuster, for Linux and evaluate it on 15 programs, where it finds 39 instances of our target bug classes, 8 of which have never before been reported and have lead to 1 EDB and 3 CVE IDs being issued. These 0-days were patched by developers using Bunkerbuster's reports, independently validating their usefulness. In a side-by-side comparison, our system uncovers 8 bugs missed by AFL and QSYM, and correctly classifies 4 that were previously detected, but mislabeled by AddressSanitizer. Our prototype accomplishes this with 7.21% recording overhead.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 27d33780-0b88-4e88-9593-0bd305bd64b5Cited by top-tier papers10
- Racing on the Negative Force: Efficient Vulnerability Root-Cause Analysis through Reinforcement Learning on CounterexamplesDandan Xu, Di Tang, Yi Chen, XiaoFeng Wang et al.USENIX Security 2024 · 16 citations
- SHERLOC: Secure and Holistic Control-Flow Violation Detection on Embedded SystemsXi Tan, Ziming ZhaoCCS 2023 · 13 citations
- Benzene: A Practical Root Cause Analysis System with an Under-Constrained State MutationYounggi Park, Hwiwon Lee, Jinho Jung, Hyungjoon Koo et al.S&P 2024 · 11 citations
- PalanTír: Optimizing Attack Provenance with Hardware-enhanced System ObservabilityJun Zeng, Chuqi Zhang, Zhenkai LiangCCS 2022 · 11 citations
- CoinDef: A Comprehensive Code Injection Defense for the Electron FrameworkZheng Yang, Simon P. Chung, Jizhou Chen, Runze Zhang et al.S&P 2025
Builds on29
- SOK: (State of) The Art of War: Offensive Techniques in Binary AnalysisYan Shoshitaishvili, Ruoyu Wang, Christopher Salls, Nick Stephens et al.S&P 2016 · 1,085 citations
- Driller: Augmenting Fuzzing Through Selective Symbolic ExecutionNick Stephens, John Grosen, Christopher Salls, Andrew Dutcher et al.NDSS 2016 · 1,021 citations
- VUzzer: Application-aware Evolutionary FuzzingSanjay Rawat, Vivek Jain, Ashish Kumar, Lucian Cojocar et al.NDSS 2017 · 700 citations
- HOLMES: Real-Time APT Detection through Correlation of Suspicious Information FlowsSadegh Momeni Milajerdi, Rigel Gjomemo, Birhanu Eshete, R. Sekar et al.S&P 2019 · 550 citations
- QSYM : A Practical Concolic Execution Engine Tailored for Hybrid FuzzingInsu Yun, Sangho Lee, Meng Xu, Yeongjin Jang et al.USENIX Security 2018 · 537 citations
Related papers
- Evaluating the Effectiveness of Memory Safety SanitizersEmanuel Q. Vintila, Philipp Zieris, Julian HorschS&P 2025
- Sys: A Static/Symbolic Tool for Finding Good Bugs in Good (Browser) CodeFraser Brown, Deian Stefan, Dawson R. EnglerUSENIX Security 2020
- ARCUS: Symbolic Root Cause Analysis of Exploits in Production SystemsCarter Yagemann, Matthew Pruett, Simon P. Chung, Kennon Bittick et al.USENIX Security 2021 · 42 citations
- FreeWill: Automatically Diagnosing Use-after-free Bugs via Reference Miscounting Detection on BinariesLiang He, Hong Hu, Purui Su, Yan Cai et al.USENIX Security 2022
- BoKASAN: Binary-only Kernel Address Sanitizer for Effective Kernel FuzzingMingi Cho, Dohyeon An, Hoyong Jin, Taekyoung KwonUSENIX Security 2023
