How Long Do Vulnerabilities Live in the Code? A Large-Scale Empirical Measurement Study on FOSS Vulnerability Lifetimes

被引:0
|
作者
Alexopoulos, Nikolaos [1 ]
Brack, Manuel [1 ]
Wagner, Jan Philipp [1 ]
Grube, Tim [1 ]
Muehlhaeuser, Max [1 ]
机构
[1] Tech Univ Darmstadt, Telecooperat Lab, Darmstadt, Germany
来源
PROCEEDINGS OF THE 31ST USENIX SECURITY SYMPOSIUM | 2022年
关键词
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
How long do vulnerabilities live in the repositories of large, evolving projects? Although the question has been identified as an interesting problem by the software community in online forums, it has not been investigated yet in adequate depth and scale, since the process of identifying the exact point in time when a vulnerability was introduced is particularly cumbersome. In this paper, we provide an automatic approach for accurately estimating how long vulnerabilities remain in the code (their lifetimes). Our method relies on the observation that while it is difficult to pinpoint the exact point of introduction for one vulnerability, it is possible to accurately estimate the average lifetime of a large enough sample of vulnerabilities, via a heuristic approach. With our approach, we perform the first large-scale measurement of Free and Open Source Software vulnerability lifetimes, going beyond approaches estimating lower bounds prevalent in previous research. We find that the average lifetime of a vulnerability is around 4 years, varying significantly between projects (similar to 2 years for Chromium, similar to 7 years for OpenSSL). The distribution of lifetimes can be approximately described by an exponential distribution. There are no statistically significant differences between the lifetimes of different vulnerability types when considering specific projects. Vulnerabilities are getting older, as the average lifetime of fixed vulnerabilities in a given year increases over time, influenced by the overall increase of code age. However, they live less than non-vulnerable code, with an increasing spread over time for some projects, suggesting a notion of maturity that can be considered an indicator of quality. While the introduction of fuzzers does not significantly reduce the lifetimes of memory-related vulnerabilities, further research is needed to better understand and quantify the impact of fuzzers and other tools on vulnerability lifetimes and on the security of codebases.
引用
收藏
页码:359 / 376
页数:18
相关论文
共 33 条
  • [1] The Secret Life of Software Vulnerabilities: A Large-Scale Empirical Study
    Iannone, Emanuele
    Guadagni, Roberta
    Ferrucci, Filomena
    De Lucia, Andrea
    Palomba, Fabio
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (01) : 44 - 63
  • [2] How do developers react to API evolution? A large-scale empirical study
    André Hora
    Romain Robbes
    Marco Tulio Valente
    Nicolas Anquetil
    Anne Etien
    Stéphane Ducasse
    Software Quality Journal, 2018, 26 : 161 - 191
  • [3] How do developers react to API evolution? A large-scale empirical study
    Hora, Andre
    Robbes, Romain
    Valente, Marco Tulio
    Anquetil, Nicolas
    Etien, Anne
    Ducasse, Stephane
    SOFTWARE QUALITY JOURNAL, 2018, 26 (01) : 161 - 191
  • [4] PDGraph: A Large-Scale Empirical Study on Project Dependency of Security Vulnerabilities
    Li, Qiang
    Song, Jinke
    Tan, Dawei
    Wang, Haining
    Liu, Jiqiang
    51ST ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN 2021), 2021, : 161 - 173
  • [5] A Large-Scale Empirical Study on the Vulnerability of Deployed IoT Devices
    Zhao, Binbin
    Ji, Shouling
    Lee, Wei-Han
    Lin, Changting
    Weng, Haiqin
    Wu, Jingzheng
    Zhou, Pan
    Fang, Liming
    Beyah, Raheem
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2022, 19 (03) : 1826 - 1840
  • [6] A large-scale empirical study of code smells in JavaScript projects
    David Johannes
    Foutse Khomh
    Giuliano Antoniol
    Software Quality Journal, 2019, 27 : 1271 - 1314
  • [7] A Large-Scale Empirical Study on Code-Comment Inconsistencies
    Wen, Fengcai
    Nagy, Csaba
    Bavota, Gabriele
    Lanza, Michele
    2019 IEEE/ACM 27TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2019), 2019, : 53 - 64
  • [8] A large-scale empirical study of code smells in Java']JavaScript projects
    Johannes, David
    Khomh, Foutse
    Antoniol, Giuliano
    SOFTWARE QUALITY JOURNAL, 2019, 27 (03) : 1271 - 1314
  • [9] Gaming addiction, definition and measurement: A large-scale empirical study
    Spekman, Marloes L. C.
    Konijn, Elly A.
    Roelofsma, Peter H. M. P.
    Griffiths, Mark D.
    COMPUTERS IN HUMAN BEHAVIOR, 2013, 29 (06) : 2150 - 2155
  • [10] A Large-Scale Empirical Study on Vulnerability Distribution within Projects and the Lessons Learned
    Liu, Bingchang
    Meng, Guozhu
    Zou, Wei
    Gong, Qi
    Li, Feng
    Lin, Min
    Sun, Dandan
    Huo, Wei
    Zhang, Chao
    2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, : 1547 - 1559