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