Source: https://dl.acm.org/doi/abs/10.1145/3133956.3134020
Authors: Marcel Böhme; Van-Thuan Pham; Manh-Dung Nguyen; Abhik Roychoudhury
Download Note: https://jbox.sjtu.edu.cn/l/f1PAWf
Contributor: lt
Overview
- Question:传统的灰盒模糊测试专注于覆盖率,不具备导向性。覆盖率对每段代码一视同仁,无论新发现的边是否触发crash,它对覆盖率的贡献都是相等的。但存在漏洞的代码段比例很小,这说明,传统的灰盒模糊测试做了很多无用功,比如贡献了覆盖率但没有贡献crash的测试用例所消耗的计算资源。
- Answer:AFLGo(DGF的开山之作)面向被测程序的目标点,而非覆盖所有的执行路径;它通过基于模拟退火的能量调度方案实现导向性。
- Experiment
- 比较对象:非导向型的灰盒模糊测试、基于符号执行的导向型白盒模糊测试(DWF)。
- 应用场景:补丁测试、连续测试、crash复现。
- 小白鼠:binutils、diffutils、LibXML2、LibMing;BugRedux的benchmark。
- Result
- AFLGo在补丁测试、crash复现上优于非导向型的灰盒模糊测试、基于符号执行的DWF。
- 17个CVE