- Dependency-Cooldowns sind eine einfache und wirksame Sicherheitstechnik, mit der sich die meisten Angriffe auf die Open-Source-Lieferkette abmildern lassen
- Angreifer kapern in der Regel beliebte Open-Source-Projekte und verteilen darüber Schadcode, doch bei den meisten Angriffen ist das Zeitfenster der Exponierung kürzer als eine Woche
- Wenn nach der Veröffentlichung einer neuen Version ein Cooldown mit einer Wartezeit (z. B. 7 Tage) festgelegt wird, lässt sich das Infektionsrisiko durch automatische Updates deutlich senken
- Dependabot, Renovate, pnpm usw. unterstützen Cooldowns bereits standardmäßig, die Einrichtung ist einfach und verursacht keine zusätzlichen Kosten
- Wenn Cooldowns auf Ebene des Paketmanagers standardmäßig bereitgestellt werden, kann das die Sicherheit der Lieferkette stärken und unnötige Warnmeldungen reduzieren
Struktur und Probleme von Lieferkettenangriffen
- Die meisten Lieferkettenangriffe (supply chain attacks) folgen demselben Muster
- Angreifer verschaffen sich Zugang über gestohlene Zugangsdaten eines beliebten Open-Source-Projekts oder über CI/CD-Schwachstellen
- Sie laden bösartige Änderungen in Distributionskanäle wie PyPI oder npm hoch
- Durch automatische Updates oder fehlende Versionsfixierung installieren Nutzer die infizierte Version
- Sicherheitsanbieter erkennen dies, warnen davor, und das Paket-Repository entfernt die betroffene Version
- Der Abstand zwischen den Schritten (1) und (2) ist lang, aber die Schritte (2) bis (5) werden innerhalb von Stunden bis wenigen Tagen abgewickelt, sodass das aktive Zeitfenster der Angreifer kurz ist
- Zeitfenster der Angriffsmöglichkeit (window of opportunity) in wichtigen Fällen der letzten 18 Monate
- xz-utils: etwa 5 Wochen
- Ultralytics: 12 Stunden (Phase 1), 1 Stunde (Phase 2)
- tj-actions: 3 Tage
- chalk: weniger als 12 Stunden
- Nx: 4 Stunden
- rspack: 1 Stunde
- num2words: weniger als 12 Stunden
- Kong Ingress Controller: etwa 10 Tage
- web3.js: 5 Stunden
- 8 dieser Fälle hatten ein Angriffsfenster von weniger als einer Woche und wären größtenteils durch Cooldowns blockiert worden
Konzept und Wirkung von Cooldowns
- Ein Cooldown verzögert die Nutzung neuer Abhängigkeiten für einen bestimmten Zeitraum nach ihrer Veröffentlichung
- In dieser Zeit können Sicherheitsanbieter erkennen, ob eine Version bösartig ist
- Vorteile
Fazit und Empfehlungen
- Bei 8 von 10 Angriffen lag das Angriffsfenster bei höchstens einer Woche, und mit einem 7-Tage-Cooldown ließe sich der Großteil blockieren
- Mit einem 14-Tage-Cooldown wären alle Fälle außer xz-utils abgedeckt
- Cooldowns sind keine perfekte Lösung, aber eine einfache Methode, das Expositionsrisiko um 80–90 % zu senken
- Neben Dependabot und Renovate sollten auch Paketmanager selbst Cooldowns standardmäßig unterstützen
- Sicherheit in der Lieferkette ist nicht nur ein technisches Problem, sondern auch eine Frage sozialer Vertrauensstrukturen – Cooldowns sind dabei jedoch eine nützliche, realistische Gegenmaßnahme
Noch keine Kommentare.