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 be achieved by deep learning methods. However, that particular approach is limited to the identification of only 4 types of vulnerabilities. Subsequently, we analyze 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 standardized LLVM Intermediate Representation. The 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, the methodology presented allows an accurate detection of 23 (compared to 4 [1]) vulnerabilities.
翻译:查明脆弱性是软件开发生命周期中确保软件安全的一个重要要素。根据源代码识别脆弱性是确保软件安全的一个重要要素。虽然根据源代码识别脆弱性是一个研究周密的领域,但根据一个二进制执行程序,而没有相应的源代码,查明脆弱性则更具挑战性。最近的研究[1]显示,如何通过深层学习方法发现这种检测。然而,这一特定方法仅限于仅确定四种类型的脆弱性。随后,我们分析了我们在多大程度上可以涵盖识别更广泛的脆弱性。因此,采用了一种监督的深层次学习方法,利用经常性神经网络进行监管的神经网络,应用基于二进制执行软件的弱点检测。基础是一套包含50,651个脆弱代码样本的数据集,其形式为标准化LLLLVM中间代表系统。WO2Vec模型的矢量特性被用于对三种经常性神经网络基本结构(GRU、LSTM、SRNN)进行不同的变换。我们提出了一种二进式分类,用于检测任意脆弱性的存在,并用多级模型来识别准确的脆弱性,其精确度为50,651样本以标准形式显示的脆弱程度为78%以上。还观察到的精确度。