Über den Wolken...

Mehr Sicherheit im Cloud-Zeitalter: Warum Cloud-native Anwendungen auch ein Cloud-natives Sicherheitskonzept brauchen
Keine Kommentare

Die Zukunft gehört der Cloud, so viel ist sicher: Die Vorteile liegen auf der Hand und sind Thema in allen möglichen technischen und nicht-technischen Publikationen. Ein Aspekt, der dabei allerdings öfter ausgeblendet zu werden scheint, ist die Sicherheit. Cloud-native Lösungen sind schön und gut, bergen aber Risiken. Welche das sind und wie man ihnen begegnet, erklärt Liran Tal in diesem Artikel.

Ein Cloud-nativer Ansatz bringt viele Vorteile für die Infrastruktur und Anwendungsentwicklung, etwa einfachere und schnellere Prozesse. Viele herkömmliche Aufgaben, wie die Verwaltung und Bereitstellung von Serverarchitekturen, fallen ebenfalls weg. Dafür können viele Prozesse automatisiert werden, indem softwaregesteuerte Infrastrukturmodelle genutzt werden. Und die entsprechenden Teams können belastbare und sichere Anwendungen in großem Umfang bereitstellen. Gleichzeitig lassen sich auch weitere Technologien integrieren, so dass Anwendungen schneller entwickelt und eingesetzt werden können. Dementsprechend gehört die Zukunft der Cloud: Laut Deloitte wird das Budget für Cloud-Anwendungen bis 2025 weltweit siebenmal schneller wachsen, als alle IT-Kosten insgesamt.

Die wachsende Automatisierung bei Cloud-nativen Anwendungen, etwa bei automatisierten Tests und bei der automatisierten Bereitstellung und Skalierung der Infrastruktur, ermöglicht ein viel schnelleres Arbeitstempo. Dementsprechend setzen viele größere Unternehmen pro Tag tausendfach Anwendungen ein. Allerdings bringt dies auch einige grundlegende Änderungen mit sich, besonders im Betrieb und bei der Sicherheit. Was früher als separate Infrastruktur betrachtet wurde, ist jetzt Teil der Anwendung.

Ein neues Sicherheitskonzept ist nötig

Diese neue Situation erfordert auch neue Tools und eine neue Herangehensweise an das Thema Sicherheit. Die relevanten Teams müssen die Anwendungssicherheit und den Betrieb von Grund auf neu überdenken. Herkömmliche Sicherheitstools und -prozesse wurden für eine traditionelle Software-Hosting-Infrastruktur entwickelt und verfügen nicht über den Funktionsumfang, der für moderne Cloud-Anwendungen erforderlich ist.

Ein Grund dafür ist, dass viele der Technologien, die bei moderner Cloud-Software verwendet werden, noch gar nicht auf dem Markt waren, als einige der gängigen Sicherheitstools entwickelt wurden. Diese Technologien ermöglichen jedoch eine viel größere Bandbreite. Zum Beispiel enthält das moderne DevOps-Toolset auch Infrastructure-as-Code (IaC)-Tools wie etwa Terraform und Ansible. Mit Hilfe dieser Tools können die Teams Infrastrukturen schnell und in großem Umfang bereitstellen. Daher ist es besonders wichtig, dass solche Tools hohen Sicherheitsanforderungen genügen. Da sie jedoch in der Regel eine domänenspezifische Sprache mit einzigartigen Merkmalen und Funktionen verwenden, sind herkömmliche Tests mit Tools etwa für die statische Analyse oft unzureichend und möglicherweise unwirksam. Um einen IaC-Code zu überprüfen und zu konfigurieren, benötigen Entwickler deshalb geeignete Prozesse und moderne Lösungen, die auf dem neuesten Stand der Software- und Infrastrukturtechnik sind.

Neben den IaC-Tools gibt es jedoch noch weitere Herausforderungen bei der Absicherung von Cloud-nativen Anwendungen. Viele Aufgaben, die früher zur IT- und Betriebssicherheit gehörten, sind jetzt Teil der Anwendungssicherheit. Deshalb sind hier die Entwickler gefragt: Sie sind von Anfang an auch für die Sicherheit von Cloud-nativen Anwendungen verantwortlich.

Testen von Anfang an

Um Cloud-native Anwendungen sicher zu gestalten, braucht es einen ganzheitlichen Ansatz über den gesamten Entwicklungszyklus hinweg. Dazu gehört beispielsweise, dass die entsprechenden Teams Schwachstellen während des gesamten Entwicklungsprozesses identifizieren und beseitigen – von der ersten Codezeile bis zur Live-Produktionsumgebung.

Wenn Entwickler mit dem Programmieren von Anwendungen und Infrastrukturen beginnen, muss gleichzeitig auch der Code getestet werden. Wie bereits erwähnt, sind herkömmliche Test-Methoden dafür nicht mehr ausreichend. Für den Code von Cloud-nativen Anwendungen sind viele weitere Tests erforderlich. Statische und dynamische Anwendungstests, dynamische, interaktive Anwendungssicherheitstests und Sicherheitstests für mobile Anwendungen sind hier nur einige Beispiele.

Auf Entwickler kommen also viele neue Aufgaben zu – und dafür brauchen sie Unterstützung. Eine solche Unterstützung bieten spezielle Sicherheitsplattformen. Diese können nahtlos in bestehende Prozesse integriert werden, und durch solche Plattformen erhalten Entwickler wertvolle Einblicke und Anleitungen für konkrete Aktionen. Auf der Plattform von Snyk werden etwa Informationen direkt in IDEs dargestellt, wie etwa zu Eclipse- und JetBrains-Lösungen. Darüber hinaus ermöglicht die Snyk-Plattform lokale Tests durch CLI-Tools.

Mehr Sicherheit über den kompletten Entwicklungszyklus hinweg

Ein Cloud-natives Sicherheits-Toolset muss die lokale Entwicklungsumgebung abdecken, außerdem sollte es in jede Phase des Software-Lebenszyklus eingebettet werden können.

Moderne, Cloud-native Sicherheitssysteme müssen darüber hinaus Quellcode-Managementsysteme abdecken – und zwar so, dass Entwickler damit gut arbeiten können. Sie sollten beispielsweise mit GitHub und Bitbucket integrierbar sein, und die Plattform sollte nicht nur den Code in einem Repository scannen, sondern auch Schwachstellen mit Hilfe der Sicherheitsfunktionen des Repositorys aufdecken. Auf diese Weise können Entwickler reibungslos arbeiten, ohne dass sie in ihren Abläufen unterbrochen werden.

Moderne Cloud-native Anwendungen sind außerdem meist in Container eingebettet, um so eine schnellere Entwicklung zu ermöglichen und Arbeitsabläufe zu automatisieren. Container ermöglichen außerdem eine gewisse Hersteller-Unabhängigkeit. Und Container enthalten meist Open-Source-Anwendungen: Diese Komponenten sind überwiegend Linux-basiert und dienen der Ausführung von Anwendungen, die mit Open-Source-Programmiersprachen und -Frameworks erstellt wurden. Dabei kann Linux durchaus anfällig sein: Hier werden etwa 50 Mal mehr Schwachstellen gemeldet als in Open-Source-Sprachen-Frameworks. Hinzu kommt, dass Entwickler in der Regel keine Betriebssystem-Betreuer sind – und dies auch gar nicht sein wollen. Container-Images, die beispielsweise mit Docker erstellt werden, und ähnliche Anwendungen müssen deshalb auf bestehende und neu auftretende Schwachstellen hin überwacht werden. Und diese Überwachung sollte nicht nur Probleme erkennen, sondern sie auch beseitigen. Für diese Zwecke ist die Lösung „Snyk Container“ sehr gut geeignet.

Ein Cloud-natives Sicherheitsmanagement spielt auch in Live-Produktionsumgebungen eine große Rolle. Früher basierten On-Premises-Infrastrukturen oft auf dem Konzept eines logischen Netzwerkperimeters. Dieses schützte interne Ressourcen vor unautorisiertem Datenverkehr, so dass innerhalb des Netzwerks keine so strengen Sicherheitsanforderungen nötig waren. In der Cloud ist ein solches Konzept jedoch nicht sehr zielführend. Fast jede Ressource, die von einem Cloud-Anbietern gehostet wird, kann mit ein paar Zeilen Konfiguration oder einer UI-Überarbeitung öffentlich zugänglich gemacht werden. Und Daten, die sich theoretisch in derselben Domäne befinden, werden in Wirklichkeit oft über mehrere Netzwerke und physische Standorte geschickt, wenn sie verwendet werden.

Für Cloud-basierte Komponenten und Dienste sollte deshalb ein „Zero-Trust“-Modell angewendet werden, da diese Komponenten potenzielle Schwachstellen sein können. Unabhängig vom Netzwerkstandort sollte in einem Cloud-basierten System die Authentifizierung zwischen allen Knoten und Ressourcen erfolgen. Auch das unterscheidet sich stark von den herkömmlichen Ansätzen und erfordert ein Toolset, das für das Cloud-Zeitalter entwickelt wurde.

Auch wenn sich Cloud Computing ständig verändert und weiterentwickelt, gibt es doch einige grundsätzliche Charakteristiken. Dazu gehören auf jeden Fall die Geschwindigkeit und Skalierbarkeit in der Cloud. Unternehmen sollten jedoch nicht einfach bestehende Infrastrukturen und Abläufe in die Cloud migrieren. Auf diese Weise können sie die relevanten Vorteile von Cloud-native Anwendungen nicht nutzen. Und noch wichtiger: Dadurch werden auch veraltete Sicherheitsmodelle und -tools migriert. Genauso, wie auch Anwendungen neugestaltet und für die Bedingungen in der Cloud optimiert werden, müssen aber auch Sicherheitsverfahren und Tools angepasst werden.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -