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 条
  • [31] DLOT: An open-source application to assist human observers
    Ashwin, T. S.
    Shaikh, Danish Shafi
    Rajendran, Ramkumar
    31ST INTERNATIONAL CONFERENCE ON COMPUTERS IN EDUCATION, ICCE 2023, VOL I, 2023, : 478 - 483
  • [32] Disseminating Architectural Knowledge on Open-Source Projects A Case Study of the Book "Architecture of Open-Source Applications"
    Robillard, Martin P.
    Medvidovic, Nenad
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 476 - 487
  • [33] Beyond Metadata: Code-centric and Usage-based Analysis of Known Vulnerabilities in Open-source Software
    Ponta, Serena Elisa
    Plate, Henrik
    Sabetta, Antonino
    PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2018, : 449 - 460
  • [34] Automated Source Code Instrumentation for Verifying Potential Vulnerabilities
    Li, Hongzhe
    Oh, Jaesang
    Oh, Hakjoo
    Lee, Heejo
    ICT SYSTEMS SECURITY AND PRIVACY PROTECTION, SEC 2016, 2016, 471 : 211 - 226
  • [35] An Empirical Investigation of the Security Weaknesses in Open-Source Projects
    Al-Shammare, Haifa
    Al-Otaiby, Nehal
    Al-Otabi, Muradi
    Alshayeb, Mohammad
    ACM International Conference Proceeding Series, : 634 - 642
  • [36] Predicting the lifetime of pull requests in open-source projects
    de Lima Junior, Manoel Limeira
    Soares, Daricelio
    Plastino, Alexandre
    Murta, Leonardo
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2021, 33 (06)
  • [37] Automatic Generation of API Documentations for Open-Source Projects
    Peng, Xin
    Zhao, Yifan
    Liu, Mingwei
    Zhan, Fengyi
    Liu, Yang
    Wang, Xin
    Xing, Zhenchang
    2018 IEEE THIRD INTERNATIONAL WORKSHOP ON DYNAMIC SOFTWARE DOCUMENTATION (DYSDOC3), 2018, : 7 - 8
  • [38] Effects of Empowerment on Performance in Open-Source Software Projects
    Ke, Weiling
    Zhang, Ping
    IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT, 2011, 58 (02) : 334 - 346
  • [39] SHARING KNOWLEDGE: USING OPEN-SOURCE METHODOLOGIES IN IT PROJECTS
    Oskrdal, Vaclav
    IDIMT-2009: SYSTEM AND HUMANS, A COMPLEX RELATIONSHIP, 2009, 29 : 399 - 408
  • [40] Turnover in Open-Source Projects: The Case of Core Developers
    Ferreira, Fabio
    Silva, Luciana Lourdes
    Valente, Marco Tulio
    34TH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2020, 2020, : 447 - 456