首页 | 本学科首页   官方微博 | 高级检索  
     

基于符号执行的智能合约漏洞检测方案
引用本文:赵伟,张问银,王九如,王海峰,武传坤.基于符号执行的智能合约漏洞检测方案[J].计算机应用,2020,40(4):947-953.
作者姓名:赵伟  张问银  王九如  王海峰  武传坤
作者单位:1. 临沂大学 信息科学与工程学院, 山东 临沂 276002;2. 山东科技大学 计算机科学与工程学院, 山东 青岛 266000
基金项目:山东省重点研发计划项目(2017CXGC0701,2019GNC106027)。
摘    要:随着区块链技术的应用推广,智能合约的数量呈现爆发式增长,而智能合约的漏洞将给用户带来巨大损失。但目前研究侧重于以太坊智能合约的语义分析、符号执行的建模与优化等,没有详细描述利用符号执行技术检测智能合约漏洞流程,以及如何检测智能合约常见漏洞。为此,在分析以太坊智能合约的运行机制和常见漏洞原理的基础上,利用符号执行技术检测智能合约漏洞。首先基于以太坊字节码构建智能合约执行控制流图,再根据智能合约漏洞特点设计相应的约束条件,利用约束求解器生成软件测试用例,检测常见的整型溢出、权限控制、Call注入、重入攻击等智能合约漏洞。实验结果表明,所提检测方案具有良好的检测效果,对Awesome-Buggy-ERC20-Tokens漏洞库中70份含漏洞的智能合约的漏洞检测正确率达85%。

关 键 词:区块链  智能合约  符号执行  漏洞分析  以太坊  
收稿时间:2019-11-05
修稿时间:2019-11-18

Smart contract vulnerability detection scheme based on symbol execution
ZHAO Wei,ZHANG Wenyin,WANG Jiuru,WANG Haifeng,WU Chuankun.Smart contract vulnerability detection scheme based on symbol execution[J].journal of Computer Applications,2020,40(4):947-953.
Authors:ZHAO Wei  ZHANG Wenyin  WANG Jiuru  WANG Haifeng  WU Chuankun
Affiliation:1. School of Information Science and Engineering, Linyi University, Linyi Shandong 276002, China;2. School of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao Shandong 266000, China
Abstract:Smart contract is one of the core technologies of blockchain,and its security and reliability are very important. With the popularization of blockchain application,the number of smart contracts has increased explosively. And the vulnerabilities of smart contracts will bring huge losses to users. However,the current research focuses on the semantic analysis of Ethereum smart contracts,the modeling and optimization of symbolic execution,and does not specifically describe the process of detecting smart contract vulnerabilities using symbolic execution technology,and how to detect common vulnerabilities in smart contracts. Based on the analysis of the operation mechanism and common vulnerabilities of Ethereum smart contract,the symbol execution technology was used to detect vulnerabilities in smart contracts. Firstly,the smart contract control flow graph was constructed based on Ethereum bytecode,then the corresponding constraint conditions were designed according to the characteristics of smart contract vulnerabilities,and the constraint solver was used to generate software test cases to detect the common vulnerabilities of smart contracts such as integer overflow,access control,call injection and reentry attack. The experimental results show that the proposed detection scheme has good detection effect, and has the accuracy of smart contract vulnerability detection up to 85% on 70 smart contracts with vulnerabilities in Awesome-Buggy-ERC20-Tokens.
Keywords:blockchain                                                                                                                        smart contract                                                                                                                        symbol execution                                                                                                                        vulnerability analysis                                                                                                                        Ethereum
本文献已被 维普 等数据库收录!
点击此处可从《计算机应用》浏览原始摘要信息
点击此处可从《计算机应用》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号