| FOTO | AUTO | EDV | AUDIO |

Cloud Security

Grundlagen

Der Begriff Cloud steht als Kurzform für Cloud Computing. Eine Cloud besteht aus räumlich entfernt stationierten Servern, auf die über eine gesicherte und geschützte Internetverbindung von jedem beliebigen Ort aus jederzeit zugegriffen werden kann.

Arten von Clouds

Cloud-Dienste können anhand der Organisationsform in verschiedene Arten unterteilt werden:

Arten Beschreibung Beispiel/ Anbieter
Public Viele Kunden teilen sich eine Infrastruktur; für sensible Daten weniger geeignet Speicher wie Dropbox und Google Drive; SaaS-Lösungen wie Microsoft Office 365
Private Infrastruktur wird beim Anbieter für einen einzelnen Kunden zur Verfügung gestellt oder im eigenen Haus betrieben; empfehlenswert bei hohen Ansprüchen an Sicherheit und Datenschutz Spezialisierte Anbieter für gemanagte und gehostete private Clouds; verfügbar auch bei einigen SaaS-Anbietern
Hybrid Mischung aus Private und Public Cloud z. B. Abbildung unkritischer Anwendungen in einer Public Cloud, Ablage sensibler Daten jedoch in einer Private Cloud

Cloud Services

Servicemodell Beschreibung
Software as a Service (SaaS) Bereitstellung von Software via Internet, auch „Software on demand“ genannt; Betrieb, Wartung und Updates werden durch den Anbieter vorgenommen
Platform as a Service (PaaS) Bereitstellung von Laufzeit- und Entwicklungsumgebungen; Speicher- und Rechenkapazitäten sind flexibel anpassbar
Infrastructure as a Service (IaaS) Bereitstellung von virtualisierten Hardware-Ressourcen wie Speicher, Rechner und Netzwerk

Datenschutz und Sicherheit in der Cloud

Sicherheit und Datenschutz sollten bei der Nutzung von Cloud-Diensten unbedingt gewährleistet sein. Dies gilt insbesondere für Unternehmen, die sicherstellen müssen, dass ausschließlich berechtigte Nutzer Zugriff auf ihre Dateien haben. Handelt es sich um personenbezogene Daten, sind darüber hinaus die strengen Vorgaben der EU-DSGVO zu beachten. Public-Cloud-Dienste, bei denen Dateien in Rechenzentren außerhalb der EU gespeichert werden, scheiden für Unternehmen damit komplett aus. Doch auch bei europäischen Standorten und privaten Clouds müssen Sicherungsmechanismen (z. B. Verschlüsselung der Übertragung, Zugriffsberechtigungen) vorhanden sein, um die Sicherheit der Daten zu gewährleisten.

Was ist Cloud Pentesting

Cloud-Penetrationstests sind eine Angriffssimulation, die durchgeführt wird, um Schwachstellen zu finden, die ausgenutzt werden können, oder um Fehlkonfigurationen in einem Cloud-basierten System zu finden. Mit Cloud-Penetrationstests lernen Unternehmen die Stärken und Schwächen ihres Cloud-Systems kennen, um dessen allgemeine Sicherheitslage zu verbessern.

Cloud-Pentesting-Tools

CloudBrute

AWS S3 ist ein Cloud-Speicherdienst. CloudBrute ist ein Open-Source-Tool, mit dem Sie die AWS S3-Buckets des Kunden aufzählen können. Das Tool ist modular und anpassbar und wird im Allgemeinen bevorzugt, weil es relativ schnell ist. Merkmale des Tools sind:

Cloud-Erkennung (IPINFO API und Quellcode)
Nicht authentifizierter Blackbox-Test
Fähigkeit, plattformübergreifend zu arbeiten
User-Agent-Randomisierung
Proxy-Randomisierung

Das Tool unterstützt alle großen Cloud-Anbieter. Die Liste der von CloudBrute unterstützten Cloud-Anbieter sind:

Microsoft: Speicher, Apps
Amazon: Speicher, Apps
Google: Speicher, Apps
DigitalOcean: Speicher
Vultr: Speicher
Linode: Lagerung
Alibaba: Lagerung

CloudSplaining

Cloudsplaining ist ein Open-Source-Tool, das Ihnen hilft, die Verletzung der geringsten Rechte bei AWS-IAM-Richtlinien herauszufinden, indem es alle Richtlinien im AWS-Konto scannt und Ihnen einen HTML-Bericht gibt. Es kann alle Richtlinien in einem AWS-Konto oder einer einzelnen Richtliniendatei scannen. Es hilft, den Behebungsprozess zu priorisieren, indem es IAM-Richtlinien kennzeichnet, die Risiken darstellen. Cloudsplainig kann auch die IAM-Rollen identifizieren, die von AWS übernommen werden können. Das Markieren dieser Rollen ist besonders nützlich für Penetrationstester oder Angreifer in verschiedenen Szenarien.

Enumerate-iam

Wenn AWS-Anmeldeinformationen von Kunden jemals gestohlen oder erfasst werden, würde es viel Zeit in Anspruch nehmen, herauszufinden, für welche Dienste diese Anmeldeinformationen autorisiert sind. Um diesen Prozess zu vereinfachen, kann ein Open-Source-Tool namens enumerate-iam verwendet werden. Es versucht, alle von der IAM-Richtlinie zugelassenen API-Aufrufe auf zerstörungsfreie Weise brutal zu erzwingen. Ein weiterer guter Teil dieses Tools ist, dass es bei Bedarf einfach in andere Tools integriert werden kann.

Herausforderungen

  • Kein klassischer Weg: Es gibt keinen Standardweg, um Cloud-Pentest durchzuführen. Es hängt alles vom Kunden und seinen Wünschen ab.
  • Unterschiedliche Technologien, unterschiedliche Fälle: Cloud-Pentesting-Prozesse werden je nach Client häufig auf unterschiedlichen Cloud-Anbietern und unterschiedlichen Technologien durchgeführt. Aus diesem Grund müssen wir wissen, welche Cloud-Dienste verwendet werden und welche möglichen Sicherheitsfehlkonfigurationen und welche Schwachstellen mit diesen Diensten verbunden sind. Alle Cloud-Dienste zu kennen, kann für Pentester eine Herausforderung sein.
  • Unterschiedliche Pentesting-Richtlinie: Jeder Cloud-Anbieter hat seine eigene Richtlinie für Pentesting. Aus diesem Grund kann sich der Cloud-Pentest-Prozess je nach Anbieter ändern. Bei einigen der Dienste müssen wir die Anbieter möglicherweise vor dem Pentest benachrichtigen.

Cloud-Penetrationstest Vorgehen

1: Verstehen Sie die Richtlinien des Cloud-Anbieters

Jeder Cloud-Anbieter hat eine Pentesting-Richtlinie, die erlaubte und verbotene Dienste und Aktivitäten zum Testen enthält. Bevor wir beginnen, müssen wir sicher sein, welche Cloud-Dienste in der Umgebung des Kunden verwendet werden und welche Dienste von Cloud-Pentestern getestet werden können. Weitere Informationen finden Sie im Microsoft Azure-Cloud-Pentest-Ansatz .

2: Erstellen Sie einen Cloud-Pentesting-Plan

Wenn wir mit Cloud-Penetrationstests beginnen, müssen wir ein paar Dinge überprüfen:

  • Kundengespräch: Als erstes wollen wir mit dem Kunden kommunizieren, um Start- und Enddatum des Pentests festzulegen. Wir sollten eine Vorschau auf die Cloud-Plattform anfordern und Informationen zu Themen einholen, z. B. welche URLs getestet werden, wie die Cloud-Architektur dieser Plattform ist und welche Funktionen sie hat.
  • Überprüfen Sie das System des Kunden: Nach Erhalt der Informationen benötigen Pentester Zeit, um das System zu analysieren. Erhalten Sie weitere Informationen über das System; Überprüfen Sie die potenziellen Zugangspunkte auf zu sendende oder zu empfangende Daten, überprüfen Sie den Quellcode, die Softwareversionen oder ob Schlüssel durchgesickert sind. Je mehr Daten wir sammeln, desto leichter erkennen wir die Schwachstellen.

3: Wählen Sie Ihre Cloud-Pentest-Tools

Cloud-Pentest-Tools sollten einen tatsächlichen Angriff simulieren. Viele Hacker verwenden automatisierte Prozesse, um Schwachstellen zu finden, wie das wiederholte Erraten von Passwörtern oder die Suche nach APIs, die einen direkten Zugriff auf die Daten ermöglichen. Was wir tun sollten, ist zu versuchen, diese Art von Verfahren zu simulieren. Wenn unsere Cloud-Pentest-Tools unsere Anforderungen für Angriffsszenarien nicht erfüllen können, könnten wir unsere eigenen Systeme, Tools oder Skripte für Cloud-Pentesting schreiben.

4: Analysieren

Ohne die Analyse der Ergebnisse und Antworten wäre Cloud-Pentest sinnlos. Nachdem wir die automatisierten Tools verwendet und manuelle Tests durchgeführt haben, müssen wir die Antworten analysieren. Alle Antworten sollten dokumentiert werden. Wir sollten entscheiden, ob diese Ergebnisse falsch positive Ergebnisse oder erwartete Cloud-Antworten sind. Wenn nicht, sollten diese Feststellungen gemeldet werden. Dieser Schritt ist einer von denen, bei denen unsere Informationen und Erfahrungen in der Cloud wichtig sind.

5: Schwachstellen finden und beseitigen

Dies ist der letzte Schritt des Cloud-Pentesting-Prozesses. Nachdem alle Cloud-Tests und -Prüfungen durchgeführt wurden, sollten der Schweregrad und die Auswirkungen von Schwachstellen mit dem Cloud-Pentesting-Team besprochen und untersucht werden. Ein abschließender Cloud-Schwachstellenbericht sollte mit Empfehlungen und Abhilfemaßnahmen erstellt werden.

Cloud-Sicherheitsbedrohungen

  • Unsichere APIs: Anwendungsprogrammierschnittstellen oder APIs ermöglichen es Unternehmen, ihre Anwendungsdaten und -funktionen mit Drittunternehmen zu teilen. API-Schlüssel werden zur Identifizierung und Authentifizierung zwischen Unternehmen und Dritten verwendet. Wenn wir unsere API-Schlüssel nicht schützen, kann sich jemand Zugriff darauf verschaffen. API-Dienste werden häufig verwendet, und unsichere APIs können zu schwerwiegenden Datenlecks führen. Um diese Fälle zu verhindern, betten Sie API-Schlüssel nicht in Code ein und bewahren Sie sie an einem sicheren Ort auf, an dem Unbefugte keinen Zugriff darauf haben. Darüber hinaus sollte es für alle unsere API-Dienste einen Authentifizierungs-/Autorisierungsmechanismus geben, um eine fehlerhafte Zugriffskontrolle zu verhindern.
  • Veraltete Software: Wenn unsere Software veraltet ist, kann dies einige schwerwiegende Sicherheitsprobleme wie Datenlecks oder Anmeldedatenlecks verursachen. Stellen Sie sicher, dass die verwendete Software die neueste Version ist. Einer der Gründe für die Aktualisierung dieser Anwendungen besteht darin, zu verhindern, dass Sicherheitslücken in den alten Versionen beschädigt werden, die behoben werden müssen. Aus diesem Grund sollte die Bedrohung entfernt werden, indem Sie Ihre Programme aktualisieren.
  • Fehlkonfigurationen in der Cloud: Laut der Studie waren zwischen Februar 2018 und Juni 2019 90 % aller Cloud-basierten Sicherheitsprobleme auf Fehlkonfigurationen zurückzuführen. In den Nachrichten gibt es immer wieder Geschichten darüber, dass ein großes Unternehmen einem Datenleck ausgesetzt ist oder eine Verletzung der Privatsphäre offengelegt hat. Während diese in der Cloud auftreten können, ist die Hauptursache fast immer ein Fall von menschlichem Versagen auf der Konfigurationsseite des Unternehmens.
  • Gestohlene Zugangsdaten: Zugangsdaten können auf irgendeine Weise durchsickern oder in der Anwendung fest codiert sein. Dies kann dazu führen, dass unsere Anmeldeinformationen gestohlen werden. Wir sollten unsere Anmeldeinformationen wie den Zugriffsschlüssel, geheimen Zugriffsschlüssel oder API-Schlüssel in der Codebasis nicht weitergeben. Das ist im Grunde so, als würde man einem Fremden unseren Hauptschlüssel geben.
  • Zugriffsrechte: Es gibt ein Konzept in der Cloud, das als „Prinzip der geringsten Rechte“ bezeichnet wird. Das bedeutet, dem Benutzer die geringste Menge an Privilegien zu geben, um seine Arbeit zu erledigen. Wenn wir ihnen übermäßige Privilegien gewähren und das Konto gehackt oder gestohlen wird, kann dies zu ernsthaften Problemen führen. Um sie zu verhindern, sollten wir den Benutzern immer die geringsten Privilegien einräumen. Weitere Informationen finden Sie im Google Cloud Platform-Ansatz für die geringsten Rechte .

Cloud-Modell der geteilten Verantwortung für Pentesting

Anbieter von Cloud-Diensten müssen sich an ein Modell der gemeinsamen Verantwortung für die Sicherheit halten. Wir sind für die Sicherheit in der Cloud verantwortlich, beispielsweise für die Sicherheit unserer Betriebsumgebung, einschließlich unserer Anwendungen, Server und Benutzersteuerungen. Der Cloud-Diensteanbieter ist für die Sicherheit der Cloud verantwortlich. Im AWS - Modell der geteilten Verantwortung übernimmt AWS die Verantwortung für den Schutz der Infrastruktur, die alle in der AWS Cloud angebotenen Services ausführt. Diese Infrastruktur besteht aus Hardware, Software, Netzwerken und Einrichtungen, die AWS Cloud-Services ausführen.

Autorisierung und Richtlinien

Wir sollten immer die Dienstrichtlinien der Cloud-Anbieter überprüfen. Die folgenden Tabellen veranschaulichen die Richtlinien von AWS dazu, was wir testen können und was nicht: AWS erlaubt Penetrationstests für:

Amazon EC2-Instances, NAT-Gateways und Elastic Load Balancer
Amazon RDS
Amazon CloudFront
Amazonas-Aurora
Amazon API-Gateways
AWS Lambda- und Lambda Edge-Funktionen
Amazon Lightsail-Ressourcen
Amazon Elastic Beanstalk-Umgebungen

Benutzer können problemlos Penetrationstests für diese Dienste durchführen. Die Aktivitäten, die AWS nicht zulässt, sind in der folgenden Tabelle dargestellt:

Benutzer können die folgenden Tests nicht durchführen:

DNS-Zonenwandern über Amazon Route 53 Hosted Zones
Arten von Denial-of-Service (DoS)-Angriffen
Hafenüberschwemmung
Protokollflutung
Request Flooding (z. B. Login Request Flooding, API Request Flooding)

Einige der verbotenen Aktivitäten können nach Benachrichtigung von AWS durchgeführt werden. Wenn ein Kunde beispielsweise einen Netzwerk-Stresstest oder einen DDoS-Simulationstest durchführen möchte, sollte er die AWS-Richtlinie zu Stresstests und DDoS-Simulationstests lesen . Nachdem AWS die Tests autorisiert hat, können sie durchgeführt werden.

Die zehn größten Sicherheitsbedrohungen

Laut der Cloud Security Alliance sind die zehn größten Bedrohungen für Cloud-Umgebungen, die während des Pentests bewertet werden müssen:

Datenschutzverletzungen (sensible Daten, zum Beispiel Gesundheit, Finanzen, personenbezogen Daten etc.)
Unzureichendes IAM
Unsichere Schnittstellen und APIs
Anfälligkeit des Systems
Konto-/Service-Entführung
Böswilliger Insider
Datenverlust
Mangelnde Sorgfaltspflicht
Missbrauch und ruchlose Nutzung von Cloud-Diensten
Gemeinsame Technologie-Schwachstellen