SAViP: Semantic-Aware Vulnerability Prediction for Binary Programs with Neural Networks
Vulnerability prediction, in which static analysis is leveraged to predict the vulnerabilities of binary programs, has become a popular research topic. Traditional vulnerability prediction methods depend on vulnerability patterns, which must be predefined by security experts in a time-consuming mann...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2023-02-01
|
Series: | Applied Sciences |
Subjects: | |
Online Access: | https://www.mdpi.com/2076-3417/13/4/2271 |
_version_ | 1827758806203891712 |
---|---|
author | Xu Zhou Bingjie Duan Xugang Wu Pengfei Wang |
author_facet | Xu Zhou Bingjie Duan Xugang Wu Pengfei Wang |
author_sort | Xu Zhou |
collection | DOAJ |
description | Vulnerability prediction, in which static analysis is leveraged to predict the vulnerabilities of binary programs, has become a popular research topic. Traditional vulnerability prediction methods depend on vulnerability patterns, which must be predefined by security experts in a time-consuming manner. The development of Artificial Intelligence (AI) has yielded new options for vulnerability prediction. Neural networks allow vulnerability patterns to be learned automatically. However, current works extract only one or two types of features and use traditional models such as word2vec, which results in the loss of much instruction-level information. In this paper, we propose a model named <i>SAViP</i> to predict vulnerabilities in binary programs. To fully extract binary information, we integrate three kinds of features: semantic, statistical, and structural features. For semantic features, we apply the Masked Language Model (MLM) pre-training task of the RoBERTa model to the assembly code to build our language model. Using this model, we innovatively combine the beginning token and the operation-code token to create the instruction embedding. For the statistical features, we design a 56-dimensional feature vector that contains 43 kinds of instructions. For the structural features, we improve the ability of the structure2vec network to obtain the characteristic of the network by emphasizing node self-attention. Through these optimizations, we significantly increase the accuracy of vulnerability prediction over existing methods. Our experiments show that <i>SAViP</i> achieves a recall of 77.85% and Top 100∼600 accuracies all above 95%. The results are 10% and 13% higher than those of the state-of-the-art V-Fuzz, respectively. |
first_indexed | 2024-03-11T09:12:41Z |
format | Article |
id | doaj.art-1d6e2c0c54a74c23ab8e909a190c1ba2 |
institution | Directory Open Access Journal |
issn | 2076-3417 |
language | English |
last_indexed | 2024-03-11T09:12:41Z |
publishDate | 2023-02-01 |
publisher | MDPI AG |
record_format | Article |
series | Applied Sciences |
spelling | doaj.art-1d6e2c0c54a74c23ab8e909a190c1ba22023-11-16T18:53:21ZengMDPI AGApplied Sciences2076-34172023-02-01134227110.3390/app13042271SAViP: Semantic-Aware Vulnerability Prediction for Binary Programs with Neural NetworksXu Zhou0Bingjie Duan1Xugang Wu2Pengfei Wang3College of Computer, National University of Defense Technology, Changsha 410073, ChinaCollege of Computer, National University of Defense Technology, Changsha 410073, ChinaCollege of Computer, National University of Defense Technology, Changsha 410073, ChinaCollege of Computer, National University of Defense Technology, Changsha 410073, ChinaVulnerability prediction, in which static analysis is leveraged to predict the vulnerabilities of binary programs, has become a popular research topic. Traditional vulnerability prediction methods depend on vulnerability patterns, which must be predefined by security experts in a time-consuming manner. The development of Artificial Intelligence (AI) has yielded new options for vulnerability prediction. Neural networks allow vulnerability patterns to be learned automatically. However, current works extract only one or two types of features and use traditional models such as word2vec, which results in the loss of much instruction-level information. In this paper, we propose a model named <i>SAViP</i> to predict vulnerabilities in binary programs. To fully extract binary information, we integrate three kinds of features: semantic, statistical, and structural features. For semantic features, we apply the Masked Language Model (MLM) pre-training task of the RoBERTa model to the assembly code to build our language model. Using this model, we innovatively combine the beginning token and the operation-code token to create the instruction embedding. For the statistical features, we design a 56-dimensional feature vector that contains 43 kinds of instructions. For the structural features, we improve the ability of the structure2vec network to obtain the characteristic of the network by emphasizing node self-attention. Through these optimizations, we significantly increase the accuracy of vulnerability prediction over existing methods. Our experiments show that <i>SAViP</i> achieves a recall of 77.85% and Top 100∼600 accuracies all above 95%. The results are 10% and 13% higher than those of the state-of-the-art V-Fuzz, respectively.https://www.mdpi.com/2076-3417/13/4/2271vulnerability predictionbinary programneural networkssoftware security |
spellingShingle | Xu Zhou Bingjie Duan Xugang Wu Pengfei Wang SAViP: Semantic-Aware Vulnerability Prediction for Binary Programs with Neural Networks Applied Sciences vulnerability prediction binary program neural networks software security |
title | SAViP: Semantic-Aware Vulnerability Prediction for Binary Programs with Neural Networks |
title_full | SAViP: Semantic-Aware Vulnerability Prediction for Binary Programs with Neural Networks |
title_fullStr | SAViP: Semantic-Aware Vulnerability Prediction for Binary Programs with Neural Networks |
title_full_unstemmed | SAViP: Semantic-Aware Vulnerability Prediction for Binary Programs with Neural Networks |
title_short | SAViP: Semantic-Aware Vulnerability Prediction for Binary Programs with Neural Networks |
title_sort | savip semantic aware vulnerability prediction for binary programs with neural networks |
topic | vulnerability prediction binary program neural networks software security |
url | https://www.mdpi.com/2076-3417/13/4/2271 |
work_keys_str_mv | AT xuzhou savipsemanticawarevulnerabilitypredictionforbinaryprogramswithneuralnetworks AT bingjieduan savipsemanticawarevulnerabilitypredictionforbinaryprogramswithneuralnetworks AT xugangwu savipsemanticawarevulnerabilitypredictionforbinaryprogramswithneuralnetworks AT pengfeiwang savipsemanticawarevulnerabilitypredictionforbinaryprogramswithneuralnetworks |