File Download

There are no files associated with this item.

  Links for fulltext
     (May Require Subscription)
Supplementary

Conference Paper: Matryoshka: Fuzzing deeply nested branches

TitleMatryoshka: Fuzzing deeply nested branches
Authors
KeywordsFuzzing
Optimization
Taint analysis
Vulnerability detection
Issue Date2019
Citation
Proceedings of the ACM Conference on Computer and Communications Security, 2019, p. 499-513 How to Cite?
AbstractGreybox fuzzing has made impressive progress in recent years, evolving from heuristics-based random mutation to solving individual branch constraints. However, they have difficulty solving path constraints that involve deeply nested conditional statements, which are common in image and video decoders, network packet analyzers, and checksum tools. We propose an approach for addressing this problem. First, we identify all the control flow-dependent conditional statements of the target conditional statement. Next, we select the taint flow-dependent conditional statements. Finally, we use three strategies to find an input that satisfies all conditional statements simultaneously. We implemented this approach in a tool called Matryoshka1 and compared its effectiveness on 13 open source programs with other state-of-the-art fuzzers. Matryoshka achieved significantly higher cumulative line and branch coverage than AFL, QSYM, and Angora. We manually classified the crashes found by Matryoshka into 41 unique new bugs and obtained 12 CVEs. Our evaluation demonstrates the key technique contributing to Matryoshka's impressive performance: among the nesting constraints of a target conditional statement, Matryoshka collects only those that may cause the target unreachable, which greatly simplifies the path constraint that it has to solve.
Persistent Identifierhttp://hdl.handle.net/10722/346744
ISSN
2023 SCImago Journal Rankings: 1.430

 

DC FieldValueLanguage
dc.contributor.authorChen, Peng-
dc.contributor.authorLiu, Jianzhong-
dc.contributor.authorChen, Hao-
dc.date.accessioned2024-09-17T04:12:59Z-
dc.date.available2024-09-17T04:12:59Z-
dc.date.issued2019-
dc.identifier.citationProceedings of the ACM Conference on Computer and Communications Security, 2019, p. 499-513-
dc.identifier.issn1543-7221-
dc.identifier.urihttp://hdl.handle.net/10722/346744-
dc.description.abstractGreybox fuzzing has made impressive progress in recent years, evolving from heuristics-based random mutation to solving individual branch constraints. However, they have difficulty solving path constraints that involve deeply nested conditional statements, which are common in image and video decoders, network packet analyzers, and checksum tools. We propose an approach for addressing this problem. First, we identify all the control flow-dependent conditional statements of the target conditional statement. Next, we select the taint flow-dependent conditional statements. Finally, we use three strategies to find an input that satisfies all conditional statements simultaneously. We implemented this approach in a tool called Matryoshka1 and compared its effectiveness on 13 open source programs with other state-of-the-art fuzzers. Matryoshka achieved significantly higher cumulative line and branch coverage than AFL, QSYM, and Angora. We manually classified the crashes found by Matryoshka into 41 unique new bugs and obtained 12 CVEs. Our evaluation demonstrates the key technique contributing to Matryoshka's impressive performance: among the nesting constraints of a target conditional statement, Matryoshka collects only those that may cause the target unreachable, which greatly simplifies the path constraint that it has to solve.-
dc.languageeng-
dc.relation.ispartofProceedings of the ACM Conference on Computer and Communications Security-
dc.subjectFuzzing-
dc.subjectOptimization-
dc.subjectTaint analysis-
dc.subjectVulnerability detection-
dc.titleMatryoshka: Fuzzing deeply nested branches-
dc.typeConference_Paper-
dc.description.naturelink_to_subscribed_fulltext-
dc.identifier.doi10.1145/3319535.3363225-
dc.identifier.scopuseid_2-s2.0-85075923856-
dc.identifier.spage499-
dc.identifier.epage513-

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats