Authors:
Rasmus Hagberg
1
;
2
;
Martin Hell
3
and
Christoph Reichenbach
2
Affiliations:
1
Debricked AB, Malmö, Sweden
;
2
Department of Computer Science, Lund University, Box 118 Lund, Sweden
;
3
Department of Electrical and Information Technology, Lund University, Box 118 Lund, Sweden
Keyword(s):
Software Security, Vulnerabilities, Call Graphs, Open-source Software, Vulnerability Analysis.
Abstract:
Open-Source Software (OSS) is increasingly used by software applications. It allows for code reuse, but also comes with the problem of potentially being affected by the vulnerabilities that are found in the OSS libraries. With large numbers of OSS components and a large number of published vulnerabilities, it becomes challenging to identify and analyze which OSS components need to be patched and updated. In addition to matching vulnerable libraries to those used in software products, it is also necessary to analyze if the vulnerable functionality is actually used by the software. This process is both time-consuming and error-prone. Automating this process presents several challenges, but has the potential to significantly decrease vulnerability exposure time. In this paper, we propose a modular framework for analyzing if software code is using the vulnerable part of a library, by analyzing and matching the call graphs of the software with changes resulting from security patches. Furt
her, we provide an implementation of the framework targeting Java and the Maven dependency management system. This allows us to identify 20% of the dependencies in our sample projects as false positives. We also identify and discuss challenges and limitations in our approach.
(More)