A Graph Neural Network-Based Smart Contract Vulnerability Detection Method with Artificial Rule

被引:1
作者
Wei, Ziyue [1 ]
Zheng, Weining [1 ]
Su, Xiaohong [1 ]
Tao, Wenxin [1 ]
Wang, Tiantian [1 ]
机构
[1] Harbin Inst Technol, Fac Comp, Harbin, Peoples R China
来源
ARTIFICIAL NEURAL NETWORKS AND MACHINE LEARNING, ICANN 2023, PT IV | 2023年 / 14257卷
基金
中国国家自然科学基金;
关键词
Smart contract; Blockchain; Graph neural network; Vulnerability detection; Wide & Deep learning model;
D O I
10.1007/978-3-031-44216-2_20
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
As blockchain technology advances, the security of smart contracts has become increasingly crucial. However, most of smart contract vulnerability detection tools available on the market currently rely on artificial-predefined vulnerability rules, which result in suboptimal generalization ability and detection accuracy. Deep learning-based methods usually treat smart contracts as token sequences, which limit the utilization of structural information and the integration of artificial rules. To mitigate these issues, we propose a novel smart contract vulnerability detection method. First, we propose an approach for constructing contract graph to capture vital structural information, such as control- and data- flow. Then, we employ a Wide & Deep learning model to integrate the structural feature, sequencial feature, and artificial rules for smart contract vulnerability detection. Extensive experiments show that the proposed method performs exceptionally well in detecting four different types of vulnerabilities. The results demonstrate that integrating structural information and artificial rules can significantly improve the effectiveness of smart contract vulnerability detection.
引用
收藏
页码:241 / 252
页数:12
相关论文
共 16 条
[1]  
Allamanis M., 2018, INT C LEARN REPR
[2]  
Amani S, 2018, PROCEEDINGS OF THE 7TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, CPP 2018, P66, DOI 10.1145/3167084
[3]  
Cheng Heng-Tze, 2016, DLRS 2016: Workshop on Deep Learning for Recommender Systems, P7
[4]   Slither: A Static Analysis Framework For Smart Contracts [J].
Feist, Josselin ;
Greico, Gustavo ;
Groce, Alex .
2019 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON EMERGING TRENDS IN SOFTWARE ENGINEERING FOR BLOCKCHAIN (WETSEB 2019), 2019, :8-15
[5]  
Feng Zhangyin, 2020, CodeBERT: A Pre-Trained Model for Programming and Natural Languages, P1536
[6]   A Semantic Framework for the Security Analysis of Ethereum Smart Contracts [J].
Grishchenko, Ilya ;
Maffei, Matteo ;
Schneidewind, Clara .
PRINCIPLES OF SECURITY AND TRUST, POST 2018, 2018, 10804 :243-269
[7]   KEVM: A Complete Formal Semantics of the Ethereum Virtual Machine [J].
Hildenbrandt, Everett ;
Saxena, Manasvi ;
Rodrigues, Nishant ;
Zhu, Xiaoran ;
Daian, Philip ;
Guth, Dwight ;
Moore, Brandon ;
Park, Daejun ;
Zhang, Yi ;
Stefanescu, Andrei ;
Rosu, Grigore .
IEEE 31ST COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2018), 2018, :204-217
[8]   ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection [J].
Jiang, Bo ;
Liu, Ye ;
Chan, W. C. .
PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, :259-269
[9]  
Tann WJW, 2019, Arxiv, DOI arXiv:1811.06632
[10]   Combining Graph Neural Networks With Expert Knowledge for Smart Contract Vulnerability Detection [J].
Liu, Zhenguang ;
Qian, Peng ;
Wang, Xiaoyang ;
Zhuang, Yuan ;
Qiu, Lin ;
Wang, Xun .
IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2023, 35 (02) :1296-1310