journal article·2024Open access

A New Framework for Software Vulnerability Detection Based on an Advanced Computing

Bui Van Cong, Cho Do Xuan

Computers, Materials & Continua· Volume 79· Issue 3

Abstract

The detection of software vulnerabilities written in C and C++ languages takes a lot of attention and interest today. This paper proposes a new framework called DrCSE to improve software vulnerability detection. It uses an intelligent computation technique based on the combination of two methods: Rebalancing data and representation learning to analyze and evaluate the code property graph (CPG) of the source code for detecting abnormal behavior of software vulnerabilities. To do that, DrCSE performs a combination of 3 main processing techniques: (i) building the source code feature profiles, (ii) rebalancing data, and (iii) contrastive learning. In which, the method (i) extracts the source code’s features based on the vertices and edges of the CPG. The method of rebalancing data has the function of supporting the training process by balancing the experimental dataset. Finally, contrastive learning techniques learn the important features of the source code by finding and pulling similar ones together while pushing the outliers away. The experiment part of this paper demonstrates the superiority of the DrCSE Framework for detecting source code security vulnerabilities using the Verum dataset. As a result, the method proposed in the article has brought a pretty good performance in all metrics, especially the Precision and Recall scores of 39.35% and 69.07%, respectively, proving the efficiency of the DrCSE Framework. It performs better than other approaches, with a 5% boost in Precision and a 5% boost in Recall. Overall, this is considered the best research result for the software vulnerability detection problem using the Verum dataset according to our survey to date.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Network Security and Intrusion Detection · Advanced Malware Detection Techniques · Software Reliability and Analysis Research

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

References (46)

Show source-provided references
1. CVE List Downloads in CVE. Accessed: Jan. 15, 2024. [Online]. Available: http://cve.mitre.org.
2. CWE Top 10 KEV Weaknesses, 2023. Accessed: Jan. 15, 2024. [Online]. Available: https://cwe.mitre.org/top25/archive/2023/2023_kev_list.html.
3. Software vulnerability detection using deep neural networks: A survey10.1109/JPROC.2020.2993293 ↗
4. Software vulnerability analysis and discovery using deep learning techniques: A survey10.1109/ACCESS.2020.3034766 ↗
5. Combining graph-based learning with automated data collection for code vulnerability detection10.1109/TIFS.2020.3044773 ↗
6. Automated software vulnerability detection based on hybrid neural network10.3390/app11073201 ↗
7. Detecting software vulnerabilities based on source code analysis using GCN transformer
8. Context-aware software vulnerability classification using machine learning10.1109/ACCESS.2021.3075385 ↗
9. A memory-related vulnerability detection approach based on vulnerability features10.26599/TST.2019.9010068 ↗
10. Automated vulnerability detection in source code using minimum intermediate representation learning10.3390/app10051692 ↗
11. Z. Li et al., “VulDeePecker: A deep learning based system for vulnerability detection,” arXiv preprint arXiv:1801.00168, 2018.10.14722/ndss.2018.23158 ↗
12. The impact factors on the performance of machine learning-based vulnerability detection: A comparative study10.1016/j.jss.2020.110659 ↗
13. Automated vulnerability detection in source code using deep representation learning
14. Code characterization with graph convolutions and capsule networks10.1109/ACCESS.2020.3011909 ↗
15. A comparative study of deep learning-based vulnerability detection system10.1109/ACCESS.2019.2930578 ↗
16. Software vulnerability discovery via learning multi-domain knowledge bases10.1109/TDSC.2019.2954088 ↗
17. A vulnerability detection algorithm based on residual graph attention networks for source code imbalance10.1016/j.eswa.2023.122216 ↗
18. An optimized neural network for prediction of security threats on software testing10.1016/j.cose.2023.103626 ↗
19. VulGAI: Vulnerability detection based on graphs and images10.1016/j.cose.2023.103501 ↗
20. Joern-The Bug Hunter’s Workbench. Accessed: Jan. 15, 2024. [Online]. Available: https://joern.io/
21. Modeling and discovering vulnerabilities with code property graphs10.1109/SP.2014.44 ↗
22. Automatically learning semantic features for defect prediction
23. POSTER: Vulnerability discovery with function representation learning from unlabeled projects
24. Cross-project transfer representation learning for vulnerable function discovery10.1109/TII.2018.2821768 ↗
25. Automatically detect software security vulnerabilities based on natural language processing techniques and machine learning algorithms10.5614/itbj.ict.res.appl.2022.16.1.5 ↗
26. Detecting bugs by discovering expectations and their violations10.1109/TSE.2018.2816639 ↗
27. Vulnerability detection based on federated learning10.1016/j.infsof.2023.107371 ↗
28. CD-VulD: Cross-domain vulnerability discovery based on deep domain adaptation10.1109/TDSC.2020.2984505 ↗
29. Neural networkbased graph embedding for cross-platform binary code similarity detection
30. J. A. Harer et al., “Automated software vulnerability detection with machine learning,” arXiv preprint arXiv:1803.04497, 2018.
31. SySeVR: A framework for using deep learning to detect software vulnerabilities10.1109/TDSC.2021.3051525 ↗
32. Neural code comprehension: A learnable representation of code semantics
33. Vulnerability detection with fine-grained interpretations
34. Deep learning based vulnerability detection: Are we there yet?10.1109/TSE.2021.3087402 ↗
35. Download FFmpeg. Accessed: Jan. 15, 2024. [Online]. Available: https://ffmpeg.org/download.html
36. A novel approach for software vulnerability detection based on intelligent cognitive computing10.1007/s11227-023-05282-4 ↗
37. A new approach to software vulnerability detection based on CPG analysis
38. Vulnerability detection with graph attention network and metric learning
39. Zemel gated graph sequence neural networks
40. The graph neural network model10.1109/TNN.2008.2005605 ↗
41. Smote: Synthetic minority over-sampling technique10.1613/jair.953 ↗
42. Dropout: A simple way to prevent neural networks from overfitting
43. Baldi · Advances in Neural Information Processing Systems 26 (NIPS 2013) · Dec. 05–10, 2013 · 1
44. Li · 2019 · 2677
45. Understanding the behaviour of contrastive loss
46. Devign: Effective vulnerability identification by learning comprehensive program semantics via graph neural networks