Font Size: a A A

A Study Of Binary Vulnerability Analysis And Detection Based On Deep Learning

Posted on:2019-04-08Degree:MasterType:Thesis
Country:ChinaCandidate:F WuFull Text:PDF
GTID:2348330542487580Subject:Information security
Abstract/Summary:PDF Full Text Request
The amounts and types of software systems increase rapidly,while software vulnerabilities cannot be avoided completely.With the number of software bugs growing year by year,detecting software vulnerabilities timely so as not to be used by criminals also becomes more and more important.In many cases,researchers cannot get the source code of software programs,but only obtaining the corresponding binary files.Therefore,the study of binary vulnerability detection has great practical importance.At present,fuzzy test is one of the most widely used binary vulnerability detection technologies,and has the best performance.However,fuzzy test technology needs to run a large number of programs,with a huge resources consumption and low efficiency.In recent years,with the development of big data and artificial intelligence,we have witnessed some process in the field of vulnerability detection based on traditional machine learning methods.In this paper,the author refers to these related work and modern deep learning methods used in the field of text classification.As a result,the author introduces deep leaning methods to vulnerability detection tasks,and proposes four deep learning models for these tasks,including the convolution neural network model,the long short term memory model,the bi-directional long short term memory model and the convolution neural network-long short term memory model.In order to evaluate the performance of deep learning approaches,the author uses the VDiscover tool to extract data,which are some sequences of function calls and final running status.These data are dynamic features to represent the patterns of binary programs during their execution in the 32-bit Linux operating system,and are used to train the models,with the fuzzy test results of the zuff test tool being training labels.In this work,the author also uses the word2vec method to convert text data to vector representation,which effectively improves the denseness and structural of original data.By tuning the network structure and hyper-parameters,the author train deep learning models and predict the result of zzuf test tool when running binary programs.The experimental results show that the prediction accuracy of the proposed deep learning vulnerability detection method can reach 92.28%,which is superior to that of traditional method like multi-layer perceptron.In terms of time performance,the fuzzy test has to run at least ten thousand times for each case,while the deep learning method only needs to run the experiment once.Besides,the prediction efficiency of deep learning method is also much better.As for the true positive rate,false positive rate and F-score of different models,convolution neural network model has the best performance.In addition,vulnerability detection models based on deep convolution neural network is much faster than that based on long short term memory network.In summary,the convolution neural network model has the best performance in the vulnerability detection task.
Keywords/Search Tags:Vulnerability Detection, Deep Learning, Convolution Neural Network, Long Short Term Memory Network
PDF Full Text Request
Related items