A security vulnerability predictor based on source code metrics

被引:3
|
作者
Pakshad, Puya [1 ]
Shameli-Sendi, Alireza [1 ]
Abbasi, Behzad Khalaji Emamzadeh [1 ]
机构
[1] Shahid Beheshti Univ SBU, Fac Comp Sci & Engn, Tehran, Iran
关键词
Security testing; Vulnerability detection; Program metric; Code property graph;
D O I
10.1007/s11416-023-00469-y
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Detecting security vulnerabilities in the source code of software systems is one of the most important challenges in the field of software security. We need an effective solution to discover and patch vulnerabilities before our valuable information is compromised. Security testing is a type of software testing that checks whether software is vulnerable to cyber attacks. This study aimed to pursue three main objectives: (1) The first goal is to identify the vulnerable functions of a C/C++ software program based on code metrics. This can reduce the cost of software security testing and also redirect the related activities to identified vulnerable functions rather than to the entire software, (2) The second goal is to identify the type of attack related to the vulnerability function, and (3) Finally, the ultimate goal is to analyze the relationship between code metrics and the vulnerabilities. This goal can help us understand which code structure is most likely to contain vulnerable code. This paper first aimed to create a comprehensive view of the source code of the target software using graph concepts. Second, a set of source code metrics and calculated by crawling on the related graph using the static analysis approach. Finally, the vulnerability prediction model presented in this paper is based on machine learning technique applied on metrics extracted from program source code. Compared to previous work, new achievements have been made in this paper. One of the most important ones is the very high accuracy detection of the proposed model in detecting the type of vulnerability. Moreover, 15 code metrics are used to predict vulnerabilities. Our analysis on feature importance indicates that what structure the software program code has, most likely, it will be vulnerable. Experimental results in 10 real projects (OpenSSL, SQLite, FreeType, LibTiff, Libxslt, Binutils, FFmpeg, ImageMagick, OpenSC, and rdesktop) indicated that the security testing predictor proposed in this paper could predict on average 89% of the really vulnerable functions of the source code and 86% of the vulnerability type of the detected functions correctly.
引用
收藏
页码:615 / 633
页数:19
相关论文
共 50 条
  • [21] Survey of source code vulnerability analysis based on deep learning
    Liang, Chen
    Wei, Qiang
    Du, Jiang
    Wang, Yisen
    Jiang, Zirui
    COMPUTERS & SECURITY, 2025, 148
  • [22] Code Based Software Security Vulnerability Analyzing and Detecting Based on Similar Characteristic
    An, Xifeng
    Li, Weihua
    Pan, Wei
    2008 3RD INTERNATIONAL CONFERENCE ON INTELLIGENT SYSTEM AND KNOWLEDGE ENGINEERING, VOLS 1 AND 2, 2008, : 584 - 589
  • [23] Research and Implementation of Security Vulnerability Detection in Application System of WEB Static Source Code Analysis Based on JAVA']JAVA
    Yuan, Hui
    Zheng, Lei
    Dong, Liang
    Peng, Xiangli
    Zhuang, Yan
    Deng, Guoru
    CYBER SECURITY INTELLIGENCE AND ANALYTICS, 2020, 928 : 444 - 452
  • [24] On the Vulnerability of Large Corpora Source Code
    Barr, Joseph R.
    Thatcher, Tyler
    16TH IEEE INTERNATIONAL CONFERENCE ON SEMANTIC COMPUTING (ICSC 2022), 2022, : 314 - 317
  • [25] Labelled Vulnerability Dataset on Android Source Code (LVDAndro) to Develop AI-Based Code Vulnerability Detection Models
    Senanayake, Janaka
    Kalutarage, Harsha
    Al-Kadri, Mhd Omar
    Piras, Luca
    Petrovski, Andrei
    PROCEEDINGS OF THE 20TH INTERNATIONAL CONFERENCE ON SECURITY AND CRYPTOGRAPHY, SECRYPT 2023, 2023, : 659 - 666
  • [26] Software Defect Prediction Based on Source Code Metrics Time Series
    Pulawski, Lukasz
    TRANSACTIONS ON ROUGH SETS XIII, 2011, 6499 : 104 - 120
  • [27] A deep learning-based approach for software vulnerability detection using code metrics
    Subhan, Fazli
    Wu, Xiaoxue
    Bo, Lili
    Sun, Xiaobing
    Rahman, Muhammad
    IET SOFTWARE, 2022, 16 (05) : 516 - 526
  • [28] Research and Progress on Learning-Based Source Code Vulnerability Detection
    Su X.-H.
    Zheng W.-N.
    Jiang Y.
    Wei H.-W.
    Wan J.-Y.
    Wei Z.-Y.
    Jisuanji Xuebao/Chinese Journal of Computers, 2024, 47 (02): : 337 - 374
  • [29] Towards Attention Based Vulnerability Discovery Using Source Code Representation
    Kim, Junae
    Hubczenko, David
    Montague, Paul
    ARTIFICIAL NEURAL NETWORKS AND MACHINE LEARNING - ICANN 2019: TEXT AND TIME SERIES, PT IV, 2019, 11730 : 731 - 746
  • [30] A SOFTWARE FRAMEWORK FOR CODE SECURITY USING M-COT-METRICS BASED CODE OBFUSCATION TECHNIQUE
    Senthilkumar, R.
    Thangavelu, Arunkumar
    JURNAL TEKNOLOGI, 2016, 78 (02): : 73 - 81