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.
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 |
| 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 |
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.
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.
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 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.
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.
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 .
Wenn wir mit Cloud-Penetrationstests beginnen, müssen wir ein paar Dinge überprüfen:
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.
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.
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.
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.
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.
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