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 条
  • [31] Detection and Analysis of Ethereum Energy Smart Contracts
    Lashkari, Bahareh
    Musilek, Petr
    APPLIED SCIENCES-BASEL, 2023, 13 (10):
  • [32] SmartCheck: Static Analysis of Ethereum Smart Contracts
    Tikhomirov, Sergei
    Voskresenskaya, Ekaterina
    Ivanitskiy, Ivan
    Takhaviev, Ramil
    Marchenko, Evgeny
    Alexandrov, Yaroslav
    2018 IEEE/ACM 1ST INTERNATIONAL WORKSHOP ON EMERGING TRENDS IN SOFTWARE ENGINEERING FOR BLOCKCHAIN (WETSEB), 2018, : 9 - 16
  • [33] Recycling Smart Contracts: Compression of the Ethereum Blockchain
    Pontiveros, Beltran Borja Fiz
    Norvill, Robert
    State, Radu
    2018 9TH IFIP INTERNATIONAL CONFERENCE ON NEW TECHNOLOGIES, MOBILITY AND SECURITY (NTMS), 2018,
  • [34] Reentrancy Vulnerability Identification in Ethereum Smart Contracts
    Samreen, Noama Fatima
    Alalfi, Manar H.
    PROCEEDINGS OF THE 2020 IEEE 3RD INTERNATIONAL WORKSHOP ON BLOCKCHAIN ORIENTED SOFTWARE ENGINEERING (IWBOSE '20), 2020, : 22 - 29
  • [35] Elipmoc: Advanced Decompilation of Ethereum Smart Contracts
    Grech, Neville
    Lagouvardos, Sifis
    Tsatiris, Ilias
    Smaragdakis, Yannis
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA):
  • [36] Design Patterns for Smart Contracts in the Ethereum Ecosystem
    Woehrer, Maximilian
    Zdun, Uwe
    IEEE 2018 INTERNATIONAL CONGRESS ON CYBERMATICS / 2018 IEEE CONFERENCES ON INTERNET OF THINGS, GREEN COMPUTING AND COMMUNICATIONS, CYBER, PHYSICAL AND SOCIAL COMPUTING, SMART DATA, BLOCKCHAIN, COMPUTER AND INFORMATION TECHNOLOGY, 2018, : 1513 - 1520
  • [37] Using Ethereum Smart Contracts for Payment Transactions
    Tripkovic, Srdan
    Simic, Dejan
    SUSTAINABLE BUSINESS MANAGEMENT AND DIGITAL TRANSFORMATION: CHALLENGES AND OPPORTUNITIES IN THE POST-COVID ERA, 2023, 562 : 30 - 42
  • [38] Characterizing Types of Smart Contracts in the Ethereum Landscape
    di Angelo, Monika
    Salzer, Gernot
    FINANCIAL CRYPTOGRAPHY AND DATA SECURITY, FC 2020, 2020, 12063 : 389 - 404
  • [39] Towards Efficient Hashing in Ethereum Smart Contracts
    Onica, Emanuel
    Schifirnet, Cosmin-Ionut
    PROCEEDINGS OF THE 16TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES (ICSOFT), 2021, : 660 - 666
  • [40] Demystifying Exploitable Bugs in Smart Contracts
    Zhang, Zhuo
    Zhang, Brian
    Xu, Wen
    Lin, Zhiqiang
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 615 - 627