A Compilation-Based Under-Constrained Execution Engine
Mingjun Yin, Zhaorui Li, Ju Chen, Haochen Zeng, Chengyu Song
摘要
Software bugs continue to pose significant challenges to the security and correctness of computer systems. Finding and eliminating bugs for large-scale software systems, such as the Linux kernel, remains a difficult task. Static analyses can cover the whole codebase, but often produce too many false positives. Whole program dynamic testing is precise but has limited code coverage, and could require special environments. Due to the modular design of large software systems, a promising alternative is to instantiate an execution environment for individual components in isolation, and then apply precise dynamic analyses to these components. Unfortunately, existing execution engines that support such under-constrained execution are all interpreter-based, thus suffering from poor scalability. In this paper, we introduce UCSan, a compilation-based under-constrained execution engine that can compile an arbitrary set of C/C++ functions into a self-contained executable without manual modifications. To demonstrate the scalability and versatility of UCSan, we showcase combining UCSan with a compilation-based concolic execution engine to conduct under-constrained symbolic execution. Our evaluation shows that the resulting analysis engine is up to 15.06x faster on Linux kernel analysis tasks than the KLEE-based engine. This enhanced scalability not only improves the bug detection effectiveness but also enables its application across a broader range of software systems.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper20
- SOK: (State of) The Art of War: Offensive Techniques in Binary AnalysisYan Shoshitaishvili, Ruoyu Wang, Christopher Salls, Nick Stephens 等S&P 2016 · 被引用 1,085 次
- QSYM : A Practical Concolic Execution Engine Tailored for Hybrid FuzzingInsu Yun, Sangho Lee, Meng Xu, Yeongjin Jang 等USENIX Security 2018 · 被引用 537 次
- Fuzzing File Systems via Two-Dimensional Input Space ExplorationWen Xu, Hyungon Moon, Sanidhya Kashyap, Po-Ning Tseng 等S&P 2019 · 被引用 117 次
- Precise and Scalable Detection of Double-Fetch Bugs in OS KernelsMeng Xu, Chenxiong Qian, Kangjie Lu, Michael Backes 等S&P 2018 · 被引用 95 次
- APICraft: Fuzz Driver Generation for Closed-source SDK LibrariesCen Zhang, Xingwei Lin, Yuekang Li, Yinxing Xue 等USENIX Security 2021 · 被引用 64 次
相关 Paper
- Symbolic execution with SymCC: Don't interpret, compile!Sebastian Poeplau, Aurélien FrancillonUSENIX Security 2020
- SYMSAN: Time and Space Efficient Concolic Execution via Dynamic Data-flow AnalysisJu Chen, Wookhyun Han, Mingjun Yin, Haochen Zeng 等USENIX Security 2022
- Progressive Scrutiny: Incremental Detection of UBI bugs in the Linux KernelYizhuo Zhai, Yu Hao, Zheng Zhang, Weiteng Chen 等NDSS 2022
- Combining static analysis error traces with dynamic symbolic execution (experience paper)Frank Busse, Pritam M. Gharat, Cristian Cadar, Alastair F. DonaldsonISSTA 2022 · 被引用 11 次
- SymBisect: Accurate Bisection for Fuzzer-Exposed VulnerabilitiesZheng Zhang, Yu Hao, Weiteng Chen, Xiaochen Zou 等USENIX Security 2024 · 被引用 7 次
