Proceedings

Smart Contract Vulnerability Detection using Graph Neural Network

Video Download BibTeX Cite

Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence. Main track. Pages 3283-3290.

https://doi.org/10.24963/ijcai.2020/454

Abstract

The security problems of smart contracts have drawn extensive attention due to the enormous financial losses caused by vulnerabilities. Existing methods on smart contract vulnerability detection heavily rely on fixed expert rules, leading to low detection accuracy. In this paper, we explore using graph neural networks (GNNs) for smart contract vulnerability detection. Particularly, we construct a contract graph to represent both syntactic and semantic structures of a smart contract function. To highlight the major nodes, we design an elimination phase to normalize the graph. Then, we propose a degree-free graph convolutional neural network (DR-GCN) and a novel temporal message propagation network (TMP) to learn from the normalized graphs for vulnerability detection. Extensive experiments show that our proposed approach significantly outperforms state-of-the-art methods in detecting three different types of vulnerabilities.

  1. [Allamanis et al., 2018] Miltiadis Allamanis, Marc Brockschmidt, and Mahmoud Khademi. Learning to represent programs with graphs. In International Conference on Learning Representations, 2018.
  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. [Cheng et al., 2019] Zhiyong Cheng, Xiaojun Chang, Lei Zhu, Rose Catherine Kanjirathinkal, and Mohan S. Kankanhalli. MMALFM: explainable recommendation by leveraging reviews and images. ACM Trans. Inf. Syst., 37(2):16:1-16:28, 2019.
  5. [Defferrard et al., 2016] Michaël Defferrard, Xavier Bres- son, and Pierre Vandergheynst. Convolutional neural net- works on graphs with fast localized spectral filtering. In Advances in neural information processing systems, pages 3844-3852, 2016.
  6. [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.
  7. [Jiang et al., 2018] Bo Jiang, Ye Liu, and WK Chan. Con- tractfuzzer: Fuzzing smart contracts for vulnerability de- tection. In Proceedings of the International Conference on Automated Software Engineering, pages 259-269. ACM, 2018.
  8. [Kipf and Welling, 2017] Thomas N. Kipf and Max Welling. Semi-supervised classification with graph convolutional networks. In International Conference on Learning Rep- resentations, 2017.
  9. [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.
  10. [Li et al., 2018] Ruoyu Li, Sheng Wang, Feiyun Zhu, and Junzhou Huang. Adaptive graph convolutional neural net- works. In Thirty-Second AAAI Conference on Artificial Intelligence, 2018.
  11. [Liu et al., 2018a] An-An Liu, Ning Xu, Hanwang Zhang, Weizhi Nie, and Yuting Su. Multi-level policy and reward reinforcement learning for image captioning. 2018. IJCAI
  12. [Liu et al., 2018b] Chao Liu, Han Liu, Zhao Cao, Zhong Chen, Bangdao Chen, and Bill Roscoe. Reguard: find- ing reentrancy bugs in smart contracts. In Proceedings of International Conference on Software Engineering: Com- panion Proceeedings, pages 65-68. ACM, 2018.
  13. [Luu et al., 2016] Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, and Aquinas Hobor. Making smart con- tracts smarter. In Conference on computer and communi- cations security, pages 254-269. ACM, 2016.
  14. [Micheli, 2009] Alessio Micheli. Neural network for graphs: A contextual constructive approach. IEEE Transactions on Neural Networks, 20(3):498-511, 2009.
  15. [Mueller, 2017] Bernhard Mueller. A framework for bug hunting on the ethereum blockchain. Webiste, 2017. https: //github.com/ConsenSys/mythril. Link
  16. [Nikolić et al., 2018] Ivica Nikolić, Aashish Kolluri, Ilya Sergey, Prateek Saxena, and Aquinas Hobor. Finding the greedy, prodigal, and suicidal contracts at scale. In Pro- ceedings of the Annual Computer Security Applications Conference, pages 653-663. ACM, 2018.
  17. [Sankar et al., 2017] Lakshmi Siva Sankar, M Sindhu, and M Sethumadhavan. Survey of consensus protocols on blockchain applications. In International Conference on Advanced Computing and Communication Systems, pages 1-5. IEEE, 2017.
  18. [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.
  19. [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 Conference on Computer and Commu- nications Security, pages 67-82. ACM, 2018.
  20. [Veličković et al., 2017] Petar Veličković, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Lio, and Yoshua Bengio. Graph attention networks. arXiv preprint arXiv:1710.10903, 2017.
  21. [Zhang et al., 2018] Jiani Zhang, Xingjian Shi, Junyuan Xie, Hao Ma, Irwin King, and Dit-Yan Yeung. Gaan: Gated at- tention networks for learning on large and spatiotemporal graphs. arXiv preprint arXiv:1803.07294, 2018.

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

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