SCE Tools – Implementierung von Security Chaos Engineering 4
SCE-Tools- Implementierung von Security Chaos Engineering
Es gibt zahlreiche Tools für Chaos Engineering wie Gremlin, die Chaos Automation Platform oder Chaos Monkey. Diese SCE-Tools sind jedoch für Security Chaos Engineering (SCE) nur von begrenztem Nutzen, da Unternehmen nicht alle relevanten Experimenttypen einbeziehen können. Security Chaos Engineering ist ein relativ neuer Ansatz. Daher sind noch nicht viele Tools für die Unternehmensimplementierung verfügbar. In diesem Blogbeitrag diskutieren wir kurz vier potenzielle Tools – ChaoSlingr, Kirvis, CloudStrike und AWS Fault Injection Simulator (AWS FIS) – für SCE.
ChaoSlingr war das erste Open-Source-Tool für SCE, das auf GitHub verfügbar war.
Die UnitedHealth Group unter der Leitung von Aaron Rinehart hat dieses Tool für Amazon Web Services (AWS) entwickelt.
Eine Anpassung an die Anforderungen jeder Organisation ist möglich. Das SCE-Tool basiert auf Python-Code und Lambda-Funktionen. Es verwendet ein Opt-in-Modell, d. h. Tester müssen die Assets für das Experiment aktiv auswählen.
Jedes Experiment besteht aus vier Hauptkomponenten.
Generatr identifiziert die Zielumgebung und wählt ein zufälliges Ziel mit einem Opt-in-Tag aus. Slingr führt das Experiment aus, indem es die konfigurierte Änderung anwendet. Trackr verfolgt die während des Experiments vorgenommenen Änderungen und sendet Benachrichtigungen darüber. Die Dokumentationsdatei dokumentiert das Experiment unter Berücksichtigung der Eingabe- und Ausgabeparameter für Lambda-Funktionen. Darüber hinaus bietet das Tool Beispielcode für ein Port-Änderungsexperiment. Wartung und Aktualisierung des Tools erfolgen nicht mehr.
Aaron Rinehart hat zusammen mit Matas Kulkovas ein weiteres Tool namens Kirvis entwickelt.
Es ist ebenfalls ein Open-Source-SCE-Tool, das auf GitHub verfügbar gemacht wird. Sie haben Kirvis speziell für Kubernetes entwickelt. Jedes Experiment ist wie eine Anwendung aufgebaut, die in einen Kubernetes-Cluster eingefügt werden kann. Die verwendete Sprache ist Go. Rinehart und Kulkovas haben erstmals auf der KubeCon + CloudNativeCon im Juni 2022 über ihr Tool gesprochen. Daher sind noch nicht viele Informationen verfügbar.
Kennedy Torkura et al. haben ein weiteres SCE-Tool namens CloudStrike entwickelt.
Die Verwendung ist sowohl für AWS als auch für die Google Cloud Platform (GCP) anwendbar. Alle Komponenten sind Javascript und basieren nicht auf bestimmten Funktionen. Die folgende Abbildung zeigt die High-Level-Architektur von CloudStrike.
Es besteht aus verschiedenen Komponenten:
Der Chaos-Controller koordiniert die Experimente. Er empfängt Anfragen mit den erforderlichen Parametern und übergibt sie an den Chaos-Manager. Der Chaos-Manager verwaltet die Angriffe. Er wählt eine Teilmenge von Assets basierend auf den gewünschten Angriffsintensitätsregeln aus der Fault Engine aus. Die Fault Engine enthält das gesamte Wissen über Cloud-Compliance, Best Practices usw. Außerdem übersetzt sie die Informationen in umsetzbaren Code. Der Fault Injector implementiert die vom Chaos Manager zusammengestellten Experimente. Der Chaos Monitor überwacht den Fortschritt der Experimente und ist für die Wiederherstellung des Zielsystems nach Beendigung und Abschluss des Experiments verantwortlich. Schließlich analysiert der Chaos Analyzer die gefundenen Schwachstellen und generiert Berichte. Er leitet die Ergebnisse auch an den Chaos Controller weiter, um die Behebung einzuleiten. CloudStrike ist noch unveröffentlicht.
Zusätzlich zu all diesen externen Tools hat AWS selbst einen Security Chaos Engineering-Dienst veröffentlicht, den AWS Fault Injection Simulator.
AWS FIS ist ein vollständig verwalteter Dienst, der Chaos-Experimente in AWS-Systeme einfügt und darüber berichtet. Die folgende Abbildung veranschaulicht, wie AWS FIS funktioniert.
AWS hat einen Leitfaden veröffentlicht, der alle relevanten Themen für die effiziente Implementierung dieses Dienstes definiert:
Er enthält einen Plan für Experimente, Anweisungen, Experimentvorlagen, eine Beschreibung der Durchführung von Experimenten und Überwachungsinformationen. Die Experimentvorlage enthält alle Aktionen, Ziele und Stoppbedingungen, die für das jeweilige Experiment und seine Durchführung relevant sind. Während das Experiment läuft, kann die Organisation seinen Status verfolgen. AWS FIS kann jedoch nicht jede einzelne Ressource testen. Es konzentriert sich derzeit auf Experimente auf Amazon EC2, ECS, EKS und RDS.
Jedes Tool hat seine eigenen Vor- und Nachteile.
Kirvis bietet eine bislang unbehandelte SCE-Lösung für Kurbernetes. Allerdings konzentriert es sich auch nur auf diesen Bereich und es sind noch nicht viele Informationen verfügbar. CloudStrike ist breit aufgestellt. Es bedient AWS sowie GCP und verlässt sich nicht auf spezielle Funktionen im Hintergrund. Es wurde jedoch noch nicht veröffentlicht. ChaoSlingr bietet eine vollständige Beschreibung inklusive Code für ein Experimentierbeispiel und bietet dem Benutzer viele Anleitungen. Es wird jedoch nicht mehr aktualisiert. AWS FIS bietet einen vollständig verwalteten Service, mit dem Unternehmen problemlos erste Experimente durchführen können. Es enthält eine detaillierte Beschreibung jeder Komponente, Tutorials für erste Experimente und ist einfach zu verwenden. Allerdings konzentriert sich AWS FIS derzeit nur auf bestimmte Ressourcen der AWS-Umgebung. Jedes Unternehmen muss individuell entscheiden, welches Tool für die eigene Organisation am besten geeignet ist.
In der Zusammenfassung der SCE-Reihe haben wir zunächst die Relevanz neuer Sicherheitskonzepte diskutiert. Die zunehmende Komplexität in verteilten Systemen – insbesondere Clouds – führt zu einem Mangel an menschlichem Systemverständnis und verändert die Anforderungen an die Sicherheit. Als nächstes haben wir SCE als mögliche Lösung diskutiert.
SCE zielt auf die proaktive Erkennung von Schwachstellen durch automatisierte Experimente ab und deckt Probleme auf, die sonst unentdeckt geblieben wären.
Die Unterschiede zwischen SCE und traditionellen Ansätzen sind vielfältig, aber die wichtigsten sind die Kontinuität, Automatisierung und die Tatsache, dass der Fokus darauf liegt, neue Dinge über das System zu lernen. Im letzten Beitrag haben wir die SCE-Tools sowie ihre Vor- und Nachteile für eine Implementierung von SCE besprochen. Alles in allem ist SCE ein komplexer, aber vielversprechender Ansatz zur Bewältigung sich ändernder Sicherheitsanforderungen, die für die Cloud-Sicherheit in naher Zukunft von großer Bedeutung sein werden.
Wenn Sie an weiteren Einzelheiten interessiert sind, wie A&B-Sicherheitsexperten dazu beitragen können, eine Security Chaos Engineering-Kultur in Ihrem Unternehmen zu etablieren, werfen Sie einen Blick auf unser SCE-Programm oder kontaktieren Sie uns unter Alice&Bob.Company!
Verwendete Ressourcen und interessante Inhalte zu diesem Thema:
- Rinehart, Aaron, and Kelly Shortridge – Security Chaos Engineering (2020)
- https://github.com/Optum/ChaoSlingr/blob/master/README.md (last accessed 15.06.2022)
- https://www.youtube.com/watch?v=wLlME4Ve1go (last accessed 15.06.2022)
- https://www.youtube.com/watch?v=BLRb-E0G5zk (last accessed 15.06.2022)
- https://github.com/Optum/ChaoSlingr (last accessed 15.06.2022)
- https://github.com/nilement/kirvis (last accessed 15.06.2022)
- Torkura, Kennedy A., et al. “Cloudstrike: Chaos engineering for security and resiliency in cloud infrastructure.” IEEE Access 8 (2020): 123044-123060.
- Torkura, Kennedy A., et al. “Security chaos engineering for cloud services: Work in progress.” 2019 IEEE 18th International Symposium on Network Computing and Applications (NCA). IEEE, 2019
- https://www.youtube.com/watch?v=9uzexriaXj4 (last accessed 15.06.2022)
- CAST AI (2022) (https://cast.ai/blog/chaos-engineering-and-kirvis-for-kubernetes-at-kubecon-europe-2022/ last accessed 15.06.2022)
- Amazon Web Services (2022) (https://docs.aws.amazon.com/fis/latest/userguide/fis-guide.pdf#what-is last accessed 15.06.2022)
- Amazon Web Services (https://aws.amazon.com/fis/?nc1=h_ls last accessed 15.6.2022)