Was bedeutet Cloud Native Security?

Check Point Firmenlogo 2019

Cloud-native Anwendungen werden gezielt für die Bereitstellung und den Betrieb in einer Cloud-Umgebung erstellt. Sie bestehen aus kleinen, unabhängigen Mikroservices wie „serverlosen“ Funktionen und Containern und nutzen Services, die Cloud-Anbieter und Drittpartner über API bereitstellen. Dabei wird die Cloud für automatisierte Stabilität, Skalierung und Wiederherstellung genutzt. Durch die Erstellung von Cloud-nativen Anwendungen können sich Entwicklungsteams auf die Implementierung von Architekturen konzentrieren, die für die Skalierung der Cloud optimiert sind.

Applikationssicherheit ohne Server

Cloud-native Anwendungen haben eine neue, ausgeprägte Struktur, die sich darauf auswirkt, wie Angreifer an diese Anwendungen herangehen, wodurch sich die Bedrohungslandschaft verschiebt. Da die Angreifer ihren Ansatz ändern und sich auf Angriffe der Gen VI zubewegen, müssen Sicherheitsexperten und Entwickler ihre Verteidigung von Cloud-nativen Anwendungen entsprechend anpassen.

Sie müssen mehr Zeit und Ressourcen für diese neuen Bedrohungen aufwenden, um sie für ihr Unternehmen bestmöglich zu verhindern. Die Ressourcen müssen strategisch zugeteilt werden, aber man muss zuerst verstehen, welche Bedrohungen in dieser neuen Bedrohungslandschaft am wahrscheinlichsten sind.

Die verschiedenen Gefahren für Cloud Native Applikationen

Compute-Services in Cloud-nativen Anwendungen sind kurzlebig und haben eine eher kurze Lebensdauer. Dies ist eines von vielen Attributen, die die Sicherheit von Cloud-Nativen Anwendungen inhärent erhöht. Angreifer können nicht ohne weiteres eine langfristige Präsenz in ihrem System erreichen und müssen daher ihre Taktik ändern. Eine daraus resultierende Strategie ist die Groundhog Day-Attacke, bei der ein Angreifer einen viel kürzeren Angriff durchführt, der z.B. nur ein paar Kreditkartennummern stiehlt und dann wiederholt wird. Der Angreifer nutzt die automatische Skalierung der nativen Cloud-Anwendung, um die Anwendung zu umgehen.

Ein anderer Ansatz ist der Upstream-Angriff oder Poisoning the Well. Hier versuchen Angreifer längerfristig in der Anwendung zu bestehen. Cloud-native Anwendungen bestehen in der Regel aus vielen Modulen und Bibliotheken. Eine einzige serverlose Funktion kann Zehntausende von Codezeilen aus verschiedenen Quellen enthalten, die nicht aus der Arbeit ihrer Entwickler stammen. Angreifer arbeiten daran, bösartigen Code in gemeinsame Projekte einzubinden. Dann, nachdem sie die Quelle vergiftet haben, kann der bösartige Code in den Cloud-Anwendungen nach Hause telefonieren, Anweisungen erhalten und Verwüstungen anrichten.

Wie lassen sich Cloud Native Applikationen absichern?

Native Cloud-Anwendungen sind tendenziell schwieriger anzugreifen. Aber als neue Art von Architektur stellen sie neue Sicherheitsherausforderungen dar, und Entwickler müssen handeln, um das Risiko zu mindern. Nachfolgend finden Sie einige bewährte Verfahren zur Sicherung von Cloud-nativen Anwendungen.

Die Fragmentierung Ihrer Anwendung in kleinere, aufrufbare Komponenten und die Verwendung ereignisbasierter Trigger aus verschiedenen Quellen (wie z. B. Speicher, Nachrichtenwarteschlangen und Datenbanken) bedeutet, dass Angreifer mehr Ziele und mehr Angriffsvektoren haben.

Neben der Gewährleistung, dass Web-API- und WAAP-Dienste (Application Protection) für die Anforderungen der nächsten Generation weiterentwickelt werden, bestehen weitere Erfahrungswerte für die native Sicherheit in der Cloud darin, die Perimeter-Sicherheit auch auf Funktionsebene anzuwenden.

Die Möglichkeit, jeder serverlosen Funktion einen eindeutigen Satz von Berechtigungen zuzuweisen, bietet eine hervorragende Möglichkeit, Applikationssicherheit noch weiter zu verbessern. Wenn ein IAM in der Granularität der Funktionen durchgeführt wird, wird IAM zu einem Applikationssicherheits-Tool. Eine Möglichkeit besteht darin minimale Rollen für jede Funktion zu erstellen. Es muss sichergestellt werden, dass jede Funktion mit den kleinsten realisierbaren Privilegien ausgeführt wird, so dass der Schaden durch unbekannte Sicherheitslöcher minimal ist.

Die Funktionen beinhalten oft Abhängigkeiten, die aus npm (Node.js), PyPI (Python), Maven (Java) oder anderen relevanten Bereichen eingezogen werden. Die Sicherung von Anwendungsabhängigkeiten erfordert den Zugriff auf eine gute Datenbank und automatisierte Werkzeuge, einschließlich nativer Orchestrierungswerkzeuge, um die Sicherheit der Anwendung während der Entwicklung zu gewährleisten,-. Die kontinuierliche Ausführung dieser Werkzeuge verhindert, dass neue anfällige Pakete verwendet werden und bei neu aufgedeckten Problemen benachrichtigt werden.

Zwischen Entwicklern, DevOps und Applikationssicherheits-Teams müssen enge Bande gewoben werden. Es empfiehlt sich eine Balance, bei der Entwickler zwar nicht für Sicherheit zuständig sind, aber auch nicht von der Verantwortung entbunden werden – sicheres Coding als Beispiel. Mark Collier, COO der OpenStack Foundation sagte: „Der Wechsel von monolithisch/wasserfallartig zu agil/DevOps ist mehr eine Frage der Prozess- und Organisationspsychologie als eine Frage der einzusetzenden Technologien. Darüber wird schon seit einigen Jahren gesprochen und es wird nicht so schnell verschwinden. Es ist ein großes Problem, das die Unternehmen angehen müssen und es wird Jahre dauern, bis es soweit ist, da es sich um einen Generationswechsel in der Philosophie handelt“. Es ist wichtig, dass die Teams die Lücken frühzeitig überbrücken, auch wenn es gegen das normale Verhalten der Unternehmens-DNA verstößt, da die Cloud-Native einen anderen Ansatz im Sicherheits- und Entwicklungsmanagement von Unternehmen erfordert. Das schafft eine echte Chance für Abteilungen, diese Veränderung zu erleichtern und einen echten Einfluss zu nehmen.

Fazit

Die Verantwortlichen müssen Pipelines erstellen, die es den Entwicklern ermöglichen, mit der Geschwindigkeit von serverlosen Anwendungen zu arbeiten und dennoch Anwendungen auf realistische und sichere Weise bereitzustellen. Dies sind nur einige der vielen Punkte in Bezug auf die Sicherheit, an die man denken muss, wenn man auf native Cloud-Anwendungen und Mikro Services migriert. Jeden Tag gibt es neue Tools, die diesen Übergang optimieren und für mehr Transparenz, Beobachtbarkeit, Sicherheit und Gefahrenabwehr sorgen. Weitere Informationen zum Umgang mit der nativen Sicherheit in der Cloud lassen sich im Cloud Security Solutions Guide nachlesen.