Static Detection of Missing Validations in Solidity Smart Contracts

The Solidity smart contract language is deterministic by design. Nevertheless, some instances of nondeterminism (ND) in smart contracts stem from unpredictable inputs received during execution, such as inputs from asynchronous callbacks of Oracles or externally called contracts that halt unexpectedly. Such values must be validated to meet prespecified criteria before they reach critical program parts; otherwise, they can lead to nondeterministic state outcomes in smart contracts, which we refer to as ND-issues. To detect ND-issues, we propose an information flow-based analysis that tracks the unpredictable inputs and return values that are not validated before reaching critical program parts. We have implemented our proposal in FONOVA and evaluated it using 326 frequently used Ethereum smart contracts. The evaluation shows that FONOVA detects five times more exploitable instances of ND-issues with 12 times shorter analysis time than leading tools like Ethainter, Securify, and Mythril.

Authors

Institutions

Publication Details

Published
2024-09-02
DOI
https://doi.org/10.1109/csr61664.2024.10679381
Primary Topic
Insurance and Financial Risk Management
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Static Detection of Missing Validations in Solidity Smart Contracts

Walid Taha, Mirza Sanam Iqbal Baig, Sundas Munir
Insurance and Financial Risk Management
article

Static Detection of Missing Validations in Solidity Smart Contracts

Walid Taha, Mirza Sanam Iqbal Baig, Sundas Munir
article en

Abstract

The Solidity smart contract language is deterministic by design. Nevertheless, some instances of nondeterminism (ND) in smart contracts stem from unpredictable inputs received during execution, such as inputs from asynchronous callbacks of Oracles or externally called contracts that halt unexpectedly. Such values must be validated to meet prespecified criteria before they reach critical program parts; otherwise, they can lead to nondeterministic state outcomes in smart contracts, which we refer to as ND-issues. To detect ND-issues, we propose an information flow-based analysis that tracks the unpredictable inputs and return values that are not validated before reaching critical program parts. We have implemented our proposal in FONOVA and evaluated it using 326 frequently used Ethereum smart contracts. The evaluation shows that FONOVA detects five times more exploitable instances of ND-issues with 12 times shorter analysis time than leading tools like Ethainter, Securify, and Mythril.

Vol. 83
Halmstad University (SE)
Openalex Percentile: Top 80%
Insurance and Financial Risk Management
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Static Detection of Missing Validations in Solidity Smart Contracts — Walid Taha, Mirza Sanam Iqbal Baig, et al. · (2024) | TGRS Research Map | TGRS