· 2018
CollAFL: Path Sensitive Fuzzing
- 370citations
- 2018year
Short summary
CollAFL reduces path collisions in coverage-guided fuzzing by providing more accurate path coverage information with low instrumentation overhead, leading to significantly improved vulnerability discovery.
AI-generated from the title and abstract; the full text is not read.
Key points
- CollAFL provides more accurate path coverage information than traditional fuzzers like AFL, reducing edge collision ratios from up to 75% to nearly zero.
- The fuzzer incorporates three new strategies that utilize this sensitive coverage information to improve fuzzing efficiency.
- In 200-hour tests, CollAFL achieved an average of 20% more program paths covered, 320% more unique crashes, and 260% more bugs compared to AFL.
- CollAFL successfully identified 157 new security bugs, leading to the assignment of 95 new CVEs.
AI-generated from the title and abstract; the full text is not read.
Abstract
Coverage-guided fuzzing is a widely used and effective solution to find software vulnerabilities. Tracking code coverage and utilizing it to guide fuzzing are crucial to coverage-guided fuzzers. However, tracking full and accurate path coverage is infeasible in practice due to the high instrumentation overhead. Popular fuzzers (e.g., AFL) often use coarse coverage information, e.g., edge hit counts stored in a compact bitmap, to achieve highly efficient greybox testing. Such inaccuracy and incompleteness in coverage introduce serious limitations to fuzzers. First, it causes path collisions, which prevent fuzzers from discovering potential paths that lead to new crashes. More importantly, it prevents fuzzers from making wise decisions on fuzzing strategies. In this paper, we propose a coverage sensitive fuzzing solution CollAFL. It mitigates path collisions by providing more accurate coverage information, while still preserving low instrumentation overhead. It also utilizes the coverage information to apply three new fuzzing strategies, promoting the speed of discovering new paths and vulnerabilities. We implemented a prototype of CollAFL based on the popular fuzzer AFL and evaluated it on 24 popular applications. The results showed that path collisions are common, i.e., up to 75% of edges could collide with others in some applications, and CollAFL could reduce the edge collision ratio to nearly zero. Moreover, armed with the three fuzzing strategies, CollAFL outperforms AFL in terms of both code coverage and vulnerability discovery. On average, CollAFL covered 20% more program paths, found 320% more unique crashes and 260% more bugs than AFL in 200 hours. In total, CollAFL found 157 new security bugs with 95 new CVEs assigned.
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