Abstract
Hybrid fuzzing, the combination between fuzzing and concolic execution, holds great promise in theory, but has so far failed to deliver all the expected advantages in practice due to its high overhead. The cause is the large amount of time spent in the SMT solver. As a result, hybrid fuzzers often lose out to simpler, yet faster techniques. This issue remains despite novel query pruning techniques that reduce the number and complexity of solver queries as they preclude other crucial optimizations like incremental solving. We introduce Triereme, a method to speed up the hybrid fuzzer's concolic engine by reducing the time spent in the SMT solver. Triereme uses a trie (or prefix tree) data structure to schedule and cache solver queries, exploiting common prefixes. This design is made possible by decoupling concolic tracing from concolic solving. As a result, Triereme manages to reconcile pruning with incremental solving, reaping their combined benefits. In our tests, Triereme speeds up concolic executions by 6.1x on average in FuzzBench [22] and improves coverage progress in 79% of the benchmarks.
Original language | English |
---|---|
Title of host publication | ACSAC 2023 |
Subtitle of host publication | Proceedings of the 39th Annual Computer Security Applications Conference |
Publisher | Association for Computing Machinery |
Pages | 56-70 |
Number of pages | 15 |
ISBN (Electronic) | 9798400708862 |
DOIs | |
Publication status | Published - 2023 |
Event | 39th Annual Computer Security Applications Conference, ACSAC 2023 - Austin, United States Duration: 4 Dec 2023 → 8 Dec 2023 |
Publication series
Name | ACM International Conference Proceeding Series |
---|
Conference
Conference | 39th Annual Computer Security Applications Conference, ACSAC 2023 |
---|---|
Country/Territory | United States |
City | Austin |
Period | 4/12/23 → 8/12/23 |
Bibliographical note
Funding Information:This work was supported by EZK through AVR
“Memo” and by NWO through “INTERSECT” and “Vulcan”.
Publisher Copyright:
© 2023 Owner/Author.
Funding
This work was supported by EZK through AVR “Memo” and by NWO through “INTERSECT” and “Vulcan”.
Funders | Funder number |
---|---|
Nederlandse Organisatie voor Wetenschappelijk Onderzoek | INTERSECT, Vulcan (VI.Veni.202.212) |
Keywords
- concolic execution
- fuzzing
- hybrid fuzzing
- program analysis