Detecting software vulnerabilities using deep learning

Authors

  • Van Cong Bui*
  • Thao Nguyen Vu
  • Duc Minh Vu
  • Phuong Lan Nguyen

Keywords:

contrastive learning, deep learning, software, vulnerabilities

Abstract

Developing successful of software projects is always a top concern for organizations and enterprises. Among these concerns, ensuring software quality is the highest priority throughout the entire development and operation process. This paper addresses the detection of source code vulnerabilities and focuses on analyzing the syntax and semantics of statements within the source code. The source code vulnerability detection model follows a structured process: (i) syntactic and semantic representation; (ii) feature extraction from source code; (iii) data balancing; and (iv) source code classification. The model's output indicates whether the source code is normal or contains vulnerabilities. The model is trained using the SART dataset and incorporates deep learning approaches. Specifically, it employs the BERT model, the Word2Vec model combined with LSTM, and the Word2Vec model with BiLSTM across three scenarios. Classification results are passed through a softmax function to generate a vector containing the probability predictions for each type of vulnerability. The detection model achieves an accuracy rate of up to 82.63% for identifying source code vulnerabilities, with a corresponding omission rate of only 17.37%. This result is considered acceptable and demonstrates the superior effectiveness of the approach in the task of source code vulnerability detection

DOI:

https://doi.org/10.31276/VJST.2024.0019

Classification number

1.2, 2.2

Author Biographies

Van Cong Bui

Faculty of Information Technology, University of Economics - Technology for Industrial, 456 Minh Khai Street, Vinh Tuy Ward, Hai Ba Trung District, Hanoi, Vietnam

Thao Nguyen Vu

Nanyang Technological University, 50 Nanyang Ave, Singapore

Duc Minh Vu

Cau Giay High School, 8/118 Nguyen Khanh Toan Street, Quan Hoa Ward, Cau Giay District, Hanoi, Vietnam

Phuong Lan Nguyen

Japanese International School, 84A Nguyen Thanh Binh Street, Van Phuc Ward, Ha Dong District, Hanoi, Vietnam

Downloads

Published

2024-12-03

1.2, 2.2

How to Cite

Bui Van Cong, Vu Thao Nguyen, Vu Duc Minh, & Nguyen Phuong Lan. (2024). Detecting software vulnerabilities using deep learning. Version B of Vietnam Journal of Science and Technology. https://doi.org/10.31276/VJST.2024.0019

Issue

Section

Natural Sciences