momius - Fotolia

IT-Sicherheit in Serverless-Umgebungen gewährleisten

Die Anforderungen an Serverless Applications sind höher als an traditionelle Anwendungen. So muss etwa sichergestellt werden, dass sie vor Injection-Angriffen geschützt sind.

Mittlerweile ist fast jedem bekannt, was die Besonderheiten der Cloud ausmacht. Dieses Wissen führt aber auch dazu, dass es manchen Menschen schwerfällt, sich daran zu erinnern, was das ursprüngliche Versprechen von Cloud Computing eigentlich war.

Die Cloud sollte Unternehmen in die Lage versetzen, ihre Aufmerksamkeit von Dingen abzulenken, die keinen Gewinn versprechen und sich stattdessen auf Bereiche zu konzentrieren, die einen direkten monetären Erfolg in Aussicht stellen. Insbesondere sollte die Cloud Unternehmen ermöglichen, sich nicht mehr selbst mit der Infrastruktur und dem Betrieb von Rechenzentren beschäftigen zu müssen, die sie als Grundlage für ihre Geschäftsanwendungen benötigen. Stattdessen sollten sie sich darauf konzentrieren, bessere Anwendungen zu entwickeln und bereitzustellen, die einen höheren Mehrwert für ihr Unternehmen bieten.

Aber nur weil sich etwas in der Cloud befindet, heißt das noch lange nicht, dass alle technischen Probleme wie von selbst verschwinden und sich niemand mehr um die Wartung kümmern muss. Nehmen wir beispielsweise Infrastructure as a Service (IaaS). Auch hier ist es nötig, dass man sich weiterhin mit dem Einspielen von Patches beschäftigt, virtuelle Netzwerkpfade einrichtet und grundlegende Sicherheitsmaßnahmen trifft. Dazu kommen zahllose andere zu erledigende Punkte, die in ihrer Komplexität nur wenig hinter den früheren Aufgaben zurückstehen, als sich viele Unternehmen noch selbst um ihr eigenes Rechenzentrum kümmern mussten.

Der neue Trend zu Serverless Applications verspricht nun aber, das ursprüngliche Versprechen der Cloud doch noch zu erfüllen. Insbesondere ist es mit Serverless Applications nicht mehr nötig, sich selbst um die zugrundeliegende Infrastruktur zu kümmern. Diese Aufgabe wird an andere übertragen. Dadurch entsteht Freiraum, der für die Entwicklung besserer Anwendungen genutzt werden kann. Aus diesen Gründen ist die Serverless-Technik auch so überzeugend – und gleichzeitig so mächtig.

Wenn es aber darum geht, Serverless Applications abzusichern, unterscheidet sich die Vorgehensweise teilweise von den Methoden und Prozessen, die Unternehmen bislang genutzt haben. Außerdem umfassen Serverless Applications Bereiche, in denen viele IT-Abteilungen in der Vergangenheit nur wenige Erfahrungen sammeln konnten. Das bedeutet, dass diese sich vor dem Einsatz einer Serverless Application grundlegende Gedanken über ihre Absicherung machen sollten.

Was bedeutet Serverless?

Serverless bedeutet nicht, dass für diese Technik keine Server eingesetzt werden. Es gibt sie sehr wohl. Der Unterschied ist, dass die Nutzer beziehungsweise die Programmierer, die eine Geschäftsanwendung entwickeln sollen, sich nicht mehr mit den Servern beschäftigen müssen. Es ist für sie auch nicht weiter wichtig, was auf den unteren Betriebssystemebenen geschieht und wie die Server verwaltet beziehungsweise geschützt werden müssen. Stattdessen kann der Entwickler auf standardisierte APIs (Application Programming Interface) zurückgreifen, damit er genau die Funktionen nutzen kann, die er für seine Arbeit benötigt. Um besondere Aspekte wie Skalierbarkeit und Fragen, wenn es um spezifische Hardware oder genutzte Middlewaredienste geht, kümmert sich dagegen die zugrundeliegende Umgebung nahtlos und transparent.

In Umgebungen wie Google Cloud Functions oder Amazon Web Services Lambda lassen sich bestimmte Funktionen durch so genannte Events aktivieren. Funktionen, die von Anwendungen genutzt werden, lassen sich ebenfalls durch diese Events auslösen, so dass kleine, genau steuerbare Wirkungen erreicht werden können. Die Umgebung kümmert sich also um die Bereitstellung der benötigten Funktionen und stellt zugleich sicher, dass sie nach oben skaliert werden können, wenn es die Situation erfordert und der Bedarf steigt. Der Vorteil dieser Vorgehensweise ist, sogar noch mehr als in vielen Cloud-Umgebungen, dass der Kunde nur wirklich das bezahlt, was er auch nutzt.

Wie unterscheidet sich das von einer regulären PaaS-Lösung (Platform as a Service), die nicht Serverless ist? Die einfache Antwort ist, dass sie sich von einem philosophischen Standpunkt aus betrachtet sehr ähnlich sind. Aber in einer PaaS-Umgebung gibt es noch Reste der zugrundeliegenden Technik, mit der sich Unternehmen stärker als in reinen Serverless-Umgebungen beschäftigen müssen.

So ist es in vielen PaaS-Situationen zum Beispiel nötig, gezielt Ressourcen zuzuweisen, so dass der Aufwand für die Skalierung der genutzten Dienste höher ist. Auch kommt es vor, dass für die Konfiguration bestimmter Dienste wie Datenbanken und Mail in PaaS-Umgebungen Kenntnisse der genutzten Implementation erforderlich sind. Aus diesem Blickwinkel betrachtet, lässt sich das Serverless-Konzept auch als PaaS++ bezeichnen.

Absicherung von Serverless Applications

Der Schutz von Serverless Applications unterscheidet sich ein wenig von traditionell und monolithisch aufgebauten Anwendungen und auch von anderen Cloud-Umgebungen.

Der wichtigste Unterschied ist, dass Sie praktisch keine Möglichkeit haben, um auf Schichten unterhalb von Layer 7 zuzugreifen. Das bedeutet, dass es zum Beispiel nicht möglich ist, eine virtuelle Appliance zur Intrusion Detection im virtuellen Netzwerk einzusetzen oder Anwendungen zur Suche nach Malware im zugrunde liegenden Betriebssystem zu installieren. Es ist deswegen wichtig, dass etwas andere Bedrohungsmodell gründlich zu verstehen, das mit Serverless Applications einhergeht.

So müssen Unternehmen etwa sicherstellen, dass der Code robust und weitgehend fehlerfrei ist, den sie entwickeln. Das ist in vielen Fällen ein schwieriger Punkt, weil Application Security ein Bereich ist, der nicht wenigen Firmen jetzt schon schwerfällt.

Insbesondere so genannte Injection-Angriffe gehören zu den größten Gefahren, wenn es um die Absicherung von Serverless Applications geht. Programmierfehler wird es natürlich immer geben. Die Fähigkeit zur Absicherung von Serverless Applications hängt aber stark mit der Fähigkeit zusammen, die etwas andere Logik einer Serverless-Architektur zu verstehen sowie mögliche Risiken rechtzeitig zu erkennen und zu reduzieren. Auch muss die Qualität des entwickelten Codes hochgehalten und die Umgebung kontinuierlich überwacht werden. Das Ganze ist keine Raketentechnik, erfordert aber einiges an Disziplin.

Threat Modeling - Bedrohungen analysieren

Eine gute Möglichkeit, um sofort positive Ergebnisse zu erzielen, ist die Nutzung von speziellen Bedrohungsanalysen. Dieses Threat Modeling wird bereits jetzt erfolgreich zum Härten von Anwendungen genutzt, ist aber in Serverless-Umgebungen von noch größerer Bedeutung. So ist es damit möglich, systematisch die Verbindungen zwischen einzelnen Komponenten zu analysieren und aufzuzeichnen. Außerdem lassen sich mit Threat Modeling nützliche Data Flow Maps erstellen. Dadurch entsteht zwar keine völlige Klarheit über die für Data Storage und Computing genutzten Mechanismen. Eine virtuelle Karte zeigt jedoch deutlich, wie die verschiedenen Elemente einer Anwendung miteinander interagieren. Das hat gravierende Vorteile, die über eine reine Analyse der Bedrohungen hinausgehen.

Im Laufe dieses Prozesses ist es zudem möglich, einzelne Bereiche einer Anwendung zu isolieren, so dass sie sich leichter kontrollieren lässt. Werkzeuge wie Vanadium sorgen zum Beispiel dafür, dass sich einzelne Funktionen separieren lassen, so dass sie transparent für den Entwickler werden. Diese Separierung lässt sich auch ohne zusätzliche Tools umsetzen, ist dann aber etwas aufwändiger. Auf diese Weise lassen sich Injection-Attacken aufspüren und bekämpfen, ohne dass erforderlich ist, dass alle Entwickler nur noch Code produzieren, der überhaupt keine Angriffspunkte mehr enthält.

Ebenso wichtig ist aber auch das Monitoring einer Serverless-Umgebung. Neben Zugriffsfragen, die geklärt werden müssen, ist es nötig, die zugrundeliegende Technik zu verstehen. Ungewöhnliche Ereignisse müssen erkannt und identifiziert werden, wenn sie nicht den vorgegebenen Richtlinien entsprechen. Dieser Punkt ist abhängig von den Aufgaben, die eine bestimmte Applikation erfüllen soll. Auch hier kann Threat Modeling wertvolle Hinweise darauf liefern, weil sich dadurch herausfinden lässt, was eine Anwendung bewirken und wozu sie noch alles eingesetzt werden kann.

Serverless Applications sind mächtige Werkzeuge. Ihre Absicherung ist aber keine leichte Aufgabe, die die meisten Security-Teams aus dem Stand sofort erfüllen können. Aus diesem Grund kann es auch sinnvoll sein, sich extern oder intern Unterstützung zu holen.

Es ist aber auf jeden Fall empfehlenswert, die eigenen Mitarbeiter in Threat Modeling und der Entwicklung besseren Codes zu schulen. Außerdem sollten sie lernen, wie typische Angriffe ablaufen und welchen Bedrohungen sie ausgesetzt sind. Der Einsatz von Serverless Applications ist eine gute Gelegenheit, um das eigene Personal weiter zu entwickeln, neue Fähigkeiten zu erlangen und die Qualität der bislang schon eingesetzten Anwendungen über das gesamte Unternehmen hinweg zu verbessern.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Risiko unsichere Logins von Webanwendungen

Mit DevOps-Tools die Cloud-Automatisierung absichern

Die Sicherheit von DevOps optimieren

Artikel wurde zuletzt im Oktober 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Anwendungsangriffe (Cross-Site Scripting, Buffer Overflows)

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close