<p>Coverage-guided fuzzing (CGF) is a widely used technique for exposing vulnerabilities in software. Despite its success, selecting the ideal CGF fuzzer or fuzzer combination for a particular program continues to pose a challenge, given that no single fuzzer or fuzzer combination consistently outperforms others. Furthermore, the integration of sanitizers during fuzzing also needs to be carefully considered, due to the overhead sanitizers introduced. This paper proposes AutoFuzz, a Multi-Armed Bandit (MAB)-based method that automatically schedules different fuzzing methods (a fuzzer and sanitizer combination) without the need for extensive pre-fuzzing experiments. AutoFuzz utilizes a non-stochastic multi-armed bandit to model the scheduling problem, and employs the Exp3 algorithm to run the MAB. AutoFuzz considers both coverage and crash gains in its reward calculation. Experimental results demonstrate that AutoFuzz performs better than standalone fuzzers and sanitizers and a Round Robin method (i.e., similar scheduling method to EnFuzz and Cupid), presenting a promising solution for efficient fuzzer selection and sanitizer usage during fuzz testing.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

AutoFuzz: automatic fuzzer-sanitizer scheduling with multi-armed bandit

  • Yijia Gao,
  • Wenrui Zeng,
  • Siyuan Liu,
  • Yingpei Zeng

摘要

Coverage-guided fuzzing (CGF) is a widely used technique for exposing vulnerabilities in software. Despite its success, selecting the ideal CGF fuzzer or fuzzer combination for a particular program continues to pose a challenge, given that no single fuzzer or fuzzer combination consistently outperforms others. Furthermore, the integration of sanitizers during fuzzing also needs to be carefully considered, due to the overhead sanitizers introduced. This paper proposes AutoFuzz, a Multi-Armed Bandit (MAB)-based method that automatically schedules different fuzzing methods (a fuzzer and sanitizer combination) without the need for extensive pre-fuzzing experiments. AutoFuzz utilizes a non-stochastic multi-armed bandit to model the scheduling problem, and employs the Exp3 algorithm to run the MAB. AutoFuzz considers both coverage and crash gains in its reward calculation. Experimental results demonstrate that AutoFuzz performs better than standalone fuzzers and sanitizers and a Round Robin method (i.e., similar scheduling method to EnFuzz and Cupid), presenting a promising solution for efficient fuzzer selection and sanitizer usage during fuzz testing.