S-GRAM: Towards Semantic-Aware Security Auditing for Ethereum Smart Contracts

被引:62
作者
Liu, Han [1 ,4 ,5 ]
Liu, Chao [2 ]
Zhao, Wenqi [3 ]
Jiang, Yu [1 ]
Sun, Jiaguang [1 ]
机构
[1] Tsinghua Univ, Sch Software, Beijing, Peoples R China
[2] Peking Univ, Beijing, Peoples R China
[3] Ant Financial, Ant Fortune Business Grp, Beijing, Peoples R China
[4] Beijing Natl Res Ctr Informat Sci & Technol, Beijing, Peoples R China
[5] Minist Educ, Key Lab Informat Syst Secur, Beijing, Peoples R China
来源
PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18) | 2018年
基金
中国博士后科学基金;
关键词
Smart contracts; security auditing; language modeling; static semantic labeling;
D O I
10.1145/3238147.3240728
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Smart contracts, as a promising and powerful application on the Ethereum blockchain, have been growing rapidly in the past few years. Since they are highly vulnerable to different forms of attacks, their security becomes a top priority. However, existing security auditing techniques are either limited in finding vulnerabilities (rely on pre-defined bug patterns) or very expensive (rely on program analysis), thus are insufficient for Ethereum. To mitigate these limitations, we proposed a novel semantic-aware security auditing technique called S-GRAM for Ethereum. The key insight is a combination of N-gram language modeling and lightweight static semantic labeling, which can learn statistical regularities of contract tokens and capture high-level semantics as well (e.g., flow sensitivity of a transaction). S-GRAM can be used to predict potential vulnerabilities by identifying irregular token sequences and optimize existing in-depth analyzers (e.g., symbolic execution engines, fuzzers etc.). We have implemented S-GRAM for Solidity smart contracts in Ethereum. The evaluation demonstrated the potential of S-GRAM in identifying possible security issues.
引用
收藏
页码:814 / 819
页数:6
相关论文
共 21 条
[1]  
ABRAHAM ITTAI, ONLINE DETECTION E E
[2]   Suggesting Accurate Method and Class Names [J].
Allamanis, Miltiadis ;
Barr, Earl T. ;
Bird, Christian ;
Sutton, Charles .
2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, :38-49
[3]   Learning Natural Coding Conventions [J].
Allamanis, Miltiadis ;
Barr, Earl T. ;
Bird, Christian ;
Sutton, Charles .
22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, :281-293
[4]  
[Anonymous], 2013, P 9 JOINT M EUR SOFT
[5]  
[Anonymous], 1999, FDN STAT NATURAL LAN
[6]  
[Anonymous], CONSULTED
[7]   A Survey of Attacks on Ethereum Smart Contracts (SoK) [J].
Atzei, Nicola ;
Bartoletti, Massimo ;
Cimoli, Tiziana .
PRINCIPLES OF SECURITY AND TRUST (POST 2017), 2017, 10204 :164-186
[8]   Formal Verification of Smart Contracts Short Paper [J].
Bhargavan, Karthikeyan ;
Delignat-Lavaud, Antoine ;
Fournet, Cedric ;
Gollamudi, Anitha ;
Gonthier, Georges ;
Kobeissi, Nadim ;
Kulatova, Natalia ;
Rastogi, Aseem ;
Sibut-Pinote, Thomas ;
Swamy, Nikhil ;
Zanella-Beguelin, Santiago .
PROCEEDINGS OF THE 2016 ACM WORKSHOP ON PROGRAMMING LANGUAGES AND ANALYSIS FOR SECURITY (PLAS'16), 2016, :91-96
[9]  
ConsenSys, 2018, SOL PARS JAV
[10]  
Ethereum Foundation, 2018, SOL CONTR OR PROGR L