Cross-Contract Static Analysis for Detecting Practical Reentrancy Vulnerabilities in Smart Contracts

被引:55
|
作者
Xue, Yinxing [1 ]
Ma, Mingliang [1 ]
Lin, Yun [2 ]
Sui, Yulei [3 ]
Ye, Jiaming [1 ]
Peng, Tianyong [1 ]
机构
[1] Univ Sci & Technol China, Hefei, Peoples R China
[2] Natl Univ Singapore, Singapore, Singapore
[3] Univ Technol Sydney, Sydney, NSW, Australia
基金
澳大利亚研究理事会; 中国国家自然科学基金;
关键词
reentrancy vulnerabilities; static taint analysis; cross-contract analysis; smart contracts;
D O I
10.1145/3324884.3416553
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Reentrancy bugs, one of the most severe vulnerabilities in smart contracts, have caused huge financial loss in recent years. Researchers have proposed many approaches to detecting them. However, empirical studies have shown that these approaches suffer from undesirable false positives and false negatives, when the code under detection involves the interaction between multiple smart contracts. In this paper, we propose an accurate and efficient cross-contract reentrancy detection approach in practice. Rather than design rule-of-thumb heuristics, we conduct a large empirical study of 11714 real-world contracts from Etherscan against three well-known general-purpose security tools for reentrancy detection. We manually summarized the reentrancy scenarios where the state-of-the-art approaches cannot address. Based on the empirical evidence, we present CLAIRVOYANCE, a cross-function and cross-contract static analysis to detect reentrancy vulnerabilities in real world with significantly higher accuracy. To reduce false negatives, we enable, for the first time, a cross-contract call chain analysis by tracking possibly tainted paths. To reduce false positives, we systematically summarized five major path protective techniques (PPTs) to support fast yet precise path feasibility checking. We implemented our approach and compared CLAIRVOYANCE with five state-of-the-art tools on 17770 real-worlds contracts. The results show that CLAIRVOYANCE yields the best detection accuracy among all the five tools and also finds 101 unknown reentrancy vulnerabilities.
引用
收藏
页码:1029 / 1040
页数:12
相关论文
共 50 条
  • [21] eThor: Practical and Provably Sound Static Analysis of Ethereum Smart Contracts
    Schneidewind, Clara
    Grishchenko, Ilya
    Scherer, Markus
    Maffei, Matteo
    CCS '20: PROCEEDINGS OF THE 2020 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2020, : 621 - 640
  • [22] Nyx: Detecting Exploitable Front-Running Vulnerabilities in Smart Contracts
    Zhang, Wuqi
    Zhang, Zhuo
    Shi, Qingkai
    Liu, Lu
    Wei, Lili
    Liu, Yepang
    Zhang, Xiangyu
    Cheung, Shing-Chi
    45TH IEEE SYMPOSIUM ON SECURITY AND PRIVACY, SP 2024, 2024, : 2198 - 2216
  • [23] Detecting unknown vulnerabilities in smart contracts with the CNN-BiLSTM model
    Gu, Wanyi
    Wang, Guojun
    Li, Peiqiang
    Zhai, Guangxin
    Li, Xubin
    INTERNATIONAL JOURNAL OF INFORMATION SECURITY, 2025, 24 (01)
  • [24] SVScanner: Detecting smart contract vulnerabilities via deep semantic extraction
    Zhang, Hengyan
    Zhang, Weizhe
    Feng, Yuming
    Liu, Yang
    JOURNAL OF INFORMATION SECURITY AND APPLICATIONS, 2023, 75
  • [25] Integrating static and dynamic analysis for detecting vulnerabilities
    Aggarwal, Ashish
    Jalote, Pankaj
    30TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, VOL 1, REGULAR PAPERS/PANELS, PROCEEDINGS, 2006, : 343 - +
  • [26] Analysis Of The Relationship Between Smart Contracts' Categories and Vulnerabilities
    Ibba, Giacomo
    Ortu, Marco
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2022), 2022, : 1212 - 1218
  • [27] Identifying Vulnerabilities in Smart Contracts using Interval Analysis
    Susan, Stefan-Claudiu
    Arusoaie, Andrei
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2023, 389 : 144 - 151
  • [28] Detecting Buffer-Overflow Vulnerabilities in Smart Grid Devices via Automatic Static Analysis
    Ying, Huan
    Zhang, Yanmiao
    Han, Lifang
    Cheng, Yushi
    Li, Jiyuan
    Ji, Xiaoyu
    Xu, Wenyuan
    PROCEEDINGS OF 2019 IEEE 3RD INFORMATION TECHNOLOGY, NETWORKING, ELECTRONIC AND AUTOMATION CONTROL CONFERENCE (ITNEC 2019), 2019, : 813 - 817
  • [29] Unity is Strength: Enhancing Precision in Reentrancy Vulnerability Detection of Smart Contract Analysis Tools
    Wang, Zexu
    Chen, Jiachi
    Zheng, Peilin
    Zhang, Yu
    Zhang, Weizhe
    Zheng, Zibin
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2025, 51 (01) : 1 - 13
  • [30] Static analysis method for detecting buffer overflow vulnerabilities
    Puchkov, FM
    Shapchenko, KA
    PROGRAMMING AND COMPUTER SOFTWARE, 2005, 31 (04) : 179 - 189