Hidden Amplifiers: Cross-Level Risk in Software Supply Chains
Dieses Paper führt ein Framework zur Risiko-Propagation über verschiedene Ebenen hinweg ein, das Abhängigkeitsgraphen auf Ökosystem-Ebene mit statischer Code-Analyse verbindet, um „Hidden Amplifiers“ zu identifizieren – Mikro-Abhängigkeiten mit hoher Ökosystem-Exposition, aber geringer Code-Komplexität, die von aktuellen Software Composition Analysis-Tools übersehen werden, und dadurch kritische Schwachstellen in der Sicherheit der Software-Lieferkette aufdeckt.
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
Stellen Sie sich vor, Sie sind der Sicherheitschef einer riesigen, geschäftigen Stadt. Diese Stadt besteht vollständig aus vorgefertigten Blöcken (Softwarepaketen), die Entwickler von einem riesigen Marktplatz (der Software-Lieferkette) kaufen können.
Derzeit hat die Stadt zwei separate Sicherheitsteams, die nicht miteinander kommunizieren. Dieses Papier argumentiert, dass diese Trennung gefährliche blinde Flecken schafft.
Die zwei Sicherheitsteams (Das Problem)
- Das „Code-Detektiv“-Team: Diese Leute schauen in ein einzelnes Gebäude hinein. Sie prüfen, ob die Verkabelung unordentlich ist, ob die Türen schwach sind oder ob die Baupläne verwirrend sind. Sie sind großartig darin, strukturelle Mängel innerhalb eines spezifischen Gebäudes zu finden, aber sie wissen nicht, wie viele andere Gebäude in der Stadt von diesem einen abhängen.
- Das „Bevölkerungszählungs“-Team: Diese Leute stehen draußen und zählen, wie viele Menschen von einem Gebäude abhängig sind. Sie wissen, dass Gebäude A von 1 Million Menschen genutzt wird, während Gebäude B nur von 10 genutzt wird. Sie wissen, welche Gebäude „kritisch“ sind, aber sie gehen nie hinein, um zu prüfen, ob die Verkabelung tatsächlich sicher ist.
Das Versagen:
- Der Code-Detektiv schreit vielleicht: „Dieses Gebäude hat ein kaputtes Fenster!“ Aber wenn nur eine einzige Person es nutzt, ist das keine große Sache. Die Stadt wird mit Fehlalarmen überflutet.
- Der Bevölkerungszähler sagt vielleicht: „Gebäude C wird von allen genutzt!“ Aber weil er nie hineinschaut, übersieht er, dass Gebäude C in Wirklichkeit nur ein winziger, einfacher Schuppen ohne Fenster ist. Oder schlimmer noch: Er übersieht einen winzigen, verborgenen Fehler in einem einfachen Schuppen, auf den alle angewiesen sind.
Der „Verborgene Verstärker“ (Die Entdeckung)
Die Forscher entdeckten eine neue Art von Gefahr, die sie einen „Verborgenen Verstärker“ nennen.
Stellen Sie sich einen winzigen, unscheinbaren Strommast in der Mitte einer Stadt vor. Er sieht unglaublich einfach aus – vielleicht nur ein paar Drähte und ein kleiner Kasten (wenige Zeilen Code). Ein Standard-Code-Detektiv würde ihn betrachten und sagen: „Dies ist zu einfach, um gefährlich zu sein.“
Dieser spezifische Mast ist jedoch die Hauptstromquelle für 50.000 andere Gebäude. Wenn dieser winzige Mast ausfällt oder wenn ein Hacker ein einziges Kabel manipuliert, fallen 50.000 Gebäude dunkel.
- Aktuelle Tools übersehen dies: Weil der Mast so einfach ist, ignorieren ihn Code-Tools. Weil er noch keine „Vorstrafen“ (Schwachstellen) hat, ignorieren ihn Bevölkerungs-Tools.
- Das Ergebnis: Diese winzigen, kritischen Komponenten können dort sitzen und darauf warten, ausgenutzt zu werden – unsichtbar für alle, bis die Katastrophe eintritt. Die Forscher fanden 12 dieser „Verborgenen Verstärker“ in nur 50 getesteten Paketen. Ein Beispiel war ein winziges Paket namens
ms(nur 5 Methoden), das von fast 830.000 anderen Projekten genutzt wurde.
Die neue Lösung: Die „Cross-Level“-Karte
Die Autoren entwickelten ein neues Framework, das die beiden Sicherheitsteams zur Zusammenarbeit zwingt. Sie haben einen einzigen „Risiko-Score“ erstellt, der Folgendes kombiniert:
- Wie komplex und kritisch der Code im Inneren ist (die Sicht des Detektivs).
- Wie viele Menschen davon abhängig sind (die Sicht des Zählers).
Die Formel in einfachem Deutsch:
Gesamtrisiko = (Wie unordentlich/wichtig der Code ist) × (Wie viele Menschen ihn beobachten)
Wenn ein Stück Code unordentlich und von Millionen genutzt wird, explodiert der Risiko-Score. Wenn es unordentlich ist, aber von niemandem genutzt wird, ist das Risiko gering. Wenn es von Millionen genutzt wird, aber vollkommen einfach ist, ist das Risiko immer noch handhabbar. Aber wenn es ein winziges, einfaches Stück Code ist, das von Millionen genutzt wird, markiert das neue System es als „Verborgenen Verstärker“, der sofortige Aufmerksamkeit erfordert.
Was sie herausgefunden haben (Die Ergebnisse)
Die Forscher testeten dies an 50 populären Softwarepaketen (wie denen, die zum Bau von Websites und Apps verwendet werden).
- Sie fanden die „Verborgenen Verstärker“: Sie identifizierten 12 winzige Pakete, die von Zehntausenden anderer Projekte genutzt wurden, aber unter dem Radar der aktuellen Sicherheitstools flogen.
- Bessere Priorisierung: Als sie die gefährlichsten Codes mit ihrer neuen Methode rangierten, stellten sie fest, dass diese viel besser darin war, echte Bedrohungen zu erkennen, als wenn man nur die Popularität oder nur die Code-Komplexität betrachtete. Es half Entwicklern zu entscheiden, welche spezifischen Codezeilen sie zuerst reparieren sollten.
- Ein Praxistest: Sie untersuchten eine berühmte Schwachstelle im
ms-Paket (aus dem Jahr 2017). Zu diesem Zeitpunkt hatte kein Tool es als gefährlich eingestuft, da es so einfach war und keinen vorherigen „kriminellen Hintergrund“ hatte. Wenn sie jedoch ihr neues System damals eingesetzt hätten, hätten siemsallein aufgrund seiner massiven Reichweite als Top-Priorität eingestuft und damit Entwickler potenziell vor dem Hack gewarnt.
Das Fazendatum
Das Paper kommt zu dem Schluss, dass wir Code nicht isoliert betrachten können und auch nicht nur die Popularität eines Pakets betrachten dürfen. Wir müssen beides gleichzeitig betrachten. Indem wir dies tun, können wir die „winzigen, kritischen“ Teile der Software-Lieferkette finden, die derzeit für unsere Sicherheitstools unsichtbar sind, und so zukünftige Katastrophen verhindern, bevor sie geschehen.
Sie entwickelten einen Prototyp-Tool (etwa 16.000 Zeilen Code), der dies umsetzt, und bewiesen damit, dass es möglich ist, die Lücke zwischen „Codequalität“ und „Ökosystem-Reichweite“ zu schließen.
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.