ReJection: A AST-Based Reentrancy Vulnerability Detection Method

Rui Ma, Zefeng Jian, Guangyuan Chen, Ke Ma*, Yujia Chen

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

9 Citations (Scopus)
Plum Print visual indicator of research metrics
  • Citations
    • Citation Indexes: 9
  • Captures
    • Readers: 8
see details

Abstract

Blockchain is deeply integrated into the vertical industry, and gradually forms an application ecosphere of blockchain in various industries. However, the security incidents of blockchain occur frequently, and especially smart contracts have become the badly-disastered area. So avoiding security incidents caused by smart contracts has become an essential topic for blockchain developing. Up to now, there is not generic method for the security auditing of smart contracts and most researchers have to use existing vulnerability detection technology. To reduce the high false rate of smart contract vulnerability detection, we use ReJection, a detection method based on abstract syntax tree (AST), to focus on the reentrancy vulnerability with obvious harm and features in smart contracts. ReJection consists of four steps. Firstly, ReJection obtains the AST corresponding to the contract by the smart contract compiler solc. Then, AST is preprocessed to eliminate redundant information. Thirdly, ReJection traverses the nodes of the AST and records the notations related to reentrancy vulnerabilities during the traversal, such as Danger-Transfer function, Checks-Effects-Interactions pattern and mutex mechanism. Finally, ReJection uses record information and predefined rules to determine whether the reentrancy vulnerability is occurred. ReJection is implemented based on Slither, which is an open-source smart contract vulnerability detection tool. Furthermore, we also use the open-source smart contract code as the test program to compare experimental results to verify the effects with the ReJection and Slither. The result highlights that the ReJection has higher detection accuracy for reentrancy vulnerability.

Original languageEnglish
Title of host publicationTrusted Computing and Information Security - 13th Chinese Conference, CTCIS 2019, Revised Selected Papers
EditorsWeili Han, Liehuang Zhu, Fei Yan
PublisherSpringer
Pages58-71
Number of pages14
ISBN (Print)9789811534171
DOIs
Publication statusPublished - 2020
Event13th Chinese Conference on Trusted Computing and Information Security, CTCIS 2019 - Shanghai, China
Duration: 24 Oct 201927 Oct 2019

Publication series

NameCommunications in Computer and Information Science
Volume1149 CCIS
ISSN (Print)1865-0929
ISSN (Electronic)1865-0937

Conference

Conference13th Chinese Conference on Trusted Computing and Information Security, CTCIS 2019
Country/TerritoryChina
CityShanghai
Period24/10/1927/10/19

Keywords

  • Abstract syntax tree
  • Reentrancy vulnerability
  • Smart contract
  • Vulnerability detection

Fingerprint

Dive into the research topics of 'ReJection: A AST-Based Reentrancy Vulnerability Detection Method'. Together they form a unique fingerprint.

Cite this

Ma, R., Jian, Z., Chen, G., Ma, K., & Chen, Y. (2020). ReJection: A AST-Based Reentrancy Vulnerability Detection Method. In W. Han, L. Zhu, & F. Yan (Eds.), Trusted Computing and Information Security - 13th Chinese Conference, CTCIS 2019, Revised Selected Papers (pp. 58-71). (Communications in Computer and Information Science; Vol. 1149 CCIS). Springer. https://doi.org/10.1007/978-981-15-3418-8_5