TY - GEN
T1 - ReJection
T2 - 13th Chinese Conference on Trusted Computing and Information Security, CTCIS 2019
AU - Ma, Rui
AU - Jian, Zefeng
AU - Chen, Guangyuan
AU - Ma, Ke
AU - Chen, Yujia
N1 - Publisher Copyright:
© Springer Nature Singapore Pte Ltd 2020.
PY - 2020
Y1 - 2020
N2 - 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.
AB - 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.
KW - Abstract syntax tree
KW - Reentrancy vulnerability
KW - Smart contract
KW - Vulnerability detection
UR - http://www.scopus.com/inward/record.url?scp=85081622248&partnerID=8YFLogxK
U2 - 10.1007/978-981-15-3418-8_5
DO - 10.1007/978-981-15-3418-8_5
M3 - Conference contribution
AN - SCOPUS:85081622248
SN - 9789811534171
T3 - Communications in Computer and Information Science
SP - 58
EP - 71
BT - Trusted Computing and Information Security - 13th Chinese Conference, CTCIS 2019, Revised Selected Papers
A2 - Han, Weili
A2 - Zhu, Liehuang
A2 - Yan, Fei
PB - Springer
Y2 - 24 October 2019 through 27 October 2019
ER -