OSIRIS: Hunting for Integer Bugs in Ethereum Smart Contracts

被引:240
|
作者
Torres, Christof Ferreira [1 ]
Schuette, Julian [2 ]
State, Radu [1 ]
机构
[1] Univ Luxembourg, SnT, Luxembourg, Luxembourg
[2] Fraunhofer AISEC, Garching, Germany
关键词
Ethereum; smart contracts; integer bugs; taint analysis; symbolic execution;
D O I
10.1145/3274694.3274737
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The capability of executing so-called smart contracts in a decentralised manner is one of the compelling features of modern blockchains. Smart contracts are fully. edged programs which cannot be changed once deployed to the blockchain. They typically implement the business logic of distributed apps and carry billions of dollars worth of coins. In that respect, it is imperative that smart contracts are correct and have no vulnerabilities or bugs. However, research has identified different classes of vulnerabilities in smart contracts, some of which led to prominent multi-million dollar fraud cases. In this paper we focus on vulnerabilities related to integer bugs, a class of bugs that is particularly difficult to avoid due to some characteristics of the Ethereum Virtual Machine and the Solidity programming language. In this paper we introduce OSIRIS - a framework that combines symbolic execution and taint analysis, in order to accurately find integer bugs in Ethereum smart contracts. Osiris detects a greater range of bugs than existing tools, while providing a better specificity of its detection. We have evaluated its performance on a large experimental dataset containing more than 1.2 million smart contracts. We found that 42,108 contracts contain integer bugs. Besides being able to identify several vulnerabilities that have been reported in the past few months, we were also able to identify a yet unknown critical vulnerability in a couple of smart contracts that are currently deployed on the Ethereum blockchain.
引用
收藏
页码:664 / 676
页数:13
相关论文
共 50 条
  • [41] Securing Smart Grid Communication using Ethereum Smart Contracts
    Akhras, Raphaelle
    El-Hajj, Wassim
    Majdalani, Michel
    Hajj, Hazem
    Jabr, Rabih
    Shaban, Khaled
    2020 16TH INTERNATIONAL WIRELESS COMMUNICATIONS & MOBILE COMPUTING CONFERENCE, IWCMC, 2020, : 1672 - 1678
  • [42] GASOL: Gas Analysis and Optimization for Ethereum Smart Contracts
    Albert, Elvira
    Correas, Jesus
    Gordillo, Pablo
    Roman-Diez, Guillermo
    Rubio, Albert
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT II, TACAS 2020, 2020, 12079 : 118 - 125
  • [43] DFier: A directed vulnerability verifier for Ethereum smart contracts
    Wang, Zeli
    Dai, Weiqi
    Li, Ming
    Choo, Kim-Kwang Raymond
    Zou, Deqing
    JOURNAL OF NETWORK AND COMPUTER APPLICATIONS, 2024, 231
  • [44] Automated Inference on Financial Security of Ethereum Smart Contracts
    Wang, Wansen
    Huang, Wenchao
    Meng, Zhaoyi
    Xiong, Yan
    Miao, Fuyou
    Fang, Xianjin
    Tu, Caichang
    Ji, Renjie
    PROCEEDINGS OF THE 32ND USENIX SECURITY SYMPOSIUM, 2023, : 3367 - 3383
  • [45] EthVer: Formal Verification of Randomized Ethereum Smart Contracts
    Mazurek, Lukasz
    FINANCIAL CRYPTOGRAPHY AND DATA SECURITY, FC 2021, 2021, 12676 : 364 - 380
  • [46] SCSGuard: Deep Scam Detection for Ethereum Smart Contracts
    Hu, Huiwen
    Bai, Qianlan
    Xu, Yuedong
    IEEE INFOCOM 2022 - IEEE CONFERENCE ON COMPUTER COMMUNICATIONS WORKSHOPS (INFOCOM WKSHPS), 2022,
  • [47] ATL Model Checking for Analysis of Ethereum Smart Contracts
    Nam W.
    Kil H.
    Transactions of the Korean Institute of Electrical Engineers, 2021, 70 (12): : 2006 - 2014
  • [48] Foundations and Tools for the Static Analysis of Ethereum Smart Contracts
    Grishchenko, Ilya
    Maffei, Matteo
    Schneidewind, Clara
    COMPUTER AIDED VERIFICATION (CAV 2018), PT I, 2018, 10981 : 51 - 78
  • [49] Ethereum Smart Contracts as Blockchain-oriented Microservices
    Tonelli, Roberto
    Pinna, Andrea
    Baralla, Gavina
    Ibba, Simona
    19TH INTERNATIONAL CONFERENCE ON AGILE SOFTWARE DEVELOPMENT (XP '18), 2018,
  • [50] Tutorial: Analyzing, Exploiting, and Patching Smart Contracts in Ethereum
    Giesen, Jens-Rene
    Andreina, Sebastien
    Rodler, Michael
    Karame, Ghassan O.
    Davi, Lucas
    2022 IEEE SECURE DEVELOPMENT CONFERENCE (SECDEV 2022), 2022, : 3 - 4