LearnAFL: Greybox Fuzzing With Knowledge Enhancement

被引:19
作者
Yue, Tai [1 ]
Tang, Yong [1 ]
Yu, Bo [1 ]
Wang, Pengfei [1 ]
Wang, Enze [1 ]
机构
[1] Natl Univ Def Technol, Coll Comp, Changsha 410073, Hunan, Peoples R China
基金
美国国家科学基金会;
关键词
Input format learning; deep path fuzzing; greybox fuzzing; vulnerability detection;
D O I
10.1109/ACCESS.2019.2936235
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Mutation-based greybox fuzzing is a highly effective and widely used technique to find bugs in software. Provided initial seeds, fuzzers continuously generate test cases to test the software by mutating a seed input. However, the majority of them are "invalid'' because the mutation may destroy the format of the seeds. In this paper, we present a knowledge-learn evolutionary fuzzer based on AFL, which is called LearnAFL. LearnAFL does not require any prior knowledge of the application or input format. Based on our format generation theory, LearnAFL can learn partial format knowledge of some paths by analyzing the test cases that exercise the paths. Then LearnAFL uses these format information to mutate the seeds, which is efficient to explore deeper paths and reduce the test cases exercising high-frequency paths than AFL. We compared LearnAFL with AFL and some other state-of-the-art fuzzers on ten real-world programs. The result showed that LearnAFL could reach branch coverage 120% and 110% of that of AFL and FairFuzz, respectively. LearnAFL also found 8 unknown vulnerabilities in GNU Binutils, Libpng and Gif2png, all of which have been reported to the vendors. Besides, we compared the format information learned from the initial seed of an ELF file with a format standard of ELF files. The result showed that LearnAFL learns about 64% part of the file format without any prior knowledge.
引用
收藏
页码:117029 / 117043
页数:15
相关论文
共 25 条
  • [1] Aitel D., 2006, TECH REP
  • [2] [Anonymous], 2012, TECH REP
  • [3] [Anonymous], 2016, NDSS
  • [4] [Anonymous], 2008, P NDSS
  • [5] [Anonymous], 2016, TUDCS201614664
  • [6] Bastani O, 2017, ACM SIGPLAN NOTICES, V52, P95, DOI [10.1145/3140587.3062349, 10.1145/3062341.3062349]
  • [7] Coverage-Based Greybox Fuzzing as Markov Chain
    Bohme, Marcel
    Van-Thuan Pham
    Roychoudhury, Abhik
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2019, 45 (05) : 489 - 506
  • [8] Directed Greybox Fuzzing
    Bohme, Marcel
    Van-Thuan Pham
    Manh-Dung Nguyen
    Roychoudhury, Abhik
    [J]. CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, : 2329 - 2344
  • [9] Angora: Efficient Fuzzing by Principled Search
    Chen, Peng
    Chen, Hao
    [J]. 2018 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2018, : 711 - 725
  • [10] Fletcher P., 1996, FDN HIGHER MATH