title: Secure use of open-source software
title: a systematic study and techniques for Java
titleType: Subtitle
Creators: name: Dann, Andreas Peter
Publisher: name: Universität Paderborn
Year: 2024

description: In der modernen Softwareentwicklung ist die Einbindung von Open-Source Software (OSS) Bibliotheken und Frameworks gängige Praxis, um Zeit und Kosten zu sparen. Allerdings birgt die Verwendung von OSS das Risiko, bekannte Schwachstellen einzubinden. Diese müssen von EntwicklerInnen entdeckt und behoben werden. In der Arbeit werden Methoden und Werkzeuge vorgestellt, um das Risiko von Schwachstellen in genutzten OSS in Java-Anwendungen zu minimieren. Um Probleme von Schwachstellenscannern bei der Erkennung von OSS mit bekannten Schwachstellen zu identifizieren, wird eine Fallstudie an 7,024 bei SAP entwickelten Projekten durchgeführt. Die Studie zeigt, dass EntwicklerInnen OSS regelmäßig modifizieren und Scanner Probleme haben, Schwachstellen in modifizierten OSS zu erkennen. Um diesem Problem zu begegnen, wird das Werkzeug SootDiff vorgestellt. Um bei einem Update genutzter OSS das Risiko zu verringern, Fehler in die Anwendung einzuführen, wird das Werkzeug UpCy entworfen. UpCy analysiert, wie die Anwendung OSS nutzt, um Updates mit minimalen Inkompatibilitäten zu finden. Die Evaluierung zeigt, dass UpCy effizient Updates ohne Inkompatibilitäten findet. Um zu verhindern, dass Schwachstellen in einer Komponente sich auf andere auswirken, wird das Potential des Java Modulsystems zur Isolation von Drittsoftware analysiert. Hierzu wird die statische Analyse ModGuard entwickelt. ModGuard identifiziert Datenflüsse, die den Zugriff auf oder die Manipulation von sensiblen Daten ermöglichen. In einer Fallstudie an dem Webserver Tomcat, werden Module in realen Anwendungen untersucht. Da die Studie zeigt, dass Module den Zugriff auf sensible Daten nur bedingt verhindern, werden weitere Möglichkeiten zur Isolation diskutiert. Die Arbeit zeigt, dass die entwickelten Methoden und Werkzeuge SootDiff, UpCy und ModGuard die sichere Nutzung von OSS vorantreiben können.
description: The use of open-source software (OSS) libraries and frameworks has become an established practice in modern software development to reduce time and costs. However, using OSS also involves the risk of including known vulnerabilities, which developers must detect and mitigate. This thesis proposes methods and tools to minimize the risks of vulnerable OSS in Java applications. To investigate problems developers and dependency scanners face for detecting OSS dependencies with known vulnerabilities, the thesis conducts a case study on 7,024 projects developed at SAP. The study shows that developers modify OSS regularly, making it difficult for vulnerability scanners to detect known vulnerabilities. To overcome this limitation, the thesis presents the approach SootDiff. To help developers update vulnerable or outdated OSS with only minimal risk of breaking the application, the thesis introduces UpCy. UpCy analyzes how the application uses the OSS and identifies updates that introduce minimal incompatibilities only. UpCy's evaluation shows that it can effectively suggest updates with no incompatibilities. To prevent vulnerabilities in one component from affecting others, the thesis studies the Java module system's capabilities for isolating included third-party software. To do so, the thesis introduces ModGuard, a static analysis that detects unintended data flows that allow access to or manipulation of sensitive entities within modules. Further, the thesis conducts a case study on a modularized version of the open-source web server Apache Tomcat to check the effect of modules in real-world applications. The study shows that the module system can only partially prevent access to sensitive entities. Thus, the thesis discusses further means for isolation. The thesis shows that the developed methods and tools SootDiff, UpCy, and ModGuard can advance the secure use of OSS.