Proceedings

VulSniper: Focus Your Attention to Shoot Fine-Grained Vulnerabilities

Download BibTeX Cite

Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence. Main track. Pages 4665-4671.

https://doi.org/10.24963/ijcai.2019/648

© 2019 International Joint Conferences on Artificial Intelligence

Abstract

With the explosive development of information technology, vulnerabilities have become one of the major threats to computer security. Most vulnerabilities with similar patterns can be detected effectively by static analysis methods. However, some vulnerable and non-vulnerable code is hardly distinguishable, resulting in low detection accuracy. In this paper, we define the accurate identification of vulnerabilities in similar code as a fine-grained vulnerability detection problem. We propose VulSniper which is designed to detect fine-grained vulnerabilities more effectively. In VulSniper, attention mechanism is used to capture the critical features of the vulnerabilities. Especially, we use bottom-up and top-down structures to learn the attention weights of different areas of the program. Moreover, in order to fully extract the semantic features of the program, we generate the code property graph, design a 144-dimensional vector to describe the relation between the nodes, and finally encode the program as a feature tensor. VulSniper achieves F1-scores of 80.6% and 73.3% on the two benchmark datasets, the SARD Buffer Error dataset and the SARD Resource Management Error dataset respectively, which are significantly higher than those of the state-of-the-art methods.

  1. [Cadar et al., 2008] Cristian Cadar, Daniel Dunbar, and Dawson Engler. Klee: Unassisted and automatic genera- tion of high-coverage tests for complex systems programs. In OSDI, pages 209-224, 2008.
  2. [Chen et al., 2018] Jiongyi Chen, Wenrui Diao, Qingchuan Zhao, Chaoshun Zuo, Zhiqiang Lin, XiaoFeng Wang, Wing Cheong Lau, Menghan Sun, Ronghai Yang, and Ke- huan Zhang. Iotfuzzer: Discovering memory corruptions in iot through app-based fuzzing. In NDSS, 2018.
  3. [Feng et al., 2016] Qian Feng, Rundong Zhou, Chengcheng Xu, Yao Cheng, Brian Testa, and Heng Yin. Scalable graph-based bug search for firmware images. In CCS, pages 480-491, 2016.
  4. [Fu et al., 2017] Jianlong Fu, Heliang Zheng, and Tao Mei. Look closer to see better: Recurrent attention convolu- tional neural network for fine-grained image recognition. In CVPR, pages 4476-4484, 2017.
  5. [Grieco et al., 2016] Gustavo Grieco, Guillermo Luis Grin- blat, Lucas Uzal, Sanjay Rawat, Josselin Feist, and Lau- rent Mounier. Toward large-scale vulnerability discovery using machine learning. In CODASPY, pages 85-96, 2016.
  6. [Jaderberg et al., 2015] Max Jaderberg, Karen Simonyan, Andrew Zisserman, and Koray Kavukcuoglu. Spatial transformer networks. CoRR, abs/1506.02025, 2015.
  7. [Karamcheti et al., 2018] Siddharth Karamcheti, Gideon Mann, and David Rosenberg. Adaptive grey-box fuzz- testing with thompson sampling. CoRR, abs/1808.08256, 2018.
  8. [Li and Ernst, 2012] Jingyue Li and Michael D. Ernst. Cbcd: Cloned buggy code detector. In ICSE, pages 310-320, 2012.
  9. [Li et al., 2018] Zhen Li, Deqing Zou, Shouhuai Xu, Xinyu Ou, Hai Jin, Sujuan Wang, Zhijun Deng, and Yuyi Zhong. Vuldeepecker: A deep learning-based system for vulnera- bility detection. CoRR, abs/1801.01681, 2018.
  10. [Mnih et al., 2014] Volodymyr Mnih, Nicolas Heess, Alex Graves, and Koray Kavukcuoglu. Recurrent models of vi- sual attention. CoRR, abs/1406.6247, 2014.
  11. [Neuhaus et al., 2007] Stephan Neuhaus, Thomas Zimmer- mann, Christian Holler, and Andreas Zeller. Predicting vulnerable software components. In CCS, pages 529-540, 2007.
  12. [Perl et al., 2015] Henning Perl, Sergej Dechand, Matthew Smith, Daniel Arp, Fabian Yamaguchi, Konrad Rieck, Sascha Fahl, and Yasemin Acar. Vccfinder: Finding po- tential vulnerabilities in open-source projects to assist code audits. In CCS, pages 426-437, 2015.
  13. [Pham et al., 2010] Nam H. Pham, Tung Thanh Nguyen, Hoan Anh Nguyen, and Tien N. Nguyen. Detection of re- curring software vulnerabilities. In ASE, pages 447-456, 2010.
  14. [Wang et al., 2016] Song Wang, Taiyue Liu, and Lin Tan. Automatically learning semantic features for defect pre- diction. In ICSE, pages 297-308, 2016.
  15. [Wang et al., 2017] Fei Wang, Mengqing Jiang, Chen Qian, Shuo Yang, Cheng Li, Honggang Zhang, Xiaogang Wang, and Xiaoou Tang. Residual attention network for image classification. CoRR, abs/1704.06904, 2017.
  16. [Wu and Yang, 2017] Jingzheng Wu and Mutian Yang. La- chouti: Kernel vulnerability responding framework for the fragmented android devices. In ESEC/FSE, pages 920- 925, 2017.
  17. [Wu et al., 2015] Jingzheng Wu, Yanjun Wu, Zhifei Wu, Mutian Yang, Tianyue Luo, and Yongji Wang. An- droidfuzzer: Detecting android vulnerabilities in fuzzing cloud. Journal of Computational Information Systems, 11(11):3859-3866, 2015.
  18. [Wu et al., 2017] Jingzheng Wu, Shen Liu, Shouling Ji, Mu- tian Yang, Tianyue Luo, Yanjun Wu, and Yongji Wang. Exception beyond exception: Crashing android system by trapping in "uncaughtexception". In ICSE-SEIP, pages 283-292, 2017.
  19. [Xiao et al., 2014] Tianjun Xiao, Yichong Xu, Kuiyuan Yang, Jiaxing Zhang, Yuxin Peng, and Zheng Zhang. The application of two-level attention models in deep convolu- tional neural network for fine-grained image classification. CoRR, abs/1411.6447, 2014.
  20. [Yamaguchi et al., 2011] Fabian Yamaguchi, Felix Lindner, and Konrad Rieck. Vulnerability extrapolation: Assisted discovery of vulnerabilities using machine learning. In WOOT, pages 13-13, 2011.
  21. [Yamaguchi et al., 2012] Fabian Yamaguchi, Markus Lottmann, and Konrad Rieck. Generalized vulnerability extrapolation using abstract syntax trees. In ACSAC, pages 359-368, 2012.
  22. [Yamaguchi et al., 2013] Fabian Yamaguchi, Christian Wressnegger, Hugo Gascon, and Konrad Rieck. Chucky: Exposing missing checks in source code for vulnerability discovery. In CCS, pages 499-510, 2013.
  23. [Yamaguchi et al., 2014] Fabian Yamaguchi, Nico Golde, Daniel Arp, and Konrad Rieck. Modeling and discover- ing vulnerabilities with code property graphs. In SP, pages 590-604, 2014.
  24. [Yamaguchi et al., 2015] Fabian Yamaguchi, Alwin Maier, Hugo Gascon, and Konrad Rieck. Automatic inference of search patterns for taint-style vulnerabilities. In SP, pages 797-812, 2015.
  25. [Yun et al., 2016] Insu Yun, Changwoo Min, Xujie Si, Yeongjin Jang, Taesoo Kim, and Mayur Naik. Apisan: Sanitizing api usages through semantic cross-checking. In SEC, pages 363-378, 2016.
  26. [Zhao and Huang, 2018] Gang Zhao and Jeff Huang. Deep- sim: Deep learning code functional similarity. In ESEC/FSE, pages 141-151, 2018.

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

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