Proceedings

Smart Contract Vulnerability Detection: From Pure Neural Network to Interpretable Graph Feature and Expert Pattern Fusion

Download BibTeX Cite

Proceedings of the Thirtieth International Joint Conference on Artificial Intelligence. Main Track. Pages 2751-2759.

https://doi.org/10.24963/ijcai.2021/379

Abstract

Smart contracts hold digital coins worth billions of dollars, their security issues have drawn extensive attention in the past years. Towards smart contract vulnerability detection, conventional methods heavily rely on fixed expert rules, leading to low accuracy and poor scalability. Recent deep learning approaches alleviate this issue but fail to encode useful expert knowledge. In this paper, we explore combining deep learning with expert patterns in an explainable fashion. Specifically, we develop automatic tools to extract expert patterns from the source code. We then cast the code into a semantic graph to extract deep graph features. Thereafter, the global graph feature and local expert patterns are fused to cooperate and approach the final prediction, while yielding their interpretable weights. Experiments are conducted on all available smart contracts with source code in two platforms, Ethereum and VNT Chain. Empirically, our system significantly outperforms state-of-the-art methods. Our code is released.

  1. [Bhargavan et al., 2016] Karthikeyan Bhargavan, Antoine Delignat-Lavaud, Cédric Fournet, Anitha Gollamudi, Georges Gonthier, Nadim Kobeissi, Natalia Kulatova, Aseem Rastogi, Thomas Sibut-Pinote, Nikhil Swamy, et al. Formal verification of smart contracts: Short paper. In Proceedings of the 2016 ACM Workshop on Program- ming Languages and Analysis for Security, pages 91-96, 2016.
  2. [Burnim et al., 2009] Jacob Burnim, Nicholas Jalbert, Chris- tos Stergiou, and Koushik Sen. Looper: Lightweight de- tection of infinite loops at runtime. In Proceedings of the International Conference on Automated Software En- gineering, pages 161-169. IEEE Computer Society, 2009.
  3. [Carbin et al., 2011] Michael Carbin, Sasa Misailovic, Michael Kling, and Martin C Rinard. Detecting and es- caping infinite loops with jolt. In European Conference on Object-Oriented Programming, pages 609-633. Springer, 2011.
  4. [Ding et al., 2019] Yi Ding, Jun Jin, Jinglun Zhang, Zhongyi Wu, and Kai Hu. Sc-rbac: A smart contract based rbac model for dapps. In International Conference on Human Centered Computing, pages 75-85. Springer, 2019.
  5. [Feist et al., 2019] Josselin Feist, Gustavo Grieco, and Alex Groce. Slither: a static analysis framework for smart con- tracts. In 2019 IEEE/ACM 2nd International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB), pages 8-15. IEEE, 2019.
  6. [Grishchenko et al., 2018] Ilya Grishchenko, Matteo Maffei, and Clara Schneidewind. A semantic framework for the security analysis of ethereum smart contracts. In Inter- national Conference on Principles of Security and Trust, pages 243-269, 2018.
  7. [Hewa et al., 2020] Tharaka Hewa, Mika Ylianttila, and Madhusanka Liyanage. Survey on blockchain based smart contracts: Applications, opportunities and chal- lenges. Journal of Network and Computer Applications, page 102857, 2020.
  8. [Hirai, 2017] Yoichi Hirai. Defining the ethereum virtual machine for interactive theorem provers. In International Conference on Financial Cryptography and Data Security, pages 520-535, 2017.
  9. [Ibing and Mai, 2015] Andreas Ibing and Alexandra Mai. A fixed-point algorithm for automated static detection of infi- nite loops. In International Symposium on High Assurance Systems Engineering, pages 44-51. IEEE, 2015.
  10. [Jiang et al., 2018] Bo Jiang, Ye Liu, and WK Chan. Con- tractfuzzer: Fuzzing smart contracts for vulnerability de- tection. In ASE, pages 259-269. IEEE, 2018.
  11. [Kalra et al., 2018] Sukrit Kalra, Seep Goel, Mohan Dhawan, and Subodh Sharma. Zeus: Analyzing safety of smart contracts. In NDSS, 2018.
  12. [Kling et al., 2012] Michael Kling, Sasa Misailovic, Michael Carbin, and Martin Rinard. Bolt: on-demand in- finite loop escape in unmodified binaries. ACM SIGPLAN Notices, 47(10):431-450, 2012.
  13. [Liu et al., 2021] Zhenguang Liu, Peng Qian, Xiaoyang Wang, Yuan Zhuang, Lin Qiu, and Xun Wang. Combining graph neural networks with expert knowledge for smart contract vulnerability detection. Transactions on Knowl- edge and Data Engineering, page Accepted, 2021.
  14. [Lorenz et al., 2018] Breidenbach Lorenz, Daian Phil, Juels Ari, and Sirer Emin. An in-depth look at the parity multisig bug. https://hackingdistributed.com/2017/07/22/ deep-dive-parity-bug/, 2018. Accessed: 2021-01-10. Link
  15. [Luu et al., 2016] Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, and Aquinas Hobor. Making smart con- tracts smarter. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pages 254-269, 2016.
  16. [Mueller, 2017] Bernhard Mueller. A framework for bug hunting on the ethereum blockchain. https://github.com/ ConsenSys/mythril, 2017. Accessed: 2021-01-10. Link
  17. [Qian et al., 2020] P. Qian, Z. Liu, Q. He, R. Zimmermann, and X. Wang. Towards automated reentrancy detection for smart contracts based on sequential models. IEEE Access, 8:19685-19695, 2020.
  18. [Rodler et al., 2019] Michael Rodler, Wenting Li, Ghas- san O. Karame, and Lucas Davi. Sereum: Protecting ex- isting smart contracts against re-entrancy attacks. In Pro- ceedings of the NDSS, 2019.
  19. [Tann et al., 2018] Wesley Joon-Wie Tann, Xing Jie Han, Sourav Sen Gupta, and Yew-Soon Ong. Towards safer smart contracts: A sequence learning approach to detect- ing vulnerabilities. CoRR, 2018.
  20. [Tikhomirov et al., 2018] Sergei Tikhomirov, Ekaterina Voskresenskaya, Ivan Ivanitskiy, Ramil Takhaviev, Evgeny Marchenko, and Yaroslav Alexandrov. Smartcheck: Static analysis of ethereum smart con- tracts. In International Workshop on Emerging Trends in Software Engineering for Blockchain, pages 9-16. IEEE, 2018.
  21. [Tsankov et al., 2018] Petar Tsankov, Andrei Dan, Dana Drachsler-Cohen, Arthur Gervais, Florian Buenzli, and Martin Vechev. Securify: Practical security analysis of smart contracts. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, pages 67-82, 2018.
  22. [Wang et al., 2019] Shuai Wang, Liwei Ouyang, Yong Yuan, Xiaochun Ni, Xuan Han, and Fei-Yue Wang. Blockchain- enabled smart contracts: architecture, applications, and fu- ture trends. IEEE Transactions on Systems, Man, and Cy- bernetics: Systems, 49(11):2266-2277, 2019.
  23. [Wang et al., 2020] Wei Wang, Jingjing Song, Guangquan Xu, Yidong Li, Hao Wang, and Chunhua Su. Con- tractward: Automated vulnerability detection models for ethereum smart contracts. IEEE Transactions on Network Science and Engineering, 2020.
  24. [Zhuang et al., 2020] Yuan Zhuang, Zhenguang Liu, Peng Qian, Qi Liu, Xiang Wang, and Qinming He. Smart con- tract vulnerability detection using graph neural network. In IJCAI, pages 3283-3290, 2020. IJCAI

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards