VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assist Code Audits

被引:155
|
作者
Perl, Henning [1 ]
Dechand, Sergej [2 ]
Smith, Matthew [1 ,2 ]
Arp, Daniel [3 ]
Yamaguchi, Fabian [3 ]
Rieck, Konrad [3 ]
Fahl, Sascha [4 ]
Acar, Yasemin [4 ]
机构
[1] Fraunhofer FKIE, Wachtberg, Germany
[2] Univ Bonn, Bonn, Germany
[3] Univ Gottingen, Gottingen, Germany
[4] Saarland Univ, Saarbrucken, Germany
关键词
Vulnerabilities; Static Analysis; Machine Learning;
D O I
10.1145/2810103.2813604
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Despite the security community's best effort, the number of serious vulnerabilities discovered in software is increasing rapidly. In theory, security audits should find and remove the vulnerabilities before the code ever gets deployed. However, due to the enormous amount of code being produced, as well as a the lack of manpower and expertise, not all code is sufficiently audited. Thus, many vulnerabilities slip into production systems. A best-practice approach is to use a code metric analysis tool, such as Flawfinder, to flag potentially dangerous code so that it can receive special attention. However, because these tools have a very high false-positive rate, the manual effort needed to find vulnerabilities remains overwhelming. In this paper, we present a new method of finding potentially dangerous code in code repositories with a significantly lower false-positive rate than comparable systems. We combine code-metric analysis with metadata gathered from code repositories to help code review teams prioritize their work. The paper makes three contributions. First, we conducted the first large-scale mapping of CVEs to GitHub commits in order to create a vulnerable commit database. Second, based on this database, we trained a SVM classifier to flag suspicious commits Compared to Flawfinder, our approach reduces the amount of false alarms by over 99 % at the same level of recall. Finally, we present a thorough quantitative and qualitative analysis of our approach and discuss lessons learned from the results. We will share the database as a benchmark for future research and will also provide our analysis tool as a web service.
引用
收藏
页码:426 / 437
页数:12
相关论文
共 50 条
  • [11] The Signals that Potential Contributors Look for When Choosing Open-source Projects
    Qiu, Huilian Sophie
    Li, Yucen Lily
    Padala, Susmita
    Sarma, Anita
    Vasilescu, Bogdan
    Proceedings of the ACM on Human-Computer Interaction, 2019, 3 (CSCW):
  • [12] Flame simulations with an open-source code
    Dasgupta, Adhiraj
    Gonzalez-Juez, Esteban
    Haworth, Daniel C.
    COMPUTER PHYSICS COMMUNICATIONS, 2019, 237 : 219 - 229
  • [13] ONIX: An open-source depletion code
    de Lanversin, J. de Troullioud
    Kuett, M.
    Glaser, A.
    ANNALS OF NUCLEAR ENERGY, 2021, 151
  • [14] Impact Assessment for Vulnerabilities in Open-Source Software Libraries
    Plate, Henrik
    Ponta, Serena Elisa
    Sabetta, Antonino
    2015 31ST INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME) PROCEEDINGS, 2015, : 411 - 420
  • [15] VulinOSS: A Dataset of Security Vulnerabilities in Open-source Systems
    Gkortzis, Antonios
    Mitropoulos, Dimitris
    Spinellis, Diomidis
    2018 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR), 2018, : 18 - 21
  • [16] Mitigating Persistence of Open-Source Vulnerabilities in Maven Ecosystem
    Zhang, Lyuye
    Liu, Chengwei
    Chen, Sen
    Xu, Zhengzi
    Fan, Lingling
    Zhao, Lida
    Zhang, Yiran
    Liu, Yang
    2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE, 2023, : 191 - 203
  • [17] Engineers assist open-source control effort
    Design News (Boston), 2000, 55 (20):
  • [18] Exploiting Military OpSec through Open-Source Vulnerabilities
    Dressler, Judson C.
    Bronk, Christopher
    Wallach, Daniel S.
    2015 IEEE MILITARY COMMUNICATIONS CONFERENCE (MILCOM 2015), 2015, : 450 - 458
  • [19] Code of Conduct in Open Source Projects
    Tourani, Parastou
    Adams, Bram
    Serebrenik, Alexander
    2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2017, : 24 - 33
  • [20] Known Vulnerabilities of Open Source Projects: Where Are the Fixes?
    Sabetta, Antonino
    Ponta, Serena Elisa
    Lozoya, Rocio Cabrera
    Bezzi, Michele
    Sacchetti, Tommaso
    Greco, Matteo
    Balogh, Gergo
    Hegedus, Peter
    Ferenc, Rudolf
    Paramitha, Ranindya
    Pashchenko, Ivan
    Papotti, Aurora
    Milankovich, Akos
    Massacci, Fabio
    IEEE SECURITY & PRIVACY, 2024, 22 (02) : 49 - 59