RA: Hunting for Re-Entrancy Attacks in Ethereum Smart Contracts via Static Analysis

Yuichiro Chinen, Naoto Yanai, Jason Paul Cruz, Shingo Okamura
{"title":"RA: Hunting for Re-Entrancy Attacks in Ethereum Smart Contracts via Static Analysis","authors":"Yuichiro Chinen, Naoto Yanai, Jason Paul Cruz, Shingo Okamura","doi":"10.1109/Blockchain50366.2020.00048","DOIUrl":null,"url":null,"abstract":"Ethereum smart contracts are programs that are deployed and executed in a consensus-based blockchain managed by a peer-to-peer network. Several re-entrancy attacks that aim to steal Ether, the cryptocurrency used in Ethereum, stored in deployed smart contracts were found in the recent years. A countermeasure to such attacks is based on dynamic analysis that executes the smart contracts themselves, but it requires the spending of Ether and knowledge of attack patterns for analysis in advance. In this paper, we present a static analysis tool named RA (Re-entrancy Analyzer), a combination of symbolic execution and equivalence checking by a satisfiability modulo theories solver to analyze smart contract vulnerabilities against re-entrancy attacks. In contrast to existing tools, RA supports analysis of inter-contract behaviors by using only the Ethereum Virtual Machine bytecodes of target smart contracts, i.e., even without prior knowledge of attack patterns and without spending Ether. Furthermore, RA can verify existence of vulnerabilities against re-entrancy attacks without execution of smart contracts and it does not provide false positives and false negatives. We also present an implementation of RA to evaluate its performance in analyzing the vulnerability of deployed smart contracts against re-entrancy attacks and show that RA can precisely determine which smart contracts are vulnerable.","PeriodicalId":109440,"journal":{"name":"2020 IEEE International Conference on Blockchain (Blockchain)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-07-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"25","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE International Conference on Blockchain (Blockchain)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/Blockchain50366.2020.00048","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 25

Abstract

Ethereum smart contracts are programs that are deployed and executed in a consensus-based blockchain managed by a peer-to-peer network. Several re-entrancy attacks that aim to steal Ether, the cryptocurrency used in Ethereum, stored in deployed smart contracts were found in the recent years. A countermeasure to such attacks is based on dynamic analysis that executes the smart contracts themselves, but it requires the spending of Ether and knowledge of attack patterns for analysis in advance. In this paper, we present a static analysis tool named RA (Re-entrancy Analyzer), a combination of symbolic execution and equivalence checking by a satisfiability modulo theories solver to analyze smart contract vulnerabilities against re-entrancy attacks. In contrast to existing tools, RA supports analysis of inter-contract behaviors by using only the Ethereum Virtual Machine bytecodes of target smart contracts, i.e., even without prior knowledge of attack patterns and without spending Ether. Furthermore, RA can verify existence of vulnerabilities against re-entrancy attacks without execution of smart contracts and it does not provide false positives and false negatives. We also present an implementation of RA to evaluate its performance in analyzing the vulnerability of deployed smart contracts against re-entrancy attacks and show that RA can precisely determine which smart contracts are vulnerable.
RA:通过静态分析寻找以太坊智能合约中的重入攻击
以太坊智能合约是在基于共识的区块链中部署和执行的程序,该区块链由点对点网络管理。近年来发现了几次旨在窃取以太坊中使用的加密货币Ether的重新进入攻击,这些攻击存储在部署的智能合约中。这种攻击的对策是基于执行智能合约本身的动态分析,但它需要以太币的支出和攻击模式的知识,以便提前分析。在本文中,我们提出了一个静态分析工具RA (reentrancy Analyzer),它结合了符号执行和等价性检查,通过可满足模理论求解器来分析智能合约针对reentrancy攻击的漏洞。与现有工具相比,RA仅通过使用目标智能合约的以太坊虚拟机字节码来支持对合约间行为的分析,也就是说,即使事先不知道攻击模式,也不需要花费以太币。此外,RA可以在不执行智能合约的情况下验证是否存在针对重入攻击的漏洞,并且不会提供假阳性和假阴性。我们还提出了一种RA的实现,以评估其在分析部署的智能合约对重入攻击的脆弱性方面的性能,并表明RA可以精确地确定哪些智能合约是脆弱的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信