Production Perig - stock.adobe.c
Maschinenidentitäten bei Microservices absichern
Microservices sind schnell verfügbar und austauschbar, entsprechend nimmt die Verbreitung zu. Das interessiert auch Cyberkriminelle, die versuchen, Microservices zu kompromittieren.
Microservices werden bedingt durch die Verbreitung von agiler Softwareentwicklung immer populärer. Nicht zuletzt aktuelle Studien von Red Hat, Dimensional Research (PDF) oder Market Insights Report unterstreichen das deutliche Wachstum in diesem IT-Segment auf. Unter Microservices sollten der Unix-Philosophie folgen und einer Art Modularisierung der Software zum Ziel haben. Dieses Konzept unterscheidet die Microservices von der Entwicklung bis zur Bereitstellung erheblich zu Standardsoftware. Vor allem aber sind sie schneller verfügbar, schneller austauschbar und lassen Entwicklerteams mehr Raum für Entscheidungen in Sachen IT-Sicherheit. Letztlich ermöglichen Microservices in Sachen Skalierbarkeit über mehrere Instanzen hinweg ein schnelleres Patchen von Sicherheitslücken.
Darüber hinaus kann im Falle eines Sicherheitsvorfalls die gesamte Infrastruktur neu aufgesetzt werden und dies ebenfalls sehr schnell. In diesem Zusammenhang wird immer wieder von Docker und Kubernetes gesprochen, wobei letzteres inzwischen die größere Aufmerksamkeit bekommt. Jeder Knoten (Node) im Netzwerk, der in einer Kubernetes-Umgebung läuft, wird zukünftig eine einzigartige Maschinenidentität haben. Derzeit ist dies jedoch nicht der Fall. In diesem Zusammenhang soll nicht über Vor- und Nachteile von Microservices diskutiert werden, wichtig ist allein die Erkenntnis, dass natürlich auch Cyberkriminelle an diesen Microservices interessiert sind und nach Wegen versuchen diese zu kompromittieren.
Maschinenidentitäten bei Microservices
Ein Weg, Microservices zu kompromittieren, ist die Manipulation der Maschinenidentitäten, die dafür sorgen, dass die Services sich gegenseitig erkennen und vertrauen. Maschinenidentitäten sind unter anderem digitale Zertifikate und kryptographische Schlüssel, die für die Kommunikation via SSL, TLS IoT, mobile, Code-Signing, SSH etc. genutzt werden. In Microservices werden vor allem TLS-Zertifikate genutzt, um das Vertrauen zwischen den einzelnen Knoten und Anwendungen herzustellen. Hierzu ein Beispiel: Eine Apache-Anwendung läuft in einem Docker-Container, der wiederum in einem Kubernetes Cluster läuft. Um hier für eine sichere Kommunikation zwischen den Instanzen zu sorgen, braucht es Maschinenidentitäten. Je mehr Microservices in einem Unternehmen zum Einsatz kommen, desto mehr Maschinenidentitäten müssen verwaltet werden.
Das Problem bei dieser neuen Philosophie ist jedoch, dass der Lebenszyklus einer Maschinenidentität stark abnimmt, die Verwaltung dieser Assets also mehr Raum einnimmt und dadurch wichtiger denn je wird. Wer jedoch keinen Überblick hat und nicht weiß, wie viele dieser Identitäten in seinem Unternehmen eingesetzt werden, der kann auch nicht kontrollieren, ob nicht Cyberkriminelle und andere Angreifer sich in die Kommunikation via Man-in-the-Middle-Attacken eingeschlichen haben und mitlesen. Maschinenidentitäten unterscheiden, was gut oder schlecht ist, was zur Infrastruktur des Unternehmens dazu gehört und was nicht.
Der Schwarzmarkt im Darknet für gestohlene Zertifikate und Schlüssel ist in den vergangenen Jahren exponentiell gewachsen und boomt weiter. Darüber hinaus nutzen Angreifer auch immer wieder Sicherheitslücken bei Containern wie im Beispiel Runc. Hier konnte die Sicherheitslücke (CVE-2019-5736) dafür genutzt werden, um die in einem Container gestartete Software ausbrechen zu lassen, was das Konzept hinter den Microservices ad absurdum führt.
Intelligenz gegen Verwaltung
Um Maschinenidentitäten von Microservices effektiv zu verwalten und zu schützen, benötigen Unternehmen vollständige Transparenz über alle verwendeten Maschinenidentitäten in ihren Netzwerken. Niemand kann manuell nachvollziehen, was sich in 10.000 Docker-Containern tut, hierfür braucht es die Maschinenintelligenz. Sie brauchen Informationen über jede Maschinenidentität und müssen diese Informationen effektiv in Maschinengeschwindigkeit und -größe verarbeiten können. Dies gelingt nur mit einer Automatisierung des Maschinenidentitäten-Schutzes; manuelle Lösungen wie Excel-Tabellen werden den Entwicklerteams und den Administratoren bei 10.000 bis 20.000 Docker Containern nicht weiterhelfen – zu schnell werden Microservices verändert und wieder ausgerollt.
Für die Ergebnisse einer Studie (PDF) wurden im abgelaufenen Jahr Umfragen durchgeführt. Unter den weltweit, aber auch in der DACH-Region befragten Unternehmen gaben 96 Prozent der Teilnehmer an, dass ein wirksamer Schutz der Maschinenidentitäten und digitalen Identitäten von Personen langfristig für die Sicherheit und Überlebensfähigkeit ihres Unternehmens entscheidend ist. Allerdings sind 80 Prozent von ihnen noch mit der Bereitstellung dieses Schutzes beschäftigt und arbeiten an Konzepten zur Lösung des Problems. Deshalb überrascht es auch nicht, dass 70 Prozent weniger als die Hälfte der tatsächlich eingesetzten Maschinenidentitäten kennt und verwaltet.
Die Automatisierung ist für Sicherheitsverantwortliche entscheidend, um die dringlichsten Herausforderungen zu bewältigen, denen sich Unternehmen heute bei dem Schutz von Maschinenidentitäten gegenübersehen. Sie müssen alle Maschinenidentitäten ausfindig machen, schnell auf kryptographische Sicherheitsereignisse reagieren und ebenso schnell Ersetzen können.
DevOps-Teams müssen hier zweierlei leisten, sie müssen zum einen eine schnellere aber zum anderen auch eine sichere Zurverfügungstellung gewährleisten. Zum Beispiel, wenn ein Zertifikat oder eine Maschinenidentität gefährdet wird. Verbesserungen an Programmen zum Schutz der Maschinenidentität werden unmittelbare und langfristige Sicherheitsvorteile bringen, indem sie eine schnellere Erkennung und Behebung von Verletzungen ermöglichen und die Gesamtzahl der Verletzungen reduzieren.
Sichtbarkeit durch intelligente Automatisierung
Die Erstellung einer Bestandsaufnahme der Maschinenidentitäten zur Verbesserung der Sichtbarkeit ist ein guter erster Schritt, der die Risikohaltung der Unternehmen bei Maschinenidentitäten sofort verbessern kann. Diese Informationen reichen jedoch nicht aus, wenn nicht die richtigen Personen, Prozesse und Technologien vorhanden sind, um sie zu schützen. Die Automatisierung kann Unternehmen helfen, ihre aktuellen Herausforderungen zu bewältigen, indem sie Maschinenidentitäten schützt und indem sie es Unternehmen ermöglicht, eine schnellere Reaktion auf Sicherheitsbedrohungen durchzuführen. Sicherheitsvorfälle sind unvermeidlich.
„Für Unternehmen gilt es, die Abhängigkeit von speziellen Fähigkeiten zum Schutz der Maschinenidentität aufzuheben. Dies ist eine sehr kritische Angelegenheit, nicht nur für die IT-Sicherheit.“
Kevin Bocek, Venafi
Die größte Herausforderung, die Unternehmen angeben, ist jedoch ihre Unfähigkeit, schnell auf kryptographische Sicherheitsereignisse der Maschinenidentität zu reagieren und Schwachstellen zu ersetzen und beheben zu können. Unternehmen müssen letztlich besser darauf vorbereitet sein, die Risiken dieser Bedrohungen so schnell wie möglich zu minimieren; die Automatisierung ist entscheidend, um Bedrohungen mit Maschinengeschwindigkeit zu identifizieren und darauf zu reagieren. In einem Beispiel bei Github wird diese Problematik bei den Entwicklern von HahsiCorp Vault erläutert.
Fazit
Für Unternehmen gilt es, die Abhängigkeit von speziellen Fähigkeiten zum Schutz der Maschinenidentität aufzuheben. Dies ist eine sehr kritische Angelegenheit, nicht nur für die IT-Sicherheit, sondern auch für den Datenschutz im Zeitalter der EU-DSGVO. Viele Unternehmen stellen fest, dass ihnen die Fähigkeiten fehlen, um den erforderlichen Schutz umzusetzen. Ein wichtiger Faktor für diese Herausforderung ist, dass 50 Prozent der befragten Unternehmen sagen, dass sie nicht alle Maschinenidentitäten in ihren IT-Umgebungen kennen.
Die Automatisierung kann die Anzahl der menschlichen Berührungspunkte reduzieren, die zum Schutz der Maschinenidentitäten in Microservices benötigt werden, und kann Unternehmen helfen, ihre Ressourcen und Fähigkeiten auf bestimmte Bereiche zu konzentrieren, in denen menschliche Interaktionen erforderlich sind.
Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder und entsprechen nicht unbedingt denen von ComputerWeekly.de.