3min. read

Die Lieferkettensicherheit beschäftigt derzeit viele Manager, da eine ganze Reihe von Vorfällen sehr eindrücklich gezeigt hat, welche Geschäftsrisiken mit Schwachstellen in Lieferketten einhergehen. Unternehmen aller Größenordnungen waren von Log4j, SolarStorm und ähnlichen Bedrohungen umso schwerer betroffen, da sie sich in den meisten Fällen überhaupt nicht bewusst waren, wie groß das Risiko eines Angriffs über eine Lieferkette sein kann. Bei einem solchen Angriff reicht eine Schwachstelle in einer Komponente des Softwarestacks aus, um die ganze Infrastruktur angreifbar zu machen.

Untersuchungen der Unit 42 von Palo Alto Networks haben ein besonders schwerwiegendes Risiko in cloudbasierten Lieferketten aufgedeckt, das Unternehmen unbedingt im Auge behalten sollten. Unser Forscherteam fand heraus, dass 63 Prozent des von Drittanbietern stammenden Quellcodes, der zum Aufbau von Cloud-Infrastrukturen genutzt wird, unsicher ist. Zu den identifizierten Sicherheitsrisiken zählten Fehlkonfigurationen, falsch zugewiesene Zugriffsrechte und anfällige Code-Bibliotheken.

Was genau ist eine cloudbasierte Lieferkette?

Die meisten von uns denken beim Stichwort „Lieferkette“ wohl zuerst an physische Teile und Waren, die von einem Ort zum anderen transportiert werden. Dass diese Transporte oft von cloudbasierten Anwendungen gesteuert werden, bleibt noch zu oft unberücksichtigt. Doch wir können noch einen Schritt weiter gehen: Wenn in Ihrem Unternehmen cloudnative Anwen- dungen erstellt werden, haben Sie eine Lieferkette in Ihrer Lieferkette.

Die Entwicklung moderner cloudnativer Anwendungen lässt sich in drei Hauptschritte unterteilen, in denen verschiedene Ebenen bereitgestellt werden. Im ersten Schritt wird eine Cloud-Infrastruktur eingerichtet. Im zweiten Schritt kommt ein Kubernetes®-Dienst zur Containerorchestrierung hinzu. Dies ist die Plattform, auf der später die Anwendungen laufen. Im dritten Schritt werden Container-Images mit den Anwendungen auf dieser Plattform gestartet. Bei jedem Schritt (und somit auf jeder Ebene) können Fehlkonfigurationen oder anfällige Code-Elemente in die Infrastruktur gelangen.

Softwarestücklisten bringen uns ein Stück weiter

Die Sicherung cloudbasierter Lieferketten ist komplex, lässt sich aber vereinfachen. Cloudnative Anwendungen werden fast immer in Containern ausgeführt, was das Anwendungsmonitoring erleichtert.

Das Konzept einer Softwarestückliste (Software Bill Of Materials, SBOM) wird durch Container ebenfalls vereinfacht, da Container deklarativ sind. Ein Nutzer kann also das Containermanifest einsehen, um herauszufinden, was in einem Container enthalten ist.

SBOM werden in Zukunft voraussichtlich in mehr Softwarelieferketten enthalten sein. Dies haben wir zum Teil der Executive Order 14028 zu verdanken, die ihre Nutzung durch alle Zulieferer der US-Regierung vorschreibt.

Empfehlungen zur Sicherung von Softwarelieferketten

Cloudbasierte Lieferketten können aufgrund ihrer verschiedenen Ebenen, Komponenten und Quellen recht komplex sein. Dennoch lässt ihre Sicherung sich mit dem folgenden, aus vier Schritten bestehenden strategischen Ansatz gut bewältigen:

Schritt 1: Definieren Sie Ihre Strategie
Ein kritischer erster Schritt ist das Skizzieren einer Gesamtstrategie für die cloudbasierte Lieferkette. Diese sollte mit einem Shift-Left-Ansatz beginnen. Shift-Left wird mitunter auch als DevSecOps bezeichnet und bedeutet, dass die Sicherheit früher als bislang üblich in die Prozesse integriert wird. Dieser Strategieentwurf muss kein langes Dokument sein. Für den Anfang reicht es, wenn Sie Ihre Vision sowie die verschiedenen Rollen und Verantwortungsbereiche umreißen. Sie können diesen Entwurf dann im weiteren Verlauf schrittweise überarbeiten.

Schritt 2: Verschaffen Sie sich einen Überblick darüber, wo und wie Software entwickelt wird
Sie müssen möglicherweise einige Recherchen anstellen, um herauszufinden, wo und wie Software in Ihrem Unternehmen entwickelt wird. Ihr Ziel für diesen Schritt sollte es sein, zu dokumentieren, auf welchem Weg Software von den Laptops der Entwickler in die Produktionsumgebungen in der Cloud gelangt.

Schritt 3: Definieren und implementieren Sie Leitlinien für die Sicherheit
Aus traditionellen Fertigungsprozessen ist die Qualitätskontrolle schon seit Langem nicht mehr wegzudenken. Bei der Entwicklung von Cloud-Anwendungen war sie bislang jedoch weniger selbstverständlich. Deshalb sollten Sie nach Etappen im Softwareentwicklungsprozess Ihres Unternehmens suchen, bei denen proaktive Qualitätskontrollen eingefügt werden können. Gute Sicherheitskontrollen sollten so stark automatisiert sein wie möglich, um die weitaus weniger skalierbaren manuellen Codereviews zu ergänzen.

Schritt 4: Erwägen Sie Zertifizierungen
In den ersten Schritten ging es darum, von Haus aus sichere Anwendungen zu entwickeln. Zudem sollte die Sicherheit der Anwendungen und der Infrastruktur, in der sie ausgeführt werden, validiert werden. Dabei können Zertifizierungen eine Rolle spielen. Führende Cloud-Anbieter können gewöhnlich mit langen Listen diesbezüglicher Bescheinigungen und Zertifi- zierungen Dritter aufwarten. Zu den am häufigsten zitierten gehören SOC2 Typ II und ISO 27001, für die geprüft wird, welche eigenen Sicherheitsmaßnahmen ein Anbieter implementiert hat und wie wirksam diese sind.

Anhand dieser Zertifizierungen können Sie nachvollziehen, wie Anbieter ihre Umgebung systematisch nach Risiken durch- suchen und diese bewerten. Das ist wichtig, weil diese Anbieterumgebungen zu einem Teil Ihrer erweiterten Infrastruktur werden, wenn Sie die Cloud-Nutzung im Rahmen Ihrer Skalierung vorantreiben.

Mit diesen vier Schritten können Manager mit Verantwortung für die Sicherheit nicht nur den Wechsel ihres Unterneh- mens zu einer Shift-Left-Sicherheitsstrategie in die richtige Bahn lenken, sondern auch dafür sorgen, dass Sicherheit und Softwareentwicklung in Zukunft als untrennbar betrachtet werden. Da Unternehmen zunehmend auf Clouds und cloudnative Anwendungen angewiesen sind, ist es an der Zeit, eine Strategie für die Sicherung cloudbasierter Lieferketten zu entwerfen und umzusetzen.