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
来源
2021 17TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC 2021) | 2021年
关键词
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
相关论文
共 12 条
  • [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] Extracting rules for vulnerabilities detection with static metrics using machine learning
    Gupta, Aakanshi
    Suri, Bharti
    Kumar, Vijay
    Jain, Pragyashree
    INTERNATIONAL JOURNAL OF SYSTEM ASSURANCE ENGINEERING AND MANAGEMENT, 2021, 12 (01) : 65 - 76
  • [3] Extracting rules for vulnerabilities detection with static metrics using machine learning
    Aakanshi Gupta
    Bharti Suri
    Vijay Kumar
    Pragyashree Jain
    International Journal of System Assurance Engineering and Management, 2021, 12 : 65 - 76
  • [4] 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
  • [5] 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
  • [6] An Empirical Study of Docker Vulnerabilities and of Static Code Analysis Applicability
    Duarte, Ana
    Antunes, Nuno
    2018 EIGHTH LATIN-AMERICAN SYMPOSIUM ON DEPENDABLE COMPUTING (LADC), 2018, : 27 - 36
  • [7] Discovering software vulnerabilities using data-flow analysis and machine learning
    Kronjee, Jorrit
    Hommersom, Arjen
    Vranken, Harald
    13TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY (ARES 2018), 2019,
  • [8] An empirical study on combining diverse static analysis tools for web security vulnerabilities based on development scenarios
    Paulo Nunes
    Ibéria Medeiros
    José Fonseca
    Nuno Neves
    Miguel Correia
    Marco Vieira
    Computing, 2019, 101 : 161 - 185
  • [9] An empirical study on combining diverse static analysis tools for web security vulnerabilities based on development scenarios
    Nunes, Paulo
    Medeiros, Iberia
    Fonseca, Jose
    Neves, Nuno
    Correia, Miguel
    Vieira, Marco
    COMPUTING, 2019, 101 (02) : 161 - 185
  • [10] On Combining Diverse Static Analysis Tools for Web Security: An Empirical Study
    Nunes, Paulo
    Medeiros, Iberia
    Fonseca, Jose
    Neves, Nuno
    Correia, Miguel
    Vieira, Marco
    2017 13TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC 2017), 2017, : 121 - 128