EASYFLOW : Keep Ethereum Away From Overflow

被引:48
作者
Gao, Jianbo [1 ]
Liu, Han [2 ]
Liu, Chao [1 ]
Li, Qingshan [1 ]
Guan, Zhi [3 ]
Chen, Zhong [1 ]
机构
[1] Peking Univ, Sch EECS, Beijing, Peoples R China
[2] Tsinghua Univ, Sch Software, Beijing, Peoples R China
[3] Peking Univ, Natl Engn Res Ctr Software Engn, Beijing, Peoples R China
来源
2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2019) | 2019年
基金
中国博士后科学基金; 中国国家自然科学基金;
关键词
Ethereum; Overflow Vulnerability; Taint Analysis; Smart Contract;
D O I
10.1109/ICSE-Companion.2019.00029
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
While Ethereum smart contracts enabled a wide range of blockchain applications, they are extremely vulnerable to different forms of security attacks. Due to the fact that transactions to smart contracts commonly involve cryptocurrency transfer, any successful attacks can lead to money loss or even financial disorder. In this paper, we focus on the overflow attacks in Ethereum, mainly because they widely rooted in many smart contracts and comparatively easy to exploit. We have developed EASYFLOW, an overflow detector at Ethereum Virtual Machine level. The key insight behind EASYFLOW is a taint analysis based tracking technique to analyze the propagation of involved taints. Specifically, EASYFLOW can not only divide smart contracts into safe contracts, manifested overflows, well-protected overflows and potential overflows, but also automatically generate transactions to trigger potential overflows. In our preliminary evaluation, EASYFLOW managed to find potentially vulnerable Ethereum contracts with little runtime overhead.
引用
收藏
页码:23 / 26
页数:4
相关论文
共 12 条
[1]  
Brumley D., 2007, RICH AUTOMATICALLY P, P28
[2]  
Buterin V., 2013, GitHub repository
[3]   BRICK: A Binary Tool for Run-time Detecting and Locating Integer-based Vulnerability [J].
Chen, Ping ;
Wang, Yi ;
Xin, Zhi ;
Mao, Bing ;
Xie, Li .
2009 INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY, AND SECURITY (ARES), VOLS 1 AND 2, 2009, :208-215
[4]  
Dannenberg R. B., 2010, Proceedings of the 2010 IEEE 21st International Symposium on Software Reliability Engineering (ISSRE 2010), P91, DOI 10.1109/ISSRE.2010.29
[5]  
Dietz W, 2012, PROC INT CONF SOFTW, P760, DOI 10.1109/ICSE.2012.6227142
[6]   ZEUS: Analyzing Safety of Smart Contracts [J].
Kalra, Sukrit ;
Goel, Seep ;
Dhawan, Mohan ;
Sharma, Subodh .
25TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2018), 2018,
[7]   ReGuard: Finding Reentrancy Bugs in Smart Contracts [J].
Liu, Chao ;
Liu, Han ;
Cao, Zhao ;
Chen, Zhong ;
Chen, Bangdao ;
Roscoe, Bill .
PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, :65-68
[8]   S-GRAM: Towards Semantic-Aware Security Auditing for Ethereum Smart Contracts [J].
Liu, Han ;
Liu, Chao ;
Zhao, Wenqi ;
Jiang, Yu ;
Sun, Jiaguang .
PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, :814-819
[9]   Making Smart Contracts Smarter [J].
Luu, Loi ;
Chu, Duc-Hiep ;
Olickel, Hrishi ;
Saxena, Prateek ;
Hobor, Aquinas .
CCS'16: PROCEEDINGS OF THE 2016 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2016, :254-269
[10]  
Molnar D., 2009, 18 USENIX SEC S MONT, P67