File Download
There are no files associated with this item.
Links for fulltext
(May Require Subscription)
- Publisher Website: 10.1109/QRS57517.2022.00069
- Scopus: eid_2-s2.0-85151445631
- Find via
Supplementary
-
Citations:
- Scopus: 0
- Appears in Collections:
Conference Paper: Valkyrie: Improving Fuzzing Performance Through Deterministic Techniques
Title | Valkyrie: Improving Fuzzing Performance Through Deterministic Techniques |
---|---|
Authors | |
Keywords | dynamic analysis fuzzing vulnerability detection |
Issue Date | 2022 |
Citation | IEEE International Conference on Software Quality, Reliability and Security, QRS, 2022, v. 2022-December, p. 628-639 How to Cite? |
Abstract | Greybox fuzzing has received much attention from developers and researchers due to its success in discovering bugs within many programs. However, randomized algorithms have limited fuzzers' effectiveness. First, branch coverage feedback that is based on random edge ID can lead to branch collision. Besides, state-of-the-art fuzzers heavily rely on randomized methods to reach new coverage. Even fuzzers with a solver rely on incorrect assumptions, limiting their ability to solve branches and forcing them to turn to randomness as a last resort.We believe deterministic techniques deliver consistent, predictable, reproducible results. We propose Valkyrie, a greybox fuzzer whose performance is boosted primarily by deterministic techniques. Valkyrie combines collision-free branch coverage with context sensitivity to maintain accuracy while introducing an instrumentation removal algorithm to reduce overhead. It also pioneers a new mutation method, compensated step, allowing fuzzers that use solvers to adapt to real-world fuzzing scenarios without using randomness. We implement and evaluate Valkyrie's effectiveness on the standard benchmark Magma, and a wide variety of real-world programs. Valkyrie triggered 21 unique integer and memory errors, 10.5% and 50% more than AFL++ and Angora, respectively. Valkyrie shows little to no variance across ten trials and is the fastest to trigger half of the bugs. Valkyrie reached 8.2% and 12.4% more branches in real-world programs, compared with AFL++ and Angora, respectively. We also verify that our branch counting and mutation method is better than the state-of-the-art, which shows that deterministic techniques trump random techniques in consistency, predictability, reproducibility, and performance. |
Persistent Identifier | http://hdl.handle.net/10722/347116 |
ISSN |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Rong, Yuyang | - |
dc.contributor.author | Zhang, Chibin | - |
dc.contributor.author | Liu, Jianzhong | - |
dc.contributor.author | Chen, Hao | - |
dc.date.accessioned | 2024-09-17T04:15:31Z | - |
dc.date.available | 2024-09-17T04:15:31Z | - |
dc.date.issued | 2022 | - |
dc.identifier.citation | IEEE International Conference on Software Quality, Reliability and Security, QRS, 2022, v. 2022-December, p. 628-639 | - |
dc.identifier.issn | 2693-9177 | - |
dc.identifier.uri | http://hdl.handle.net/10722/347116 | - |
dc.description.abstract | Greybox fuzzing has received much attention from developers and researchers due to its success in discovering bugs within many programs. However, randomized algorithms have limited fuzzers' effectiveness. First, branch coverage feedback that is based on random edge ID can lead to branch collision. Besides, state-of-the-art fuzzers heavily rely on randomized methods to reach new coverage. Even fuzzers with a solver rely on incorrect assumptions, limiting their ability to solve branches and forcing them to turn to randomness as a last resort.We believe deterministic techniques deliver consistent, predictable, reproducible results. We propose Valkyrie, a greybox fuzzer whose performance is boosted primarily by deterministic techniques. Valkyrie combines collision-free branch coverage with context sensitivity to maintain accuracy while introducing an instrumentation removal algorithm to reduce overhead. It also pioneers a new mutation method, compensated step, allowing fuzzers that use solvers to adapt to real-world fuzzing scenarios without using randomness. We implement and evaluate Valkyrie's effectiveness on the standard benchmark Magma, and a wide variety of real-world programs. Valkyrie triggered 21 unique integer and memory errors, 10.5% and 50% more than AFL++ and Angora, respectively. Valkyrie shows little to no variance across ten trials and is the fastest to trigger half of the bugs. Valkyrie reached 8.2% and 12.4% more branches in real-world programs, compared with AFL++ and Angora, respectively. We also verify that our branch counting and mutation method is better than the state-of-the-art, which shows that deterministic techniques trump random techniques in consistency, predictability, reproducibility, and performance. | - |
dc.language | eng | - |
dc.relation.ispartof | IEEE International Conference on Software Quality, Reliability and Security, QRS | - |
dc.subject | dynamic analysis | - |
dc.subject | fuzzing | - |
dc.subject | vulnerability detection | - |
dc.title | Valkyrie: Improving Fuzzing Performance Through Deterministic Techniques | - |
dc.type | Conference_Paper | - |
dc.description.nature | link_to_subscribed_fulltext | - |
dc.identifier.doi | 10.1109/QRS57517.2022.00069 | - |
dc.identifier.scopus | eid_2-s2.0-85151445631 | - |
dc.identifier.volume | 2022-December | - |
dc.identifier.spage | 628 | - |
dc.identifier.epage | 639 | - |