Abstract

本文工具: AFLSmart
算法: smart greybox fuzzing
方法: 利用种子文件中的结构表示来产生新的测试文件;定义在虚拟文件结构上,不会损伤文件结构的新变异算子;定义validity-based power schedule来生成更有可能进入更深层逻辑的测试文件;
实验:

  1. 在7个使用复杂文件格式的libs上+87%的branch coverage
  2. 比AFL找到了更多bugs
  3. 找到了42个0-day漏洞,22个CVEs