Der nachfolgende Text wurden mit KI erstellt und kann Fehler enthalten. Fehler gefunden? Bei GitHub editieren
Die Sicherheit von Software-Lieferketten (Supply Chain Security) gewinnt zunehmend an Bedeutung. Dabei geht es nicht nur um das Management von Abhängigkeiten, sondern um die gesamte Kette von der Entwicklung bis zum Produktivbetrieb.
Was ist eine Supply Chain?
Eine Supply Chain oder Lieferkette beschreibt den Weg, den ein Software-Artefakt von seiner Entstehung bis zum produktiven Einsatz nimmt. Dies umfasst beispielsweise:
- Bibliotheken und deren Abhängigkeiten
- Container und deren Basis-Images
- Deployment in die Infrastruktur
- Binaries auf lokalen Systemen
Typische Angriffsvektoren
In der Vergangenheit gab es verschiedene Supply Chain Attacken:
- Der XZ-Angriff auf OpenSSH
- Kompromittierung von NPM-Paketen mit eingeschleusten Bitcoin-Minern
- Der SolarWinds-Hack
- Stuxnet als gezielter Angriff auf industrielle Steuerungssysteme
Ein kompromittiertes Paket oder eine manipulierte Bibliothek betrifft dabei nicht nur das ursprüngliche Angriffsziel, sondern alle Nutzer dieser Komponente.
Wichtige Sicherheitsmaßnahmen
1. Signierung von Code und Artefakten
- Git-Commits sollten kryptographisch signiert werden.
- Container und Releases benötigen verifizierbare Signaturen.
- YubiKeys bieten zusätzliche Sicherheit für private Schlüssel.
2. Software Bill of Materials (SBOM)
Eine SBOM dokumentiert alle verwendeten Komponenten und deren Versionen. Dies ermöglicht:
- Schnelle Identifikation von Sicherheitslücken
- Überprüfung von Lizenzen
- Transparenz über die gesamte Lieferkette
3. Automatisierung von Releases
- Releases sollten vollständig automatisiert sein.
- Jedes Teammitglied muss Releases durchführen können.
- Schnelle Reaktion auf Sicherheitslücken wird so ermöglicht.
Best Practices für Teams
- Abhängigkeiten bewusst wählen und minimieren
- Vertrauenswürdige Quellen für Bibliotheken nutzen
- Automatisierte Security Scans einsetzen
- Signaturen und Verifikation zur Routine machen
- Junior Entwickler schrittweise an Security heranführen
Fazit
Supply Chain Security ist kein Monster-Thema, sondern lässt sich mit wenigen gezielten Maßnahmen deutlich verbessern. Wichtig sind:
- Transparenz und Nachvollziehbarkeit der gesamten Kette
- Automatisierung von Sicherheitsmaßnahmen
- Bewusstsein für potenzielle Angriffsvektoren
- Kontinuierliche Weiterentwicklung der Sicherheitsmaßnahmen
Senior Entwickler stehen dabei in der Verantwortung, Security-Best-Practices vorzuleben und weiterzugeben. Mit den heute verfügbaren Tools lässt sich eine gute Basis für Supply Chain Security mit überschaubarem Aufwand aufbauen.