· 2018
Angora: Efficient Fuzzing by Principled Search
- 537citations
- 2018year
Short summary
Angora, a new mutation-based fuzzer, significantly outperforms state-of-the-art tools by solving path constraints without symbolic execution, achieving 8x more bugs than the second-best fuzzer on the LAVA-M dataset.
AI-generated from the title and abstract; the full text is not read.
Key points
- Angora is a mutation-based fuzzer that improves branch coverage by solving path constraints.
- Key techniques include scalable byte-level taint tracking and gradient descent-based search.
- Angora found 8x more bugs than the second-best fuzzer on the LAVA-M dataset.
- It discovered 103 injected bugs that other fuzzers could not trigger.
AI-generated from the title and abstract; the full text is not read.
Abstract
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 <i xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">file</i> , <i xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">jhead</i> , <i xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">nm</i> , <i xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">objdump</i> and <i xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">size</i> , respectively. We measured the coverage of Angora and evaluated how its key techniques contribute to its impressive performance.
The authors' abstract, as published at the source., 2018 · DOI ↗
Continue with a free account
Ask the paper: 3 free questions a day about this paper; save it, get its citation, new summaries every day for your field. Takeaways are Premium.
Continue free on the webSign in with Google or Apple; no card needed. You come back to this paper.
On your phone:
Field: Software
SoftwareComputer Science