Cyberkriminelle suchen ständig nach neuen Wegen, um in das Netzwerk eines Unternehmens einzudringen – entweder um Daten abzugreifen oder um anderweitigen Schaden anzurichten. Oft entpuppt sich die Software-Lieferkette als Ansatzpunkt für gezielte Angriffe.
Kooperation, Kommunikation und der Austausch mit Dritten – seien es Zulieferer, Reseller oder Kunden – sind Kernelemente einer Lieferkette. Sie ermöglichen Kriminellen aber auch Wege ins System. Solche Attacken bezeichnet man allgemein als Supply-Chain-Angriffe. Die mit einem solchen Angriff verbundenen Risiken waren noch nie so hoch wie derzeit: Ein im Dezember 2018 veröffentlichter Bericht des Ponemon Instituts stellte fest, dass der Missbrauch oder die unbefugte Weitergabe vertraulicher Daten durch Dritte bei 64 Prozent der befragten IT-Experten ganz oben auf der Sorgenliste stehen. Nur 35 Prozent der Befragten konnten zudem eine vollständige Liste der Partner vorlegen, mit denen sensible Informationen geteilt werden. Wie gefährlich solche Nachlässigkeiten werden können, zeigen zahlreiche Beispiele des letzten Jahres. So landete der komplette Cloud-Speicher der Universal Music Group im Internet, weil ein Drittanbieter einen Apache Airflow-Server ohne Passwortschutz betrieben hatte. Interne Anmeldeinformationen, Passwörter sowie vertrauliche Informationen waren für jedermann im Internet verfügbar.
Es werden Standards benötigt
Ein weiteres Beispiel ist die Software-Lieferkette. Software ist ein integraler Bestandteil fast jedes Unternehmens. Darüber hinaus ist sie in vielen verschiedenen Bereichen vorhanden, zum Beispiel in Betriebssystemen, Browsern und Mail-Clients. Software wird auch als Teil der Hardware mitgeliefert, die Unternehmen in der Produktion verwenden (zum Beispiel KI-gesteuerte Roboter) oder der Hardware, mit der die IT den Schutz eines Unternehmens gewährleistet (zum Beispiel Firewalls). Solche Softwareprodukte können das schwache Glied sein, das Angreifer nutzen können, um Schutzmechanismen zu umgehen und in ein Unternehmen einzudringen. Normalerweise begegnen Unternehmen diesem Risiko, indem sie kritische Maschinen nicht mit offenen Netzwerken verbinden lassen. Das minimiert die Chance von Attacken aus dem Internet. Darüber hinaus sollten Unternehmen Soft- und Hardware nur von vertrauenswürdigen Lieferanten kaufen, bei denen sie einen umfassenden Compliance-Check (Due-Diligence-Prüfung) durchgeführt haben. Auch wenn dies eigentlich ein bekannter und etablierter Prozess sein sollte, existieren noch viel zu viele Fälle, in denen Organisationen solche Best Practices nicht so genau anwenden wie sie sollten – oder es überhaupt nicht tun.
Zwischen Theorie und Praxis klafft also eine große Lücke, gerade im Bereich der Softwarequalität. Softwarelieferanten müssen gewisse Standards einhalten, wenn sie ihren Kunden stabile, verlässliche Software verkaufen wollen. Die Frage ist nur, wie sichergestellt werden kann, dass solche Best Practices befolgt werden und wie man diese Verfahren durchsetzt. Ein Blick über den großen Teich zeigt, dass Aufsichtsbehörden dort bereits strengere Maßstäbe anlegen. So verlangen die Finanzbehörden in New York seit 2018 von Finanzunternehmen mit einer Präsenz in New York, dass sie sicherstellen, dass die Cybersicherheitsmaßnahmen ihrer Lieferanten den Anforderungen entsprechen. Die Finanzbranche hat hier eindeutig eine Vorreiterrolle inne. Andere Wirtschaftsbereiche haben diese Risiken weit weniger gut im Griff.
Viel Open Source
Der Stand der Softwareentwicklung heute im Vergleich zu dem von vor einigen Jahren verdeutlicht die Problematik: Früher war es normal, unternehmenseigenen proprietären Code vollständig inhouse zu entwickeln. Heute wird fast immer ein Mix aus proprietärem Code und Open-Source- beziehungsweise Third-Party-Code genutzt. Viele Anwendungen enthalten sogar mehr Open Source als proprietären Code, wie die Open-Source-Sicherheits- und Risikoanalyse (OSSRA) 2018 zeigte. Hier drohen Sicherheits- und Lizenzrisiken. Auch kommen in der modernen Softwareentwicklung neue Technologien wie Virtualisierung und Containerisierung zum Einsatz. Das Orchestrierungs-Framework Kubernetes ist beispielsweise spätestens seit 2018 zum De-facto-Standard herangewachsen. Doch auch wenn sich die Entwicklungslandschaft grundlegend verändert hat, darf deshalb das Sicherheitsniveau nicht sinken. Probleme lassen sich nicht lösen, indem man auf Open Source oder Container verzichtet. Man würde nur die Geschwindigkeit und Agilität verlieren, die notwendig ist, um wettbewerbsfähig zu bleiben. Selbst profane Hardware wie Schweißmaschinen ist cloudfähig, überträgt beispielsweise Diagnosedaten an den Hersteller, damit dieser Wartungsintervalle flexibel planen kann. Wie gefährlich fehlerhafte Soft- und Hardwarekomponenten sein können, offenbarte vor einigen Jahren der Programmfehler „Heartbleed“: Der Bug, vom Kryptologen Bruce Schneier auf der Gruselskala von eins bis zehn als elf tituliert, betraf Millionen von Websites, mobile Geräte sowie Software vieler großer Anbieter wie Oracle, VMware und Cisco.
Die Kontrolle übernehmen
Da viele Firmen auf Drittanbieter-Software angewiesen sind, müssen sie eine adäquate Risikomanagement-Strategie etablieren. Sie sollten zunächst verstehen, wo die Risiken in ihrem digitalen Ökosystem liegen, und dann die Kontrolle dieser Risiken mit ihren Lieferanten abstimmen. Fehler sowie Zuverlässigkeits- und Sicherheitsprobleme sind nichts Ungewöhnliches – umso mehr müssen robuste Prozesse gegenüber den Lieferanten durch- und umgesetzt werden. Um unzuverlässigen Code zu identifizieren, sollten sich Unternehmen nicht auf die Aussagen von Drittanbietern verlassen, sondern eigene unabhängige Bewertungen durchführen. Dazu ist eine Reihe von probaten Tools erhältlich. Weiterhin muss eine interne Strategie zur Identifizierung von unzuverlässigem Code etabliert werden,und zwar während des gesamten SDLC – von der Entwicklungsphase bis zum Software-Release. Schlussendlich sollten Unternehmen auch die eigenen Mitarbeiter fortlaufend schulen und regelmäßig in puncto IT-Sicherheit sensibilisieren.
Boris Cipot ist Sicherheitsingenieur bei der Synopsys Software Integrity Group