SafeCheck: Detecting smart contract vulnerabilities based on static program analysis methods

被引:2
|
作者
Chen, Haiyue [1 ]
Zhao, Xiangfu [1 ]
Wang, Yichen [1 ]
Zhen, Zixian [1 ]
机构
[1] Yantai Univ, Sch Comp & Control Engn, 30 Qingquan Rd, Yantai 264005, Shandong, Peoples R China
来源
SECURITY AND PRIVACY | 2024年 / 7卷 / 05期
基金
中国国家自然科学基金;
关键词
detection rules; intermediate representation; semantic facts; semantic information; smart contracts; static program analysis; vulnerability detection;
D O I
10.1002/spy2.393
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Ethereum smart contracts are a special type of computer programs. Once deployed on the blockchain, they cannot be modified. This presents a significant challenge to the security of smart contracts. Previous research has proposed static and dynamic detection tools to identify vulnerabilities in smart contracts. These tools check contract vulnerabilities based on predefined rules, and the accuracy of detection strongly depends on the design of the rules. However, the constant emergence of new vulnerability types and strategies for vulnerability protection leads to numerous false positives and false negatives by tools. To address this problem, we analyze the characteristics of vulnerabilities in smart contracts and the corresponding protection strategies. We convert the contracts' bytecode into an intermediate representation to extract semantic information of the contracts. Based on this semantic information, we establish a set of detection rules based on semantic facts and implement a vulnerability detection tool SafeCheck using static program analysis methods. The tool is used to detect six common types of vulnerabilities in smart contracts. We have extensively evaluated SafeCheck on real Ethereum smart contracts and compared it to other tools. The experimental results show that SafeCheck performs better in smart contract vulnerability detection compared to other typical tools, with a high F-measure (up to 83.1%) for its entire dataset.
引用
收藏
页数:25
相关论文
共 50 条
  • [1] Cross-Contract Static Analysis for Detecting Practical Reentrancy Vulnerabilities in Smart Contracts
    Xue, Yinxing
    Ma, Mingliang
    Lin, Yun
    Sui, Yulei
    Ye, Jiaming
    Peng, Tianyong
    2020 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2020), 2020, : 1029 - 1040
  • [2] Clairvoyance: Cross-contract Static Analysis for Detecting Practical Reentrancy Vulnerabilities in Smart Contracts
    Ye, Jiaming
    Ma, Mingliang
    Lin, Yun
    Sui, Yulei
    Xue, Yinxing
    2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2020), 2020, : 274 - 275
  • [3] 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):
  • [4] 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
  • [5] Formal Analysis of Reentrancy Vulnerabilities in Smart Contract Based on CPN
    He, Yaqiong
    Dong, Hanjie
    Wu, Huaiguang
    Duan, Qianheng
    ELECTRONICS, 2023, 12 (10)
  • [6] Detecting Smart Contract Vulnerabilities with Combined Binary and Multiclass Classification
    Mezina, Anzhelika
    Ometov, Aleksandr
    CRYPTOGRAPHY, 2023, 7 (03)
  • [7] OC-Detector: Detecting Smart Contract Vulnerabilities Based on Clustering Opcode Instructions
    Gu, Xiguo
    Zheng, Liwei
    Yang, Huiwen
    Liu, Shifan
    Cui, Zhanqi
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2023, 33 (11N12) : 1673 - 1700
  • [8] A Static Analysis Tool for Detecting Web Application Injection Vulnerabilities for ASP Program
    Zhang Xin-hua
    Wang Zhi-jian
    2010 2ND INTERNATIONAL CONFERENCE ON E-BUSINESS AND INFORMATION SYSTEM SECURITY (EBISS 2010), 2010, : 116 - 120
  • [9] 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
  • [10] 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 - +