Odin: on-demand instrumentation with on-the-fly recompilation
Mingzhe Wang, Jie Liang, Chijin Zhou, Zhiyong Wu, Xinyi Xu, Yu Jiang
摘要
Instrumentation is vital to fuzzing. It provides fuzzing directions and helps detect covert bugs, yet its overhead greatly reduces the fuzzing throughput. To reduce the overhead, compilers compromise instrumentation correctness for better optimization, or seek convoluted runtime support to remove unused probes during fuzzing.
In this paper, we propose Odin, an on-demand instrumentation framework to instrument C/C++ programs correctly and flexibly. When instrumentation requirement changes during fuzzing, Odin first locates the changed code fragment, then re-instruments, re-optimizes, and re-compiles the small fragment on-the-fly. Consequently, with a minuscule compilation overhead, the runtime overhead of unused probes is reduced. Its architecture ensures correctness in instrumentation, optimized code generation, and low latency in recompilation. Experiments show that Odin delivers the performance of compiler-based static instrumentation while retaining the flexibility of binary-based dynamic instrumentation. When applied to coverage instrumentation, Odin reduces the coverage collection overhead by 3× and 17× compared to LLVM SanitizerCoverage and DynamoRIO, respectively.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper11
- Minerva: browser API fuzzing with dynamic mod-ref analysisChijin Zhou, Quan Zhang, Mingzhe Wang, Lihua Guo 等FSE 2022 · 被引用 20 次
- Mozi: Discovering DBMS Bugs via Configuration-Based Equivalent TransformationJie Liang, Zhiyong Wu, Jingzhou Fu, Mingzhe Wang 等ICSE 2024 · 被引用 18 次
- Towards Better Semantics Exploration for Browser FuzzingChijin Zhou, Quan Zhang, Lihua Guo, Mingzhe Wang 等OOPSLA 2023 · 被引用 15 次
- PolyJuice: Detecting Mis-compilation Bugs in Tensor Compilers with Equality Saturation Based RewritingChijin Zhou, Bingzhou Qian, Gwihwan Go, Quan Zhang 等OOPSLA 2024 · 被引用 7 次
- PROMPT: A Fast and Extensible Memory Profiling FrameworkZiyang Xu, Yebin Chon, Yian Su, Zujun Tan 等OOPSLA 2024 · 被引用 4 次
它引用的顶会 Paper11
- Angora: Efficient Fuzzing by Principled SearchPeng Chen, Hao ChenS&P 2018 · 被引用 616 次
- kAFL: Hardware-Assisted Feedback Fuzzing for OS KernelsSergej Schumilo, Cornelius Aschermann, Robert Gawlik, Sebastian Schinzel 等USENIX Security 2017 · 被引用 324 次
- SoK: Sanitizing for SecurityDokyung Song, Julian Lettner, Prabhu Rajasekaran, Yeoul Na 等S&P 2019 · 被引用 196 次
- Full-Speed Fuzzing: Reducing Fuzzing Overhead through Coverage-Guided TracingStefan Nagy, Matthew HicksS&P 2019 · 被引用 156 次
- PATA: Fuzzing with Path Aware Taint AnalysisJie Liang, Mingzhe Wang, Chijin Zhou, Zhiyong Wu 等S&P 2022 · 被引用 84 次
相关 Paper
- InstruGuard: Find and Fix Instrumentation Errors for Coverage-based Greybox FuzzingYuwei Liu, Yanhao Wang, Purui Su, Yuanping Yu 等ASE 2021 · 被引用 8 次
- Zeror: Speed Up Fuzzing with Coverage-sensitive Tracing and SchedulingChijin Zhou, Mingzhe Wang, Jie Liang, Zhe Liu 等ASE 2020 · 被引用 35 次
- RIFF: Reduced Instruction Footprint for Coverage-Guided FuzzingMingzhe Wang, Jie Liang, Chijin Zhou, Yu Jiang 等USENIX ATC 2021 · 被引用 36 次
- Breaking Through Binaries: Compiler-quality Instrumentation for Better Binary-only FuzzingStefan Nagy, Anh Nguyen-Tuong, Jason D. Hiser, Jack W. Davidson 等USENIX Security 2021 · 被引用 65 次
- Revisiting Path Coverage Tracing from a Node-Centric ViewHeqing Huang, Zhendong SuOOPSLA 2026
