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 条
  • [11] Detecting Reentrancy Vulnerability in Smart Contracts using Graph Convolution Networks
    Lakadawala, Hozefa
    Dzigbede, Komla
    Chen, Yu
    2024 IEEE 21ST CONSUMER COMMUNICATIONS & NETWORKING CONFERENCE, CCNC, 2024, : 188 - 193
  • [12] A bytecode-based integrated detection and repair method for reentrancy vulnerabilities in smart contracts
    Feng Z.
    Feng Y.
    He H.
    Zhang W.
    Zhang Y.
    IET Blockchain, 2024, 4 (03): : 235 - 251
  • [13] Towards Effective Static Analysis Approaches for Security Vulnerabilities in Smart Contracts
    Ghaleb, Asem
    PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022, 2022,
  • [14] Static analysis method for detecting cross site scripting vulnerabilities
    Usha G.
    Kannimuthu S.
    Mahendiran P.D.
    Shanker A.K.
    Venugopal D.
    International Journal of Information and Computer Security, 2020, 13 (01): : 32 - 47
  • [15] eTainter: Detecting Gas-Related Vulnerabilities in Smart Contracts
    Ghaleb, Asem
    Rubin, Julia
    Pattabiraman, Karthik
    PROCEEDINGS OF THE 31ST ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2022, 2022, : 728 - 739
  • [16] SIGUARD: Detecting Signature-Related Vulnerabilities in Smart Contracts
    Zhang, Jiashuo
    Li, Yue
    Gao, Jianbo
    Guan, Zhi
    Chen, Zhong
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS, ICSE-COMPANION, 2023, : 31 - 35
  • [17] Detecting unknown vulnerabilities in smart contracts using opcode sequences
    Li, Peiqiang
    Wang, Guojun
    Xing, Xiaofei
    Li, Xiangbin
    Zhu, Jinyao
    CONNECTION SCIENCE, 2024, 36 (01)
  • [18] AChecker: Statically Detecting Smart Contract Access Control Vulnerabilities
    Ghaleb, Asem
    Rubin, Julia
    Pattabiraman, Karthik
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 945 - 956
  • [19] FlawCheck: Detecting Smart Contract Vulnerabilities Based on Symbolic Execution
    Gou, Naixiang
    Zhao, Xiangfu
    Wang, Shiji
    Zhang, Hanfeng
    Yang, Jiahui
    SECURITY AND PRIVACY, 2025, 8 (02):
  • [20] Detecting Smart Contract Vulnerabilities with Combined Binary and Multiclass Classification
    Mezina, Anzhelika
    Ometov, Aleksandr
    CRYPTOGRAPHY, 2023, 7 (03)