A Reality Check on SBOM-based Vulnerability Management: An Empirical Study and A Path Forward
Diese empirische Studie zeigt, dass Software-Bill-of-Materials (SBOMs) zwar durch Lock-Dateien präzise erstellt werden können, aber herkömmliche Schwachstellenscanner aufgrund von nicht erreichbarem Code eine extrem hohe Rate an Fehlalarmen produzieren, die sich durch eine nachgelagerte Funktionsaufrufanalyse um 61,9 % reduzieren lassen, um so handlungsrelevante Sicherheitsberichte zu ermöglichen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Das große Problem: Der überfüllte Werkzeugkasten
Stellen Sie sich vor, Sie bauen ein Haus (Ihre Software). Dafür brauchen Sie viele verschiedene Werkzeuge und Materialien von anderen Firmen (Bibliotheken und Pakete). Um sicherzustellen, dass Ihr Haus stabil ist und keine versteckten Risse hat, wollen Sie eine Baustellen-Liste erstellen. Diese Liste nennt man im Englischen SBOM (Software Bill of Materials). Sie soll genau auflisten: "Wir haben 50 Nägel, 30 Schrauben und 10 Hämmer verbaut."
Das Problem ist: Bisher war diese Liste oft falsch oder unvollständig.
1. Der erste Fehler: Die ungenaue Einkaufsliste
Früher haben Entwickler oft nur eine grobe Einkaufsliste (die Projektdatei) benutzt, auf der stand: "Wir brauchen Nägel, aber es darf auch ein bisschen mehr oder weniger sein."
Die Computer-Programme, die die SBOM-Liste erstellen, mussten dann selbst raten, welche Nägel genau gekauft wurden. Das führte zu Chaos: Ein Programm sagte "10 Nägel", das andere "12 Nägel".
Die Lösung der Studie:
Die Forscher sagen: "Hört auf zu raten!" Stattdessen sollten Sie die genaue Rechnung (die Lock-Datei) benutzen. Diese Rechnung entsteht, wenn Sie alle Materialien tatsächlich kaufen. Sie steht fest: "Wir haben genau den Nagel von Marke X, Größe Y, gekauft."
- Ergebnis: Wenn man diese genaue Rechnung benutzt, erstellen alle Programme die gleiche, perfekte Liste. Das ist der erste Schritt zur Sicherheit.
2. Der zweite, größere Fehler: Der Panik-Alarm
Aber dann passierte etwas Überraschendes. Selbst mit der perfekten Liste (SBOM) liefen die Sicherheits-Scanner (die wie Sicherheitsinspektoren arbeiten) völlig aus dem Ruder.
Stellen Sie sich vor, Ihr Haus hat eine Tür mit einem alten, kaputten Schloss (eine Sicherheitslücke). Der Sicherheitsinspektor schaut auf Ihre Liste, sieht den alten Schlüssel und schreit: "GEFAHR! ALARM! ALARM!"
Aber hier ist der Haken: Sie haben das kaputte Schloss gar nicht eingebaut! Sie haben nur den Schlüssel auf der Liste, aber in Ihrem Haus ist eine andere, sichere Tür. Der Inspektor schaut aber nicht, ob die Tür tatsächlich benutzt wird. Er schaut nur auf die Liste.
Die schockierende Statistik:
Die Forscher haben 2.414 Projekte geprüft. Das Ergebnis war erschütternd:
- 92 % aller Alarme waren falsch! (False Positives).
- Der Scanner schrie "Feuer!", obwohl gar kein Feuer war, sondern nur ein alter Ofen im Keller stand, den niemand benutzte.
Das führt zu Alarm-Müdigkeit. Wenn Sie jeden Tag 100 falsche Alarme bekommen, hören Sie auf, auf die Sirene zu hören. Und wenn dann wirklich ein Feuer ausbricht, merken Sie es nicht mehr.
3. Der Weg nach vorne: Der intelligente Inspektor
Wie löst man das? Die Forscher haben einen zweiten Schritt getestet. Statt nur auf die Liste zu schauen, sollte der Inspektor auch nachschauen, ob die gefährliche Tür überhaupt benutzt wird.
Sie haben eine Technik namens "Funktionsanalyse" (Call Analysis) eingesetzt. Das ist wie ein Detektiv, der prüft: "Wird dieser kaputte Schlüssel tatsächlich in der Hand gehalten?"
- Wenn die Antwort NEIN ist (der Code wird nie ausgeführt), ignoriert der Scanner den Alarm.
- Wenn die Antwort JA ist, dann ist es ein echter Alarm.
Das Ergebnis:
Durch diesen zusätzlichen Check konnten sie 62 % der falschen Alarme sofort eliminieren. Die Liste wurde von "Panik pur" zu "handhabbaren Warnungen".
Zusammenfassung in drei einfachen Sätzen
- Nutzen Sie die genaue Rechnung, nicht die grobe Einkaufsliste: Um eine korrekte Liste Ihrer Software-Komponenten zu bekommen, müssen Sie die "Lock-Datei" (die genaue Versionen-Liste) verwenden, nicht nur die grobe Projektbeschreibung.
- Die aktuellen Scanner sind zu dumm: Sie schreien Alarm, sobald sie eine gefährliche Komponente auf der Liste sehen, egal ob sie im Programm überhaupt benutzt wird. Das führt zu 92 % falschen Alarmen.
- Schauen Sie, was wirklich passiert: Die Zukunft liegt darin, nicht nur die Liste zu prüfen, sondern auch zu analysieren, ob der gefährliche Code tatsächlich ausgeführt wird. Das macht die Sicherheitswarnungen endlich nützlich und nicht mehr nervig.
Die Moral der Geschichte: Ein perfektes Inventar (SBOM) ist gut, aber ohne zu wissen, wie die Dinge tatsächlich benutzt werden, ist es nur ein Rattenschwanz aus falschen Alarmen. Wir brauchen intelligente Scanner, die den Kontext verstehen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.