一句话:提出 Tephra 方法,用语义引导合成含障碍的无缺陷程序,系统评估并揭示现代模糊测试器的局限。
覆盖引导的灰盒模糊测试在发现真实系统缺陷方面十分有效,但现有研究主要关注提升覆盖率的新启发式,缺乏对那些系统性阻碍 fuzzer 达成覆盖的编程构造(即障碍)的研究。本文提出 Tephra:一种原则化方法,利用语义引导合成生成含有多样化障碍且无 bug 的程序,从而统计性地评估 fuzzer 克服障碍的能力。作者实现 Tephra-C/C++ 并生成 26 种 C/C++ 障碍,据此对 31 个当代 fuzzer 进行实证评估,共消耗 37.4 CPU 年。结果表明当前启发式存在局限,并暴露出包括 AFL++ 在内的 fuzzer 自身缺陷:所有被测 fuzzer 都在浮点条件与字符串等障碍上受挫;有符号整数比无符号整数更难;部分启发式过度针对 32/64 位类型而忽视 8/16 位整数;单个困难语义构造即可显著降低整体性能。
Fuzz testing has proven effective in discovering nontrivial bugs in complex, real-world systems, with coverage-guided greybox fuzzing being a key contributor to this success. Existing research has largely focused on developing new heuristics to increase code coverage, and current benchmarks measure coverage increase or the number of bugs found. However, there is a notable lack of investigation into programming constructs that systematically hinder or prevent fuzzing heuristics from achieving coverage, commonly referred to as "obstacles" or "roadblocks".This work makes two key contributions. First, we introduce Tephra, a principled methodology that uses semantics-guided synthesis to generate bug-free programs with diverse obstacles and statistically evaluate a fuzzer’s ability to overcome them. Second, we implement Tephra-C/C++, a concrete instantiation, and generate 26 different C and C++ obstacles. We use these to empirically evaluate the bypassing abilities of 31 contemporary fuzzers, consuming 37.4 CPU years.Our analysis reveals limitations in current fuzzing heuristics and uncovers bugs in the fuzzers themselves, including AFL++. All evaluated fuzzers struggle with certain obstacles, such as floating-point conditionals and character strings. We also find that signed integers are more challenging than unsigned, and some heuristics are overtuned for 32- and 64-bit types, neglecting 8- and 16-bit integers. Overall, we observe a single difficult semantic construct can significantly degrade a fuzzer’s overall performance. Our findings demonstrate Tephra’s effectiveness and highlight avenues for future research in fuzzing techniques.
DOI 原文 ·
@inproceedings{paperbot9450,
title = {Tephra: Principled Discovery of Fuzzer Limitations},
author = {Vasil Sarafov and David Markvica and Stefan Brunthaler},
booktitle = {ASE},
year = {2025},
doi = {10.1109/ase63991.2025.00224}
}