Angora: Efficient Fuzzing by Principled Search

By Peng Chen, Hao Chen. IEEE Symposium on Security and Privacy, 2018

634 citations recorded by the source corpus.

Fuzzing is a popular technique for finding software bugs. However, the performance of the state-of-the-art fuzzers leaves a lot to be desired. Fuzzers based on symbolic execution produce quality inputs but run slow, while fuzzers based on random mutation run fast but have difficulty producing quality inputs. We propose Angora, a new mutation-based fuzzer that outperforms the state-of-the-art fuzzers by a wide margin. The main goal of Angora is to increase branch coverage by solving path constraints without symbolic execution. To solve path constraints efficiently, we introduce several key techniques: scalable byte-level taint tracking, context-sensitive branch count, search based on gradient descent, and input length exploration. On the LAVA-M data set, Angora found almost all the injected bugs, found more bugs than any other fuzzer that we compared with, and found eight times as many bugs as the second-best fuzzer in the program who. Angora also found 103 bugs that the LAVA authors injected but could not trigger. We also tested Angora on eight popular, mature open source programs. Angora found 6, 52, 29, 40 and 48 new bugs in file, jhead, nm, objdump and size, respectively. We measured the coverage of Angora and evaluated how its key techniques contribute to its impressive performance.

Subfields: Information Systems, Software, Signal Processing

View Paper: https://www.semanticscholar.org/paper/cc5cc6557af031ee405875ee6a91663e1c129610

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Information Systems

  1. Petar Tsankov
  2. Taesoo Kim
  3. Meng Xu
  4. Seyit Ahmet Camtepe
  5. Yang Liu
  6. Andrea Fioraldi
  7. Thorsten Holz
  8. Michael W. Hicks

In Software

  1. Petar Tsankov
  2. Yang Liu
  3. Thorsten Holz
  4. Robert Gawlik
  5. Bihuan Chen
  6. Andrea Fioraldi
  7. Michael W. Hicks
  8. Sheng Wen

In Signal Processing

  1. Taesoo Kim
  2. Meng Xu
  3. Sang Kil Cha
  4. Seyit Ahmet Camtepe
  5. Thorsten Holz
  6. Robert Gawlik
  7. Bihuan Chen
  8. Andrea Fioraldi

Citations in the corpus