Beacon: Directed Grey-Box Fuzzing with Provable Path Pruning (SP 2022)
导向性Fuzzing(Directed Fuzzing)往往让Fuzzer产生导向性的数据让程序执行到目标代码段。但现有的导向性Fuzzer并没有非常高效,往往在不会执行到目标代码段的程序路径上进行大量的符号执行或实际执行,导致消耗了大量的计算资源。
为了解决上述问题,本文提出了一个工具Beacon,能够有效地移除程序中对定向Fuzzing无效的干扰分支,相比其他导向性Fuzzer以及传统的Fuzzer能更快地获得更高的覆盖率。
Beacon的工作流程如下图所示。其主要是对二进制程序进行静态分析后,再对关键代码插桩。
具体细节见原文。论文代码未开源。