Machine Learning to Combine Static Analysis Alerts with Software Metrics to Detect Security Vulnerabilities: An Empirical Study

被引:3
|
作者
Pereira, Jose D'Abruzzo [1 ]
Campos, Joao R. [1 ]
Vieira, Marco [1 ]
机构
[1] Univ Coimbra, CISUC, DEI, Coimbra, Portugal
关键词
Security; Vulnerability Detection; Static Code Analysis; Software Metrics; ANALYSIS TOOLS;
D O I
10.1109/EDCC53658.2021.00008
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Software developers can use diverse techniques and tools to reduce the number of vulnerabilities, but the effectiveness of existing solutions in real projects is questionable. For example, Static Analysis Tools (SATs) report potential vulnerabilities by analyzing code patterns, and Software Metrics (SMs) can be used to predict vulnerabilities based on high-level characteristics of the code. In theory, both approaches can be applied from the early stages of the development process, but it is well known that they fail to detect critical vulnerabilities and raise a large number of false alarms. This paper studies the hypothesis of using Machine Learning (ML) to combine alerts from SATs with SMs to predict vulnerabilities in a large software project (under development for many years). In practice, we use four ML algorithms, alerts from two SATs, and a large number of SMs to predict whether a source code file is vulnerable or not (binary classification) and to predict the vulnerability category (multiclass classification). Results show that one can achieve either high precision or high recall, but not both at the same time. To understand the reason, we analyze and compare snippets of source code, demonstrating that vulnerable and non-vulnerable files share similar characteristics, making it hard to distinguish vulnerable from non-vulnerable code based on SAT alerts and SMs.
引用
收藏
页码:1 / 8
页数:8
相关论文
共 50 条
  • [1] An Exploratory Study on Machine Learning to Combine Security Vulnerability Alerts from Static Analysis Tools
    Pereira, Jose D'Abruzzo
    Campos, Joao R.
    Vieira, Marco
    2019 9TH LATIN-AMERICAN SYMPOSIUM ON DEPENDABLE COMPUTING (LADC), 2019, : 1 - 10
  • [2] A hierarchical model for quantifying software security based on static analysis alerts and software metrics
    Siavvas, Miltiadis
    Kehagias, Dionysios
    Tzovaras, Dimitrios
    Gelenbe, Erol
    SOFTWARE QUALITY JOURNAL, 2021, 29 (02) : 431 - 507
  • [3] A hierarchical model for quantifying software security based on static analysis alerts and software metrics
    Miltiadis Siavvas
    Dionysios Kehagias
    Dimitrios Tzovaras
    Erol Gelenbe
    Software Quality Journal, 2021, 29 : 431 - 507
  • [4] Static Code Analysis to Detect Software Security Vulnerabilities - Does Experience Matter?
    Baca, Dejan
    Petersen, Kai
    Carlsson, Bengt
    Lundberg, Lars
    2009 INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY, AND SECURITY (ARES), VOLS 1 AND 2, 2009, : 804 - +
  • [5] On the capability of static code analysis to detect security vulnerabilities
    Goseva-Popstojanova, Katerina
    Perhinschi, Andrei
    INFORMATION AND SOFTWARE TECHNOLOGY, 2015, 68 : 18 - 33
  • [6] Software Metrics and Security Vulnerabilities: Dataset and Exploratory Study
    Alves, Henrique
    Fonseca, Baldoino
    Antunes, Nuno
    2016 12TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC 2016), 2016, : 37 - 44
  • [7] Scalable Static Analysis to Detect Security Vulnerabilities: Challenges and Solutions
    Gauthier, Francois
    Keynes, Nathan
    Allen, Nicholas
    Corney, Diane
    Krishnan, Padmanabhan
    2018 IEEE CYBERSECURITY DEVELOPMENT CONFERENCE (SECDEV 2018), 2018, : 134 - 134
  • [8] Software Security Static Analysis False Alerts Handling Approaches
    Akremi, Aymen
    INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2021, 12 (11) : 702 - 711
  • [9] An Empirical Study On Software Metrics and Machine Learning to Identify Untrustworthy Code
    Medeiros, Nadia
    Ivaki, Naghmeh
    Costa, Pedro
    Vieira, Marco
    2021 17TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC 2021), 2021, : 87 - 94
  • [10] Automatically Detect Software Security Vulnerabilities Based on Natural Language Processing Techniques and Machine Learning Algorithms
    Cho Do Xuan
    Vu Ngoc Son
    Duong Duc
    JOURNAL OF ICT RESEARCH AND APPLICATIONS, 2022, 16 (01) : 70 - 88