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 条
  • [31] Machine learning methods for detecting smart contracts vulnerabilities within Ethereum blockchain - A review
    Crisostomo, Joao
    Bacao, Fernando
    Lobo, Victor
    EXPERT SYSTEMS WITH APPLICATIONS, 2025, 268
  • [32] SmartDagger: A Bytecode-Based Static Analysis Approach for Detecting Cross-Contract Vulnerability
    Liao, Zeqin
    Zheng, Zibin
    Chen, Xiao
    Nan, Yuhong
    PROCEEDINGS OF THE 31ST ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2022, 2022, : 752 - 764
  • [33] Pixy: A static analysis tool for detecting Web application vulnerabilities - (Short paper)
    Jovanovic, Nenad
    Kruegel, Christopher
    Kirda, Engin
    2006 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, PROCEEDINGS, 2006, : 258 - +
  • [34] A Static Backward Taint Data Analysis Method for Detecting Web Application Vulnerabilities
    Yan, Xuexiong
    Ma, Hengtai
    Wang, Qingxian
    2017 IEEE 9TH INTERNATIONAL CONFERENCE ON COMMUNICATION SOFTWARE AND NETWORKS (ICCSN), 2017, : 1138 - 1141
  • [35] Comparison of Ethereum Smart Contract Analysis and Verification Methods
    Happersberger, Vincent
    Jaekel, Frank-Walter
    Knothe, Thomas
    Pignolet, Yvonne-Anne
    Schmid, Stefan
    COMPUTER SECURITY. ESORICS 2023 INTERNATIONAL WORKSHOPS, PT I, 2024, 14398 : 344 - 358
  • [36] Gas Gauge: A Security Analysis Tool for Smart Contract Out-of-Gas Vulnerabilities
    Nassirzadeh, Behkish
    Sun, Huaiying
    Banescu, Sebastian
    Ganesh, Vijay
    MATHEMATICAL RESEARCH FOR BLOCKCHAIN ECONOMY, MARBLE 2022, 2023, : 143 - 167
  • [37] Opcode Sequences-Based Smart Contract Vulnerabilities Detection Using Deep Learning
    Zhu, Jinyao
    Xing, Xiaofei
    Wang, Guojun
    Li, Peiqiang
    2023 IEEE 22ND INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS, TRUSTCOM, BIGDATASE, CSE, EUC, ISCI 2023, 2024, : 284 - 291
  • [38] A smart fuzzing method for detecting heap-based vulnerabilities in executable codes
    Mouzarani, Maryam
    Sadeghiyan, Babak
    Zolfaghari, Mohammad
    SECURITY AND COMMUNICATION NETWORKS, 2016, 9 (18) : 5098 - 5115
  • [39] MPro: Combining Static and Symbolic Analysis for Scalable Testing of Smart Contract
    Zhang, William
    Ganesh, Vijay
    Banescu, Sebastian
    Pasos, Leodardo
    Stewart, Steven
    2019 IEEE 30TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2019, : 456 - 462
  • [40] Detecting Ethereum Ponzi Scheme Based on Hybrid Sampling for Smart Contract
    Qu, Yuanjun
    Si, Xiameng
    Kang, Haiyan
    Zhou, Hanlin
    CMC-COMPUTERS MATERIALS & CONTINUA, 2025, 82 (02): : 3111 - 3130