一句话:提出 CSFuzz,通过静态分析提取目标相关关键变量并监控其运行时状态,实现状态感知的定向灰盒模糊测试。
定向模糊测试能将测试引导至用户指定的目标点,但仅以新边覆盖为反馈会忽略目标点附近的程序状态,导致复杂漏洞难以触发。本文提出 CSFuzz:首先通过静态分析从程序中提取与目标点相关的关键变量;随后在运行时监控这些关键变量的取值,并自适应划分其值域来推断与目标相关的程序状态,从而将触发新状态的种子存入状态语料库;最后利用动态调度技术在不同语料库间选择并优先排序种子,以更充分地测试目标点。作者实现了 CSFuzz 原型,并在两个基准及广泛模糊测试的真实软件上评估,结果显示其漏洞检测能力优于当前最优模糊器,最高加速达 219%,并发现 4 个新缺陷,其中 2 个获得 CVE 编号。
Directed fuzzing is an effective software testing method that guides the fuzzing campaign towards user-defined target sites of interest, enabling the discovery of vulnerabilities relevant to those sites. However, even though the generated test cases cover the code near the target sites, complex vulnerabilities remain untriggered. By focusing only on test cases that cover new edges, the program states related to the targets are overlooked, resulting in insufficient testing of the targets and failure to capture complex vulnerabilities. In this paper, we propose a novel directed fuzzing solution named CSFuzz, which considers program states associated with the targets. First, CSFuzz extracts critical variables related to the target sites from the program using static analysis. Then, CSFuzz monitors the runtime values of these critical variables and infers the program states associated with the targets by adaptively partitioning the range of variable values. This allows CSFuzz to store interesting seeds in the state corpus that trigger new states near the target sites. Lastly, CSFuzz employs dynamic scheduling techniques to guide the fuzzing campaign in selecting different corpora and prioritizing seeds. This ensures more adequate testing of the target sites. We have implemented a prototype of CSFuzz and evaluated it on 2 benchmarks and widely fuzzed real-world software. Evaluation results show that CSFuzz outperforms state-of-the-art fuzzers in terms of vulnerability detection capability, achieving a maximum speedup of 219%. Moreover, CSFuzz has discovered 4 new bugs, including 2 CVE IDs assigned.
DOI 原文 ·
@inproceedings{paperbot8900,
title = {Critical Variable State-Aware Directed Greybox Fuzzing},
author = {Xu Chen and Ningning Cui and Zhe Pan and Liwei Chen and Gang Shi and Dan Meng},
booktitle = {ICSE},
year = {2025},
doi = {10.1109/icse55347.2025.00219}
}