Project Achilles: A Prototype Tool for Static Method-Level Vulnerability Detection of Java']Java Source Code Using a Recurrent Neural Network

被引:36
作者
Saccente, Nicholas [1 ]
Dehlinger, Josh [1 ]
Deng, Lin [1 ]
Chakraborty, Suranjan [1 ]
Xiong, Yin [1 ]
机构
[1] Towson Univ, Dept Comp & Informat Sci, Towson, MD 21252 USA
来源
2019 34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING WORKSHOPS (ASEW 2019) | 2019年
基金
美国国家科学基金会;
关键词
software security; security vulnerability analysis; machine learning;
D O I
10.1109/ASEW.2019.00040
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Software has become an essential component of modern life, but when software vulnerabilities threaten the security of users, new ways of analyzing for software security must be explored. Using the National Institute of Standards and Technology's Juliet Java Suite, containing thousands of examples of defective Java methods for a variety of vulnerabilities, a prototype tool was developed implementing an array of Long-Short Term Memory Recurrent Neural Networks to detect vulnerabilities within source code. The tool employs various data preparation methods to be independent of coding style and to automate the process of extracting methods, labeling data, and partitioning the dataset. The result is a prototype command-line utility that generates an n-dimensional vulnerability prediction vector. The experimental evaluation using 44,495 test cases indicates that the tool can achieve an accuracy higher than 90% for 24 out of 29 different types of CWE vulnerabilities.
引用
收藏
页码:114 / 121
页数:8
相关论文
共 30 条
[1]  
[Anonymous], 2016, SOFTWARE ENG
[2]  
[Anonymous], 2017, AUTOMATIC FEATURE LE
[3]  
[Anonymous], 2016, P 2016 24 ACM SIGSOF
[4]  
[Anonymous], 2013, INFOSECURITY MAGAZIN
[5]   One Technique is Not Enough: A Comparison of Vulnerability Discovery Techniques [J].
Austin, Andrew ;
Williams, Laurie .
2011 FIFTH INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2011), 2011, :97-106
[6]  
Boland T., JULIET 1 1 C C JAVA
[7]  
Bonett R., 2018, 27 USENIX SEC S USEN
[8]  
Brent L., 2018, CORR
[9]  
Chau Duen Horng, 2011, P 2011 SIAM INT C DA, P131
[10]   Static analysis for security [J].
Chess, B ;
McGraw, G .
IEEE SECURITY & PRIVACY, 2004, 2 (06) :76-79