Deep-Learning-Based Vulnerability Detection in Binary Executables

被引:0
作者
Schaad, Andreas [1 ]
Binder, Dominik [1 ]
机构
[1] Offenburg Univ Appl Sci, Offenburg, Germany
来源
FOUNDATIONS AND PRACTICE OF SECURITY, FPS 2022 | 2023年 / 13877卷
关键词
D O I
10.1007/978-3-031-30122-3_28
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The identification of vulnerabilities is an important element in the software development life cycle to ensure the security of software. While vulnerability identification based on the source code is a well studied field, the identification of vulnerabilities on basis of a binary executable without the corresponding source code is more challenging. Recent research [1] has shown how such detection can generally be enabled by deep learning methods, but appears to be very limited regarding the overall amount of detected vulnerabilities. We analyse to what extent we could cover the identification of a larger variety of vulnerabilities. Therefore, a supervised deep learning approach using recurrent neural networks for the application of vulnerability detection based on binary executables is used. The underlying basis is a dataset with 50,651 samples of vulnerable code in the form of a standardised LLVM Intermediate Representation. Te vectorised features of a Word2Vec model are used to train different variations of three basic architectures of recurrent neural networks (GRU, LSTM, SRNN). A binary classification was established for detecting the presence of an arbitrary vulnerability, and a multi-class model was trained for the identification of the exact vulnerability, which achieved an out-of-sample accuracy of 88% and 77%, respectively. Differences in the detection of different vulnerabilities were also observed, with non-vulnerable samples being detected with a particularly high precision of over 98%. Thus, our proposed technical approach and methodology enables an accurate detection of 23 (compared to 4 [1]) vulnerabilities.
引用
收藏
页码:453 / 460
页数:8
相关论文
共 16 条
[1]   Bin2vec: learning representations of binary executable programs for security tasks [J].
Arakelyan, Shushan ;
Arasteh, Sima ;
Hauser, Christophe ;
Kline, Erik ;
Galstyan, Aram .
CYBERSECURITY, 2021, 4 (01)
[2]  
Black P.E., 2017, Journal of Cyber Security and Information Systems-Tools Testing Techniques for Assured Software-DoD Software Assurance Community of Practice, V2
[3]  
Dahl WA, 2020, Arxiv, DOI arXiv:2012.15116
[4]   discovRE: Efficient Cross-Architecture Identification of Bugs in Binary Code [J].
Eschweiler, Sebastian ;
Yakdan, Khaled ;
Gerhards-Padilla, Elmar .
23RD ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2016), 2016,
[5]  
Gutstein B., 2019, JULIET TEST SUITE C
[6]   ReDeBug: Finding Unpatched Code Clones in Entire OS Distributions [J].
Jang, Jiyong ;
Agrawal, Abeer ;
Brumley, David .
2012 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2012, :48-62
[7]   VUDDY: A Scalable Approach for Vulnerable Code Clone Discovery [J].
Kim, Seulbae ;
Woo, Seunghoon ;
Lee, Heejo ;
Oh, Hakjoo .
2017 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2017, :595-614
[8]   Fuzzing: a survey [J].
Li, Jun ;
Zhao, Bodong ;
Zhang, Chao .
CYBERSECURITY, 2018, 1 (01)
[9]   VulDeeLocator: A Deep Learning-Based Fine-Grained Vulnerability Detector [J].
Li, Zhen ;
Zou, Deqing ;
Xu, Shouhuai ;
Chen, Zhaoxuan ;
Zhu, Yawei ;
Jin, Hai .
IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2022, 19 (04) :2821-2837
[10]   VulPecker: An Automated Vulnerability Detection System Based on Code Similarity Analysis [J].
Li, Zhen ;
Zou, Deqing ;
Xu, Shouhuai ;
Jin, Hai ;
Qi, Hanchao ;
Hu, Jie .
32ND ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE (ACSAC 2016), 2016, :201-213