TY - THES AB - Die Einbindung von Open-Source-Software (OSS) in moderne Softwareprojekte ist allgegenwärtig geworden. Im Durchschnitt stammen 71% des Codes in typischen Java-Projekten aus OSS-Abhängigkeiten, was sie zum dominanten Bestandteil moderner Softwarecodebasen macht. Dieser hohe Grad an OSS-Abhängigkeit birgt ein erhebliches Sicherheitsrisiko, da dadurch bekannte Sicherheitslücken in eine Codebasis eingebracht werden können. Um dieses Risiko zu verringern, haben Forschende und Unternehmen verschiedene Dependency Scanner entwickelt, die versuchen, die Einbindung bekanntermaßen verwundbarer OSS-Abhängigkeiten zu identifizieren. Aufgrund ihrer Abhängigkeit von Metadaten oder Quellcode bestehen jedoch weiterhin Herausforderungen, die moderne Dependency Scanner nicht überwinden-insbesondere im Hinblick auf Modifikationen von Abhängigkeiten wie Rekompilationen, Neubündelungen oder Umbenennungen, die im Java-Ökosystem weit verbreitet sind.Um diese Herausforderungen zu bewältigen, präsentieren wir Jaralyzer, einen bytecode-zentrierten Dependency Scanner für Java.Jaralyzer ist weder auf Metadaten noch auf den Quellcode der eingebundenen OSS-Abhängigkeiten angewiesen, sondern analysiert direkt den Bytecode einer Abhängigkeit. Dies erreicht Jaralyzer durch die in dieser Arbeit vorgestellten neuartigen Techniken. Zunächst nutzt es unseren Ansatz der gezielten Kompilation Jess, der Slicing- und Stubbing-Techniken einsetzt, um nur gezielt ausgewählte Teile einer Java-Codebasis zu isolieren und zu kompilieren. Dies erhöht die Kompilationserfolgsrate erheblich, ein ansonsten notorisch komplexes Problem, und ermöglicht die Kompilation von Fix-Commits in Isolation, die die Grundlage der Dependency-Scans von Jaralyzer bilden. Anschließend werden mit unserer neuartigen Bytecode-Normalisierung jNorm aus Kompilierung resultierende Unterschiede entfernt, um eine von der jeweiligen Kompilierungsumgebung unabhängige Code-Repräsentation zu erzeugen. Dies ermöglicht einen anschließenden Vergleich zwischen eingebundenen Abhängigkeiten und sicherheitsrelevanten Codeänderungen, den Jaralyzer mittels einer auf Code Property Graphs basierenden Technik durchführt. Dieser Ansatz erlaubt eine fein granulare Erkennung von Sicherheitsfixes, selbst wenn sich der Code im Laufe der Zeit weiterentwickelt hat. Durch die Kombination dieser Techniken kann Jaralyzer bekanntermaßen verwundbare Abhängigkeiten in Java-Projekten zuverlässig erkennen-selbst dann, wenn diese Abhängigkeiten modifiziert wurden.Unsere Evaluation von Jess auf 347 OSS-Java-Projekten zeigt, dass Jess in der Lage ist 72% aller Methoden und Konstruktoren isoliert zu kompilieren, wovon bei 89% Bytecode erzeugt wird, der mit dem ursprünglichen vollständig übereinstimmt. Darüber hinaus ermöglicht die Nutzung von Jess auf der Fix-Commit-Datenbank Project KB, die als Grundlage für Jaralyzer dient, die Kompilation von 90% der Einträge, im Vergleich zu weniger als 11% bei Verwendung der mitgelieferten Build-Skripte. Unsere Evaluation von jNorm auf 322 OSS-Java-Projekten zeigt zudem, dass allein das Verändern der Compiler-Version zu Unterschieden in 46% aller resultierenden Bytecode-Dateien führen kann, selbst bei identischem Quellcode. Durch die Anwendung der Bytecode-Normalisierung lassen sich 99% dieser von Kompilation bedingten Unterschiede entfernen, was jNorm zu einem entscheidenden Faktor für bytecode-zentriertes Dependency Scanning macht.Schließlich zeigt unsere Evaluation von Jaralyzer an 56 populären OSS-Komponenten, dass es andere gängige Dependency Scanner bei der Erkennung von Schwachstellen in modifizierten Abhängigkeiten übertrifft. Es ist der einzige Scanner, der bekanntermaßen verwundbare Abhängigkeiten auch dann zuverlässig identifizieren kann, wenn sie modifiziert wurden. Doch selbst bei der Anwendung auf unmodifizierte Abhängigkeiten übertrifft Jaralyzer den aktuellen Stand der Technik des code-zentrierten Scanners Eclipse Steady, indem es 28 zusätzliche Schwachstellen erkennt und gleichzeitig 29 falsche Warnungen weniger erzeugt. AU - Schott, Stefan CY - Paderborn DO - 10.17619/UNIPB/1-2563 DP - Universität Paderborn LA - eng N1 - Tag der Verteidigung: 18.03.2026 N1 - Universität Paderborn, Dissertation, 2026 PB - Veröffentlichungen der Universität PY - 2026 SP - 1 Online-Ressource (xiii, 131 Seiten) : Diagramme T2 - Institut für Informatik TI - Reliable Bytecode-centric Detection of Vulnerable Open-Source Software Dependencies UR - https://nbn-resolving.org/urn:nbn:de:hbz:466:2-57998 Y2 - 2026-06-22T15:26:45 ER -