Aktuelles, Branche, Gastbeiträge - geschrieben von am Donnerstag, Mai 7, 2020 18:23 - noch keine Kommentare

Serverlose Architektur: Neun Ratschläge gegen Schwachstellen

Ratschläge, um die Sicherheit gegen die gängigsten Bedrohungen zu verteidigen

Von unserer Gastautorin Christine Schönig, Regional Director Security Engineering CER, Office of the CTO bei Check Point Software Technologies

[datensicherheit.de, 07.05.2020] Serverlose Anwendungsarchitekturen verbessern die Sicherheit enorm. Es müssen keine Patches mehr auf Server eingespielt werden und die Kurzlebigkeit der Funktionen, aus denen Serverless Computing besteht, macht Angreifern das Leben schwer. Selbst dann, wenn sie einen Container infiltrieren, dessen Funktionen noch ausgeführt werden, haben sie wenig Möglichkeiten. Denn: Statt großer Container mit vielen Funktionen existieren in der Cloud nur noch kleine mit wenigen darin. Dennoch sind nicht sämtliche Bedrohungen deswegen vom Tisch. Es gibt neue, die sich den Gegebenheiten anpassen und Anwendungen gefährden. Daher folgen hier neun bewährte Ratschläge, um die Sicherheit einer Serverlosen Architektur gegen die gängigsten Schwachstellen zu verteidigen.

  1. Kartographieren der Anwendungen
    Da serverlose Anwendungen aus Hunderten von Funktionen bestehen, müssen Unternehmen sich ein vollständiges Bild dieser Lage verschaffen. Sonst können sie die potenziellen Schwachstellen nicht erkennen. Dabei sind drei Fragen wichtig:

    • Welche Daten sind in der Anwendung enthalten und wie sensibel sind diese?
    • Welchen Wert haben diese Daten, das bedeutet, welche Auswirkungen hat es, wenn diese Daten gestohlen würden?
    • Welches sind die Dienste (APIs), die auf diese Daten zugreifen?

    Außerdem wächst eine Anwendung und wird erweitert, was die Wartung erschwert. Daher lohnen sich Dienste und Sicherheitslösungen, um die gesamte Anwendungskette zu stärken und zu überwachen – am besten zentralisiert und automatisiert.

  1. Perimeter-Sicherheit auf der Funktionsebene anwenden
    Die Fragmentierung der Anwendung in kleinere Komponenten und Funktionen – in Verbindung mit der Verwendung von Ereignissen aus verschiedenen Quellen (wie Speicher, Nachrichtenwarteschlangen und Datenbanken) – erhöht zwar einerseits die Sicherheit, weil Eindringlinge weniger Material auf einmal in die Hände fällt. Aber es bedeutet auch, dass Angreifer mehr Ziele und mehr Angriffsvektoren vor sich haben.
    Die Verwendung einer WAF und eines API-Gateways mag bei einer breiten Sicherheitskontrolle akzeptabel sein, aber die Implementierung von Schutzmaßnahmen direkt am Perimeter der Funktion oder der Arbeitslast ist sinnvoller.
  2. Erstellen geeigneter, minimaler Rollen für jede Funktion
    Serverlos kann die Anzahl der Ressourcen, die agieren und auf die reagiert werden kann, erheblich erhöhen. Unternehmen müssen die Richtlinien berücksichtigen, die jede Interaktion zwischen Hunderten von Ressourcen mit Hunderten von möglichen Berechtigungen in alle Richtungen regeln.
    Daher muss die Zeit aufgewendet werden, um geeignete, minimale Zugriffsrollen für jede Funktion zu erstellen, wobei jede Funktion mit der kleinstmöglichen Anzahl von Privilegien ausgeführt wird. Hier mit engem Korsett zu beginnen birgt den Vorteil, dass diese Richtlinien bei Bedarf – und nur dann – erweitern lassen. Die Implementierung einer kontinuierlichen Bewertung dieser Privilegien und einer automatischen Korrektur von Fehlern sollte ebenfalls stattfinden, um die Arbeit zu erleichtern und den sicheren Betrieb zu gewährleisten. In serverlosen Anwendungen können Dinge, die einmal gut konfiguriert waren, plötzlich schlecht abgestimmt sein, da anderswo eine Rolle, Richtlinie oder Funktion geändert wurde, die einen anderen Teil dieser Anwendung anfällig macht.
  3. Sichere Anwendungsabhängigkeiten
    Zu den Funktionen der Anwendungen gehören oft Abhängigkeiten, die aus npm (Node.js), PyPI (Python), Maven (Java) oder anderen relevanten Repositories bezogen werden. Abhängigkeiten der Anwendungen, insbesondere von Open Source Code, sind weit verbreitet und häufig anfällig, denn regelmäßig werden neue Schwachstellen aufgedeckt. Die Beschaffenheit der Serverlosen Architektur mit ihren Hunderten, kleinen Funktionen macht die manuelle Verwaltung dieser Abhängigkeiten zu einer besonders komplizierten und aufwendigen Herausforderung.
    Die Absicherung erfordert dabei den Zugriff auf eine gute Datenbank und automatisierte Werkzeuge, um kontinuierlich zu verhindern, dass neue anfällige Pakete verwendet werden und gleichzeitig bei neu aufgedeckten Problemen Alarm ausgelöst wird. Programme für die Source Composition Analysis (SCA) helfen dabei, Open-Source-Schwachstellen bereits in einem frühen Stadium der Entwicklung zu erkennen. Darüber hinaus können die Auswirkungen verwundbarer Bibliotheken minimiert werden, wenn eine ordnungsgemäße Segmentierung der Anwendung in verschiedene Dienste sichergestellt und das Prinzip der geringsten Privilegien gewissenhaft angewendet wird.
  4. Wachsam bleiben gegen schlechten Code
    Serverlose Implementierungen mit ihren verschiedenen Auslösern und ihrer unendlichen Skalierbarkeit bergen die Gefahr, dass der kleinste Fehler in der Kodierung schnell zu einem selbstverschuldeten Denial-of-Service-Angriff (DoS) aus der Anwendung heraus führen kann.
    Die Entwickler im Unternehmen müssen daher regelmäßig und angemessen geschult werden. Code-Reviews werden ebenfalls helfen. Vor allem aber müssen diese den Code dauernd überwachen und die Konfiguration prüfen – mithilfe geeigneter Software.
  5. Tests zur Dienstkonfiguration zu CI/CD & PROD hinzufügen
    Serverlose Implementierungen führen zu einer erhöhten Produktgeschwindigkeit, verringern also die Zeitspanne, bis eine Anwendung rentabel wird. Jedoch bieten sie einige neue Möglichkeiten, um die Sicherheit zu brechen. Es muss ständig geprüft werden, dass die Änderungen, die gerade an der Konfiguration vorgenommen wurden, tatsächlich umgesetzt wurden und dem wahren Zustand der Anwendungen gerecht werden. Unternehmen müssen sicherstellen, dass die Konfigurationen, die gerade aufgestellt haben, tatsächlich der Produktionsschleife entsprechen.
  6. Beobachten Sie den Informationsfluss
    Die tatsächlichen Auswirkungen des Datenflusses sind aufgrund der wesentlich größeren Anzahl von getrennten Komponenten und Funktionen einzelner Anwendungen nur bei serverlosen Anwendungen zu beobachten. Unternehmen müssen daher den Informationsfluß im Netzwerk überwachen, um sicherzustellen, dass er nur zwischen den von ihnen gewünschten Diensten verläuft – und die richtige Information an der richtigen Stelle landet.
  7. Schadensbegrenzung von Denial-of-Service- oder Denial-of-Wallet-Angriffen
    Obwohl serverlose Anwendungen leicht aufgerufen werden können, ist die Skalierung noch endlich. Sie sind daher weiterhin anfällig für Denial-of-Service-Angriffe, bis die Skalierung wirklich ins Unendliche möglich ist. Sind die Skalierungen zwar hoch genug gewählt, um dieses Problem zu vermeiden, sehen sich Unternehmen dennoch der neuen Gefahr von Denial-of-Wallet-Angriffen (DoW) gegenüber: Ein Angreifer überlastet gezielt eine Anwendung, um die Kosten der Firma in die Höhe zu treiben. Die Aktivierung einer massiven und automatischen Skalierung der Anwendungen kann also dazu beitragen, sehr viele DoS-Angriffe abzuschwächen, öffnet aber die Türen für DoW-Angriffe.
    Vor Web-Endpunkten müssen darum geeignete Abwehrmaßnahmen gegen DoS-Angriffe sitzen, wie ein API-Gateway. Beachtet werden müssen auch andere Auslöser für DoS und DoW, wie Kinesis und S3. Eine gute Sicherheitslösung kann dazu beitragen, die Skalierungsoptionen dynamisch anzupassen, solche Angriffe zu erkennen, ihre Auswirkungen zu minimieren und diese abzuschwächen.
  8. Automatisches Aktualisieren von Function-as-a-Service-Containern
    Es müssen Strategien erarbeitet werden, um die Lebensdauer von Funktionen und Instanzen so stark wie möglich zu begrenzen. Auf einigen Plattformen gibt es APIs, die Instanzen aktualisieren können. Außerdem können das zuverlässig manche Sicherheitslösungen erledigen. Letztere sollte zudem in der Lage sein, Dinge zu bemerken und zu blockieren, die in den Instanzen der Funktionen nichts zu suchen haben, wie zusätzlicher Code oder versteckte Prozesse.
Christine Schönig

Foto: Check Point Software Technologies

Christine Schönig, Regional Director Security Engineering CER, Office of the CTO bei Check Point Software Technologies

Serverlose Architektur : Best Practices gegen Sicherheitslücken beachten

Wie jede Facette der IT-Sicherheit erfordert auch die Abschirmung einer Serverlosen Architektur umfangreiche Strategie und im Ernstfall zuverlässige Taktik. Die strikte Befolgung von bewährten Best Practices wird dabei die Sicherheitslage deutlich und einfach verbessern. Für den idealen Schutz aber müssen zusätzlich Serverlose Sicherheitslösungen zum Einsatz kommen, die dauerhaft für die Sicherung der gesamten IT-Umgebung sorgen. Sie erkennen, melden und blockieren Angriffe, Betrug, Ablenkungsmanöver, Ausweichtechniken von Malware und Fehler in Konfigurationen.

Weitere Informationen zum Thema:

datensicherheit.de, 05.05.2020
Warnung vor Sicherheitslücken in Online-Lern-Plattformen

datensicherheit.de, 28.04.2020
Lucy: Erstmals Ransomware-Attacken gegen Android-Smartphones

datensicherheit.de, 17.04.2020
Neue Form der Cyberkriminalität: Doppelte Erpressung

 



Kommentieren

Kommentar

Theiners SecurityTalk

Neue Folge!
Blockchain - Quo vadis?, 27.05.2020

Kooperation

TeleTrusT - Bundesverband IT-Sicherheit e.V.

Kooperation

Initiative Digital

Mitgliedschaft

BISG e.V.

Multiplikator

Allianz für Cyber-Sicherheit

Partner

ZIM-BB

Gefragte Themen


Datenschutzerklärung