Management und Wissen / Cloud-Security
Will man effektiv gegen Cyberangriffe auf Cloud-native Infrastrukturen vorgehen, muss man deren Resilienz erhöhen und zugehörige Sicherheitskontrollen dynamisieren – stetig, kontinuierlich, ohne Pause, denn schließlich entwickeln auch Cyberkriminelle ihre Angriffsvektoren beständig weiter. Das Security-Chaos-Engineering versucht, an dieser Stelle anzusetzen und eine Sicherheitsbewertung quasi in Echtzeit zu verwirklichen.
Cloud-native Infrastrukturen sind häufig zwar von langer Hand geplant, erweisen sich in der Praxis aber meist als ziemlich unsicher. Zwar gibt es präventiv einsetzbare Lösungen, mit denen sich die Effektivität von Sicherheitskontrollen überprüfen lässt und mit denen man Schwachstellen in Cloud-nativen Infrastrukturen aufspüren kann, doch diese reichen nicht aus: Denn sie sind für statische On-Premises-, nicht jedoch für dynamische Cloud-Infrastrukturen konzipiert. Gerade diese Dynamik aber muss berücksichtigt werden! Denn wenn sich eine Cloud-native Infrastruktur nach einer Überprüfung durch Sicherheitskontrollen weiterentwickelt, büßen die Ergebnisse dieser Prüfung an Wert ein oder verlieren ihn gleich ganz. Ein relativ neuer Ansatz verspricht hier Abhilfe: Security-Chaos-Engineering. Diese Methode ermöglicht eine objektive Bewertung der eigenen Sicherheitskontrollen – quasi in Echtzeit.
Als Haupteinfallstore gelten auch in Cloud-nativen Infrastrukturen Fehlkonfigurationen, Schwachstellen und schwache Zugangskontrollmechanismen – sowie teilweise oder sogar gänzlich falsch aufgestellte und ausgerichtete Sicherheitskontrollen. Cloud-native Infrastrukturen sind in aller Regel überaus umfangreich, komplex und dynamisch – entsprechend schwierig gestalten sich die Konzeption, Implementierung und Nachjustierung einer wirklich umfassenden Sicherheitsarchitektur. Vorausschauende Planungen, klassische Simulationen und Tests helfen nur bedingt: Zu fluide sind Cloud-Infrastrukturen, als dass derart statische Lösungen bei ihnen effektiv greifen könnten. Erschwerend kommt hinzu, dass Cloud-native Systeme – mit wachsendem Umfang und zunehmender Komplexität – dazu neigen, zu einem Schmelztiegel für sogenanntes Dark Debt zu werden.
Bei Dark Debt handelt es sich um Schwachstellen, die erst mit einer gewissen Komplexität, also nach Zunahme des Zusammenspiels verschiedener Hard-, Firm- und Software auftreten – vorrangig passiert das in Cloud-nativen Infrastrukturen. Da deren IT-Assets häufig unterschiedlich alt sind, während ihrer Entwicklung also möglicherweise abweichende Vorgaben und Richtlinien galten, harmonieren diese längst nicht immer miteinander. So können bestimmte Interaktionen unvorhergesehene Reaktionen – bis hin zu einem Totalausfall der gesamten Infrastruktur – nach sich ziehen.
Sich hiergegen zu schützen und die Verfügbarkeit der Cloud-nativen Infrastruktur sicherzustellen, ist schwer: Denn bis zum Eintreten einer Reaktion bleibt Dark Debt unsichtbar. Es kann auf vier Ebenen auftreten: auf der Infrastruktur-, Plattform-, Anwendungs- sowie der Personen-, Praktiken- und Prozess-Ebene. Um die Verfügbarkeit einer Infrastruktur effektiv sicherzustellen, sind deshalb alle vier Ebenen kontinuierlich und umfassend zu überwachen.
Chaos-Engineering hilft dabei, Dark Debt aufzuspüren, bevor es sich zu einem kritischen Problem für Cloud-native Infrastrukturen auswächst. Anwender können mithilfe dieser Methode effektiv ermitteln, ob und wo in ihrer Infrastruktur, ihren Plattformen, ihren Anwendungen, bei Personen, Richtlinien und Praktiken etwaige Dark-Debt-Schwachstellen lauern – und diese beheben, bevor sie das Gesamtgefüge gefährden. Hierzu werden in einer Simulation der Infrastruktur zuvor definierte realistische Fehlerszenarien durchgespielt, um zu ermitteln, ob das System ihnen standhält. Traditionell erfolgt Chaos-Engineering manuell durch Teams, die von einem Chaos-Engineer unterstützt und angeleitet wurden. Eine manuelle Umsetzung ist jedoch mit erheblichem Arbeitsaufwand verbunden, was Frequenz, Art und Umfang der Verfügbarkeitstests stark einschränkt.
Mittlerweile steht allerdings auch eine ganze Reihe moderner Chaos-Engineering-Lösungen als Software as a Service (SaaS) bereit, die es Anwendern ermöglicht, solche Experimente automatisiert ablaufen zu lassen. Der große Vorteil: In puncto Komplexität und Umfang sind sie damit praktisch unbegrenzt skalierbar. Sie lassen sich auf allen Ebenen der Infrastruktur (Anwendungen, Cloud-Umgebungen, Kubernetes- Clustern usw.) in Echtzeit umsetzen. Das ganze soziotechnologische System kann so in den Blick genommen werden: Dark Debt lässt sich effektiv und effizient reduzieren, Downtime minimieren und die Verfügbarkeit der gesamten Infrastruktur optimieren. Verfügbarkeits- und Leistungsprobleme – ob nun natürlich oder künstlich, zum Beispiel durch menschliches Fehlverhalten, herbeigeführt – können so in Quantität wie Qualität deutlich zurückgefahren werden.
Um vollumfänglich für Informationssicherheit in der Cloud zu sorgen, genügt es natürlich nicht, allein die Verfügbarkeit zu gewährleisten – auch Integrität und Vertraulichkeit sind sicherzustellen. Und genau hier kommt nun Security-Chaos-Engineering (SCE) ins Spiel: eine Methode zur Analyse der Wirksamkeit bestehender Sicherheitskontrollen, die auf dem Prinzip des Chaos-Engineering beruht.
Durch proaktives Experimentieren mit geplanten, künstlich herbeigeführten Angriffen lässt sich mit SCE das reale Verhalten der Sicherheitskontrollen objektiv dahin gehend bewerten, ob sie einen Angriff, wie erhofft, abwehren können – oder eben nicht. Die Reaktion der Sicherheitskontrollen wird beobachtet, analysiert und ausgewertet. Auf Basis dieser Auswertung lassen sich dann Empfehlungen aussprechen und Änderungen an den Einstellungen der Sicherheitskontrollen vornehmen.
Das Besondere daran: Ein Angriff wird als Hypothese formuliert. Deren Überprüfung erfolgt dann durch das Sammeln von Beweisen – die Reaktion der Kontrollen. Anders als bei manchen anderen Analyse- oder Bewertungsmethoden handelt es sich deshalb hier um einen objektiven, faktenbasierten Analyseprozess – und nicht um bloße Vermutungen und subjektive Annahmen.
Mit SCE lassen sich Angriffstypen und -szenarien, zum Beispiel ein Ransomware-, Unauthorized- Access-to-AWS-Lambda-Functionsoder Manipulation-of-AWS-Security- Groups-Angriffe, in einem Experiment, das der Infrastruktur in Echtzeit nachempfunden ist, realistisch durchspielen. Auf diesem Wege kann man nicht nur effektiv und effizient vermutete Lücken in den Sicherheitskontrollen aufspüren, sondern auch solche, an die das IT-Sicherheitsteam vielleicht noch gar nicht gedacht hat. Von Sicherheitskontrollen über die Anomalie-Aufspürung, Vorfallsreaktion und Systemwiederherstellung bis hin zur Einhaltung von Compliance- Vorgaben lassen sich dabei alle Sicherheitslösungen effektiv und effizient evaluieren, im Hinblick auf ihre Effektivität verifizieren und dann – bei Bedarf – optimieren.
Traditionell setzen Red, Blue und Purple Teams der IT-Sicherheit zum Aufspüren von Sicherheitslücken und Schwachstellen auf Methoden wie Fuzzing und Penetration- Testing. Doch solche Methoden erfordern in der Umsetzung viel manuellen Arbeitsaufwand und Zeit, was eine umfassende Analyse der Sicherheitskontrollen erschwert, eine kontinuierliche Prüfung sogar praktisch unmöglich macht. Hinzu kommt: Fuzzing kann lediglich Anwendungen testen und dies auch nur in Entwicklungs-, nicht aber in Produktionsumgebungen. Mit Penetrationstests lässt sich zwar schon deutlich mehr erreichen, doch werden diese in aller Regel als Black- Box-Test durchgeführt: Die Angriffe erfolgen so, als ob die Angreifer nur sehr wenig oder gar nichts über die zu attackierende Infrastruktur und ihre Sicherheitskontrollen wüssten.
Chaos-Engineering lässt sich hingegen in allen Umgebungen realisieren, muss nicht auf einzelne Anwendungen beschränkt bleiben und kann als White-Box-Test durchgeführt werden. Das Experiment verläuft also so, als ob beim Angreifer bereits ein tieferes Verständnis der Infrastruktur und Sicherheitskontrollen des Opfers vorhanden wäre. Tabelle 1 führt weitere Vergleiche der verschiedenen Methoden auf.
Von den Vorzügen des SCE können neben IT-Sicherheits-Teams auch IT-Sicherheits-Beauftragte profitieren – denn SCE
Um SCE-Experimente effektiv durchzuführen, gibt es (wie so oft) zwei Möglichkeiten: Entweder baut man ein internes Expertenteam auf oder nimmt Dienste eines externen Plattform-Anbieters in Anspruch.
Um mittels SCE effektiv und effizient Schwachstellen und Sicherheitslücken aufzudecken und zu beheben, sollte eine Umsetzung stets in den folgenden vier Schritten erfolgen (vgl. Abb. 2):
Des Weiteren sollte man bei der Umsetzung SCE-Experimente stets primär in einer Entwicklungsumgebung ausführen und nur bei Bedarf, um noch aussagekräftigere Werte zu erzielen, in die Produktionsumgebung zu wechseln, um das Risiko etwaiger Ausfallzeiten zu minimieren. Außerdem sollten alle Beteiligten im Voraus über die Tests informiert werden, um böse Überraschungen zu vermeiden. Die Experimente sollten so häufig wie möglich wiederholt werden, da jede Änderung in der Cloud die vorherige Sicherheitsanalyse potenziell ungültig macht oder ihre Aussagekraft doch zumindest mindert. Natürlich sollten festgestellte Sicherheitsprobleme auch nach jedem Versuch behoben werden.
Eine umfassende Informationssicherheit für Cloud-native Infrastrukturen, die sowohl Entwicklungs- als auch Produktionsumgebungen abdeckt, kann von der Security- Chaos-Engineering-Methode erheblich profitieren. Die Methode erscheint teils sogar alternativlos, denn anders wird sich eine effektive Evaluierung der Sicherheitskontrollen einer komplexen Cloud-nativen Infrastruktur kaum noch verwirklichen lassen – schon gar nicht in Echtzeit.
Mittels Security-Chaos-Engineering lässt sich objektiv prüfen, ob und wie wirksam bestehende Sicherheitstools Attacken gegen die Vertraulichkeit, Integrität und Verfügbarkeit einer Cloud-nativen Infrastruktur verhindern, aufdecken und beheben können. Ähnlich wie das Chaos-Engineering die Widerstandsfähigkeit eines Systems gegen Verfügbarkeitsverletzungen erhöht, optimiert Security-Chaos-Engineering dessen Resilienz hinsichtlich Verletzungen der Integrität und Vertraulichkeit (und damit auch der Verfügbarkeit). Die Analyseergebnisse liefern einen Pool aus objektivem Wissen über die realen Fähigkeiten der eigenen Sicherheitsarchitektur, der sich anschließend für eine proaktive und iterative Sicherheitshärtung nutzen lässt.