Skip to main navigation Skip to search Skip to main content

Towards Better Semantics Exploration for Browser Fuzzing

  • Chijin Zhou
  • , Quan Zhang
  • , Lihua Guo
  • , Mingzhe Wang
  • , Yu Jiang*
  • , Qing Liao
  • , Zhiyong Wu
  • , Shanshan Li
  • , Bin Gu*
  • *Corresponding author for this work
  • Tsinghua University
  • Harbin Institute of Technology Shenzhen
  • National University of Defense Technology
  • CAS - Beijing Institute of Control Engineering

Research output: Contribution to journalArticlepeer-review

Abstract

Web browsers exhibit rich semantics that enable a plethora of web-based functionalities. However, these intricate semantics present significant challenges for the implementation and testing of browsers. For example, fuzzing, a widely adopted testing technique, typically relies on handwritten context-free grammars (CFGs) for automatically generating inputs. However, these CFGs fall short in adequately modeling the complex semantics of browsers, resulting in generated inputs that cover only a portion of the semantics and are prone to semantic errors. In this paper, we present SaGe, an automated method that enhances browser fuzzing through the use of production-context sensitive grammars (PCSGs) incorporating semantic information. Our approach begins by extracting a rudimentary CFG from W3C standards and iteratively enhancing it to create a PCSG. The resulting PCSG enables our fuzzer to generate inputs that explore a broader range of browser semantics with a higher proportion of semantically-correct inputs. To evaluate the efficacy of SaGe, we conducted 24-hour fuzzing campaigns on mainstream browsers, including Chrome, Safari, and Firefox. Our approach demonstrated better performance compared to existing browser fuzzers, with a 6.03%-277.80% improvement in edge coverage, a 3.56%-161.71% boost in semantic correctness rate, twice the number of bugs discovered. Moreover, we identified 62 bugs across the three browsers, with 40 confirmed and 10 assigned CVEs.

Original languageEnglish
Article number243
JournalProceedings of the ACM on Programming Languages
Volume7
Issue numberOOPSLA2
DOIs
StatePublished - 16 Oct 2023
Externally publishedYes

Keywords

  • Browser Security
  • Context-Sensitive Grammar
  • Semantics-Aware Fuzzing

Fingerprint

Dive into the research topics of 'Towards Better Semantics Exploration for Browser Fuzzing'. Together they form a unique fingerprint.

Cite this