面向结构化输入的模糊测试

FUZZING FOR STRUCTURED INPUTS

  • 摘要: 模糊测试是目前最有效的软件测试技术之一。当下的模糊测试对于结构化输入的生成能力有限,难以获得满足格式要求的输入,测试效果较差。为了解决此类问题,提出一种自动化分析输入结构的结构感知型模糊测试技术ChunkFuzzer。该技术根据程序使用输入的方式构建输入的树形结构,并将树形结构作为种子输入的附加信息,使用启发式突变算法进行结构感知的突变,使得生成的输入能够满足特定格式要求,探索程序的深层逻辑。对6款开源结构化输入软件的测试结果表明,相同测试时间内,ChunkFuzzer的方法比AFL(American Fuzzy Lop)、AFL+KG-*3+、FairFuzz在代码行覆盖率上分别提高了55%、61%、50%。

     

    Abstract: Fuzzing is one of the most effective software testing techniques currently. However, the state-of-the-art fuzzers have limited ability to generate structured inputs which can satisfy the format requirements, leading to the poor performance. In order to solve such problems, this paper proposes a structure-aware fuzzer ChunkFuzzer that automatically analyzes the input structure. ChunkFuzzer constructed the inputs' tree structure according to the way the program uses the inputs, and used it as additional information of the seed inputs. We performed heuristic structure-aware mutations, so that the generated inputs could satisfy the specific format requirements and explore the deep logic of the program. The test results on 6 open source softwares show that ChunkFuzzer has improved code line coverage by 55%, 61%, and 50% compared with AFL, AFL++, and FairFuzz in the same time limit.

     

/

返回文章
返回