WasmFuzzer: A Fuzzer for WebAssembly Virtual Machines

  • Bo Jiang
  • , Zichao Li
  • , Yuhe Huang
  • , Zhenyu Zhang
  • , W. K. Chan

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

WebAssembly is a fast, safe, and portable low-level language suitable for diverse application scenarios. And The WebAssembly virtual machines are widely used by Web browsers or Blockchain platforms as execution engine. When there is a bug in the implementation of the Wasm virtual machine, the execution of WebAssembly may lead to errors or vulnerability in the application. Due to the grammar checks by WASM VMs, fuzzing at the binary level is ineffective to expose the bugs because most inputs cannot reach the deep logic within the WASM VM. In this work, we propose WasmFuzzer, a bytecode level fuzzing tool for WASM VMs. WasmFuzzer proposes to generate initial seeds for Fuzzing at the Wasm bytecode level and it also designs a systematic set of mutation operators for Wasm bytecode. Furthermore, WasmFuzzer proposes an adaptive mutation strategy to search for the best mutation operators for different fuzzing targets. Our evaluation on 3 real-life Wasm VMs shows that WasmFuzzer can significantly outperform AFL in terms of both code coverage and unique crash.

Original languageEnglish
Title of host publicationSEKE 2022 - Proceedings of the 34th International Conference on Software Engineering and Knowledge Engineering
PublisherKnowledge Systems Institute Graduate School
Pages537-542
Number of pages6
ISBN (Electronic)1891706543, 9781891706547
DOIs
StatePublished - 2022
Event34th International Conference on Software Engineering and Knowledge Engineering, SEKE 2022 - Pittsburgh, United States
Duration: 1 Jul 202210 Jul 2022

Publication series

NameProceedings of the International Conference on Software Engineering and Knowledge Engineering, SEKE
ISSN (Print)2325-9000
ISSN (Electronic)2325-9086

Conference

Conference34th International Conference on Software Engineering and Knowledge Engineering, SEKE 2022
Country/TerritoryUnited States
CityPittsburgh
Period1/07/2210/07/22

Keywords

  • fuzzing
  • Virtual Machine
  • WebAssembly

Fingerprint

Dive into the research topics of 'WasmFuzzer: A Fuzzer for WebAssembly Virtual Machines'. Together they form a unique fingerprint.

Cite this