Skip to main navigation Skip to search Skip to main content

ESFuzzer: An Efficient Way to Fuzz WebAssembly Interpreter

  • Jideng Han*
  • , Zhaoxin Zhang
  • , Yuejin Du
  • , Wei Wang
  • , Xiuyuan Chen
  • *Corresponding author for this work
  • Faculty of Computing, Harbin Institute of Technology
  • Ltd.
  • Ltd.

Research output: Contribution to journalArticlepeer-review

Abstract

WebAssembly code is designed to run in a sandboxed environment, such as a web browser, providing a high level of security and isolation from the underlying operating system and hardware. This enables the execution of untrusted code in a web browser without compromising the security and integrity of the user’s system. This paper discusses the challenges associated with using fuzzing tools to identify vulnerabilities or bugs in WebAssembly interpreters. Our approach, known as ESFuzzer, introduces an efficient method for fuzzing WebAssembly interpreters using an Equivalent-Statement concept and the Stack Repair Algorithm. The samples generated by our approach successfully passed code validation. In addition, we developed effective mutation strategies to enhance the efficacy of our approach. ESFuzzer has demonstrated its ability to generate code that achieves 100% WebAssembly validation testing and achieves code coverage that is more than twice that of libFuzzer. Furthermore, the 24-h experiment results show that ESFuzzer performs ten times more efficiently than libFuzzer.

Original languageEnglish
Article number1498
JournalElectronics (Switzerland)
Volume13
Issue number8
DOIs
StatePublished - Apr 2024
Externally publishedYes

Keywords

  • WebAssembly interpreter
  • equivalent-exchange
  • equivalent-statement
  • fuzzing

Fingerprint

Dive into the research topics of 'ESFuzzer: An Efficient Way to Fuzz WebAssembly Interpreter'. Together they form a unique fingerprint.

Cite this