{"type":"ScholarlyArticle","title":"VulSniper: Focus Your Attention to Shoot Fine-Grained Vulnerabilities","authors":[{"name":"Xu Duan","slug":"xu-duan","given":"Xu","family":"Duan","affiliation":"Intelligent Software Research Center , Institute of Software , Chinese Academy of Sciences; School of Computer & Communication Engineering , University of Science and Technology Beijing"},{"name":"Jingzheng Wu","slug":"jingzheng-wu","given":"Jingzheng","family":"Wu","affiliation":"Intelligent Software Research Center , Institute of Software , Chinese Academy of Sciences; State Key Laboratory of Computer Science , Institute of Software , Chinese Academy of Sciences"},{"name":"Shouling Ji","slug":"shouling-ji","given":"Shouling","family":"Ji","affiliation":"College of Computer Science and Technology , Zhejiang University"},{"name":"Zhiqing Rui","slug":"zhiqing-rui","given":"Zhiqing","family":"Rui","affiliation":"Intelligent Software Research Center , Institute of Software , Chinese Academy of Sciences; Artificial Intelligence Academy , University of Chinese Academy of Sciences"},{"name":"Tianyue Luo","slug":"tianyue-luo","given":"Tianyue","family":"Luo","affiliation":"Intelligent Software Research Center , Institute of Software , Chinese Academy of Sciences; Beijing VuLab Technology Co.Ltd"},{"name":"Mutian Yang","slug":"mutian-yang","given":"Mutian","family":"Yang","affiliation":"Intelligent Software Research Center , Institute of Software , Chinese Academy of Sciences; Beijing VuLab Technology Co.Ltd"},{"name":"Yanjun Wu","slug":"yanjun-wu","given":"Yanjun","family":"Wu","affiliation":"Intelligent Software Research Center , Institute of Software , Chinese Academy of Sciences; State Key Laboratory of Computer Science , Institute of Software , Chinese Academy of Sciences"}],"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.","doi":"10.24963/ijcai.2019/648","url":"https://ijcai.org/proceedings/2019/648","pdf":"https://ijcai.org/proceedings/2019/0648.pdf","markdown":"https://ijcai.org/proceedings/2019/648.md","bibtex":"https://ijcai.org/proceedings/2019/bibtex/648","volume":{"slug":"2019","title":"Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2019","url":"https://ijcai.org/proceedings/2019/","year":2019,"location":"Macao","dates":"10-16 August 2019","editors":"Sarit Kraus","isbn":"978-0-9992411-4-1","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2019"},"section":"Multidisciplinary Topics and Applications","track":"Main track","number":648,"pages":{"first":4665,"last":4671},"keywords":["Machine Learning Applications: Applications of Supervised Learning","Multidisciplinary Topics and Applications: Security and Privacy"],"videos":[],"references":[{"position":1,"raw":"[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.","title":"Klee: Unassisted and automatic generation of high-coverage tests for complex systems programs","authors":"Cristian Cadar, Daniel Dunbar, Dawson Engler","year":"2008","venue":"OSDI","doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[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.","title":"Iotfuzzer: Discovering memory corruptions in iot through app-based fuzzing","authors":"Chen","year":"2018","venue":"NDSS","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[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.","title":"Scalable graph-based bug search for firmware images","authors":"Qian Feng, Rundong Zhou, Chengcheng Xu, Yao Cheng, Brian Testa, Heng Yin","year":"2016","venue":"CCS","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[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.","title":"Look closer to see better: Recurrent attention convolutional neural network for fine-grained image recognition","authors":"Jianlong Fu, Heliang Zheng, Tao Mei","year":"2017","venue":"CVPR","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[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.","title":"Toward large-scale vulnerability discovery using machine learning","authors":"Gustavo Grieco, Guillermo Luis Grinblat, Lucas Uzal, Sanjay Rawat, Josselin Feist, Laurent Mounier","year":"2016","venue":"CODASPY","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[Jaderberg et al., 2015] Max Jaderberg, Karen Simonyan, Andrew Zisserman, and Koray Kavukcuoglu. Spatial transformer networks. CoRR, abs/1506.02025, 2015.","title":"Spatial transformer networks","authors":"Jaderberg","year":"2015","venue":null,"doi":null,"url":null,"internal_url":null},{"position":7,"raw":"[Karamcheti et al., 2018] Siddharth Karamcheti, Gideon Mann, and David Rosenberg. Adaptive grey-box fuzz- testing with thompson sampling. CoRR, abs/1808.08256, 2018.","title":"Adaptive grey-box fuzztesting with thompson sampling","authors":"Siddharth Karamcheti, Gideon Mann, David Rosenberg","year":"2018","venue":null,"doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[Li and Ernst, 2012] Jingyue Li and Michael D. Ernst. Cbcd: Cloned buggy code detector. In ICSE, pages 310-320, 2012.","title":"Cbcd: Cloned buggy code detector","authors":"Jingyue Li, Michael D Ernst","year":"2012","venue":"ICSE","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[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.","title":"Vuldeepecker: A deep learning-based system for vulnerability detection","authors":"Zhen Li, Deqing Zou, Shouhuai Xu, Xinyu Ou, Hai Jin, Sujuan Wang, Zhijun Deng, Yuyi Zhong","year":"2018","venue":null,"doi":null,"url":null,"internal_url":null},{"position":10,"raw":"[Mnih et al., 2014] Volodymyr Mnih, Nicolas Heess, Alex Graves, and Koray Kavukcuoglu. Recurrent models of vi- sual attention. CoRR, abs/1406.6247, 2014.","title":"Recurrent models of visual attention","authors":"Volodymyr Mnih, Nicolas Heess, Alex Graves, Koray Kavukcuoglu","year":"2014","venue":null,"doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[Neuhaus et al., 2007] Stephan Neuhaus, Thomas Zimmer- mann, Christian Holler, and Andreas Zeller. Predicting vulnerable software components. In CCS, pages 529-540, 2007.","title":"Predicting vulnerable software components","authors":"Stephan Neuhaus, Thomas Zimmermann, Christian Holler, Andreas Zeller","year":"2007","venue":"CCS","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[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.","title":"Vccfinder: Finding potential vulnerabilities in open-source projects to assist code audits","authors":"Sergej Henning Perl, Matthew Dechand, Daniel Smith, Fabian Arp, Konrad Yamaguchi, Sascha Rieck, Yasemin Fahl, Acar","year":"2015","venue":"CCS","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[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.","title":"Detection of recurring software vulnerabilities","authors":"Nam H Pham, Thanh Tung, Hoan Nguyen, Anh Nguyen, Tien N Nguyen","year":"2010","venue":"ASE","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[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.","title":"Automatically learning semantic features for defect prediction","authors":"Song Wang, Taiyue Liu, Lin Tan","year":"2016","venue":"ICSE","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[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.","title":"Residual attention network for image classification","authors":"Fei Wang, Mengqing Jiang, Chen Qian, Shuo Yang, Cheng Li, Honggang Zhang, Xiaogang Wang, Xiaoou Tang","year":"2017","venue":null,"doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[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.","title":"Lachouti: Kernel vulnerability responding framework for the fragmented android devices","authors":"Yang ; Wu, Jingzheng Wu, Mutian Yang","year":"2017","venue":"ESEC/FSE","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[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.","title":"Androidfuzzer: Detecting android vulnerabilities in fuzzing cloud","authors":"Jingzheng Wu, Yanjun Wu, Zhifei Wu, Mutian Yang, Tianyue Luo, Yongji Wang","year":"2015","venue":"Journal of Computational Information Systems","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[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.","title":"Exception beyond exception: Crashing android system by trapping in \"uncaughtexception","authors":"Jingzheng Wu, Shen Liu, Shouling Ji, Mutian Yang, Tianyue Luo, Yanjun Wu, Yongji Wang","year":"2017","venue":"ICSE-SEIP","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"[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.","title":"The application of two-level attention models in deep convolutional neural network for fine-grained image classification","authors":"Tianjun Xiao, Yichong Xu, Kuiyuan Yang, Jiaxing Zhang, Yuxin Peng, Zheng Zhang","year":"2014","venue":null,"doi":null,"url":null,"internal_url":null},{"position":20,"raw":"[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.","title":"Vulnerability extrapolation: Assisted discovery of vulnerabilities using machine learning","authors":"Fabian Yamaguchi, Felix Lindner, Konrad Rieck","year":"2011","venue":"WOOT","doi":null,"url":null,"internal_url":null},{"position":21,"raw":"[Yamaguchi et al., 2012] Fabian Yamaguchi, Markus Lottmann, and Konrad Rieck. Generalized vulnerability extrapolation using abstract syntax trees. In ACSAC, pages 359-368, 2012.","title":"Generalized vulnerability extrapolation using abstract syntax trees","authors":"Fabian Yamaguchi, Markus Lottmann, Konrad Rieck","year":"2012","venue":"ACSAC","doi":null,"url":null,"internal_url":null},{"position":22,"raw":"[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.","title":"Chucky: Exposing missing checks in source code for vulnerability discovery","authors":"Fabian Yamaguchi, Christian Wressnegger, Hugo Gascon, Konrad Rieck","year":"2013","venue":"CCS","doi":null,"url":null,"internal_url":null},{"position":23,"raw":"[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.","title":"Modeling and discovering vulnerabilities with code property graphs","authors":"Fabian Yamaguchi, Nico Golde, Daniel Arp, Konrad Rieck","year":"2014","venue":"SP","doi":null,"url":null,"internal_url":null},{"position":24,"raw":"[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.","title":"Automatic inference of search patterns for taint-style vulnerabilities","authors":"Fabian Yamaguchi, Alwin Maier, Hugo Gascon, Konrad Rieck","year":"2015","venue":"SP","doi":null,"url":null,"internal_url":null},{"position":25,"raw":"[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.","title":"Apisan: Sanitizing api usages through semantic cross-checking","authors":"Insu Yun, Changwoo Min, Xujie Si, Yeongjin Jang, Taesoo Kim, Mayur Naik","year":"2016","venue":"SEC","doi":null,"url":null,"internal_url":null},{"position":26,"raw":"[Zhao and Huang, 2018] Gang Zhao and Jeff Huang. Deep- sim: Deep learning code functional similarity. In ESEC/FSE, pages 141-151, 2018.","title":"Deepsim: Deep learning code functional similarity","authors":"Huang Zhao, Gang Zhao, Jeff Huang","year":"2018","venue":"ESEC/FSE","doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}