Litcius/Paper detail

EVMFuzz: Differential fuzz testing of Ethereum virtual machine

Ying Fu, Meng Ren, Fuchen Ma, Xin Yang, Heyuan Shi, Shanshan Li, Xiangke Liao

2023Journal of Software Evolution and Process27 citationsDOIOpen Access PDF

Abstract

Abstract The vulnerabilities in Ethereum virtual machine (EVM) may lead to serious problems for the Ethereum ecosystem. With lots of techniques being developed for the validation of smart contracts, the testing of EVM has not been well‐studied. In this paper, we propose EVMFuzz, the first that uses the differential fuzzing technique to detect vulnerabilities in EVM. The core idea of EVMFuzz is to continuously generate seed contracts for different EVMs' execution, so as to find as many inconsistencies among execution results as possible, and eventually discover vulnerabilities with output cross‐referencing. First, we present the evaluation metric for the internal inconsistency indicator. Then, we construct seed contracts via predefined mutators and employ a dynamic priority scheduling algorithm to guide seed contract selection and maximize the inconsistency. Finally, we leverage different EVMs as cross‐referencing oracles avoiding manual checking. For evaluation, we selected four widely used EVMs for the test, conducted large‐scale mutation on 36,295 real‐world smart contracts, and generated 253,153 smart contracts as initial seeds. Accompanied by manual root cause analysis, we found five previously unknown security bugs and all had been included in the common vulnerabilities and exposures (CVE) database.

Topics & Concepts

Fuzz testingComputer scienceDifferential (mechanical device)Reliability engineeringEngineeringSoftwareOperating systemAerospace engineeringAdvanced Malware Detection TechniquesAdversarial Robustness in Machine LearningSmart Grid Security and Resilience
EVMFuzz: Differential fuzz testing of Ethereum virtual machine | Litcius