Da immer mehr Unternehmen in Richtung Cloud gehen, sollten die entsprechenden Public-Cloud-Umgebungen bei Penetrationstests nicht außen vorgelassen werden. In diesem Beitrag gebe ich eine Einführung in das Cloud Computing, verdeutliche Ihre konkreten Sicherheitsverantwortlichkeiten in der Public Cloud und erläutere, welche Besonderheiten es bei Penetrationstest in der Cloud zu beachten gilt.
Einführung in das Cloud Computing
Unter Cloud Computing versteht man die Nutzung von IT-Infrastrukturen und Dienstleistungen über das Internet. Als Cloud Nutzer greift man dabei auf eine Vielzahl von zusammenhängenden, externen Servern zu. Man hat dabei in der Regel gar keinen Überblick über die einzelnen in Anspruch genommenen Rechenrressourcen des Cloud Anbieters. Dementsprechend lässt sich der englische Begriff “Cloud” sehr treffend als Datenwolke oder Rechnerwolke übersetzen, die für den Nutzer physisch nicht greifbar ist.
Mittlerweile nutzt fast jeder Cloud-Dienste. Egal ob Sie einen Account bei einem sozialen Netzwerk wie Facebook oder LinkedIn haben, oder einen Speicherdienst wie iCloud, Dropbox oder OneDrive verwenden, sind Sie damit bereits Nutzer von Cloud Computing. Auch Unternehmen nutzen von Jahr zu Jahr mehr Cloud-Dienste.
Cloud Computing hat verschiedenste Ausprägungen. Unter anderem lassen Sich verschiedene Liefermodelle beschreiben, die Aussage darüber treffen, auf welche Art und Weise dem Nutzer Cloud Dienste bereitgestellt werden. Am bekanntesten sind wohl die öffentlichen Cloud Plattformen (sog. Public Clouds) der großen Anbieter Amazon, Microsoft und Google. Alle Nutzer dieser Plattformen können ganz einfach und flexibel IT Infrastruktur mieten und entsprechend Ihrer Nutzung bezahlen. Im Gegensatz dazu gibt es auch die Möglichkeit eine eigene Cloud-Umgebung zu nutzen, die ausschließlich für das eigene Unternehmen betrieben wird (sog. Private Cloud). Daneben gibt es noch ein hybrides Modell, welches private und öffentliche Cloud kombiniert (sog. Hybrid Cloud), sowie weitere Sonderformen.
Die verschiedenen Cloud Servicemodelle (IaaS, PaaS, SaaS)
Im Zusammenhang mit Cloud Computing unterscheidet man neben den oben genannten Liefermodellen auch zwischen unterschiedlichen Servicemodellen, die beschreiben welche Art von Angebot dem Nutzer von einem Cloud Service Provider zur Verfügung gestellt wird. Das Servicemodell hat einen maßgeblichen Einfluss auf das Vorgehen und den Spielraum bei Penetrationstests. Es gibt drei grundlegende Servicemodelle:
Infrastructure-as-a-Service (IaaS)
Bei diesem Servicemodell bietet der Cloud Service Anbieter Rechenzentrumsinfrastruktur zur Nutzung an. Zu den Komponenten der bereitgestellten Infrastruktur gehören etwa Server, Rechen- und Netzkapazitäten, Router, Switche, Firewalls, Speicherplatz sowie Systeme zur Archivierung und zum Back-Up von Daten.
Platform-as-a-Service (PaaS)
Dieses Servicemodel baut auf dem Infrastructure-as-a-Service Model auf und ergänzt die Infrastruktur um eine Entwicklerumgebung. Diese stattet Entwickler mit den Werkzeugen aus, die für eine schnelle und kostengünstige Entwicklung von Anwendungen notwendig sind.
Software-as-a-Service (SaaS)
Des Weiteren können Cloud Anbieter auch die komplette Bereitstellung von Softwareanwendungen an Endnutzer übernehmen. Bei diesem Servicemodell wird nicht nur die Software zu Verfügung gestellt, sondern auch die Konfiguration, Wartung und die ständige Aktualisierung der Software übernommen.
Vorteile des Cloud Computing
Cloud Computing bietet eine ganze Reihe an Vorteilen gegenüber lokal vorgehaltener Infrastruktur und lokal installierter Software. Einerseits sind Kostenvorteile zu nennen, denn es muss keine Hardware angeschafft und gewartet werden oder Software gekauft und auf allen Rechnern upgedated werden. Cloud Services, egal ob IaaS, PaaS oder SaaS bieten einen hohen Grad an Flexibilität und wachsen mit den Bedürfnissen. Ortsunabhängiger Zugriff auf Daten ist ein weiterer Punkt der in den letzten Jahren zu einem Wachstum von Cloud-Diensten geführt hat. Die Datensicherheit, die Cloud Anbieter bieten, ist ebenfalls deutlich besser als Sie die meisten Unternehmen selbst gewährleisten können. Dies gilt besonders für kleine und mittlere Unternehmen. Trotz der Menge an Vorteilen gibt es einige Unternehmen, die der Cloud Adaption skeptisch gegenüberstehen. Insbesondere der Sicherheitsaspekt hält Unternehmen vom Umzug in die Cloud ab. Allerdings sollten Unternehmen die Sicherheit ihrer on-premise Rechenzentren nicht überschätzen. Die Sicherheitsbedenken kann man am besten ausräumen, wenn man sich seiner eigenen Rolle in der Cloud bewusst macht.
Modell der Shared Responsibility in der Public Cloud
In der Public Cloud teilen sich Cloud Anbieter und Nutzer die Verantwortlichkeit für die Sicherheit der Daten. Dieses Modell der gemeinsamen Verantwortlichkeit (sog. Shared Responsibility Model) greift unabhängig davon, welches Servicemodel (IaaS, PaaS oder SaaS) vorliegt. Jedoch verschiebt sich der Umfang der Verantwortlichkeit abhängig vom Servicemodel. Bei IaaS ist der Verantwortungsbereich des Nutzers am größten. Die unten abgebildete Infografik veranschaulicht dies:
Daten sicher zu bewahren ist Kernaufgabe von Cloud Anbietern und alle großen Anbieter investieren viel Geld, um ein sehr hohes Sicherheitsniveau zu gewährleisten. Von strikter physische Zugangskontrolle zu den Data Centern über strenge Kontrollen von jeder Änderung an Hardware, Software und Netzwerk bis hin zur Sicherstellung der Einhaltung von gesetzlichen Vorschriften und Compliance Standards erledigen die Public Cloud Anbieter alle grundlegenden Sicherheitsmaßnahmen. Sie geben den Nutzern auch allerhand Tools an die Hand, um ihrerseits für Sicherheit in der Cloud zu sorgen. Da den Nutzer bei jeder Art von Cloud Service Sicherheitsverantwortlichkeiten treffen, empfiehlt es sich durch Penetrationstests zu überprüfen, ob man dieser Verantwortlichkeit ausreichend Rechnung trägt. Insbesondere direkt nach der Migration empfiehlt es sich, einen Penetrationstest der cloud-basierten Infrastruktur vorzunehmen.
Herausforderungen beim Cloud Pentesting
Bei Cloud Penetrationstests sind White-Box oder Grey-Box Testverfahren der Regelfall. Dabei hat der Penetrationstester vollen oder zumindest teilweisen Überblick über die IT des zu prüfenden Unternehmens. Diese Informationsbasis ist für den Penetrationstester wichtig, denn ansonsten könnte er Gefahr laufen, auf Daten von unbeteiligten Cloud Tenants zuzugreifen, weil in der Regel Cloud Ressourcen zwischen den Nutzern geteilt werden. Aus rechtlicher Sicht ist ein Penetrationstest also anspruchsvoller, da mit dem Cloud Anbieter eine weitere Partei involviert ist, deren Interessen gewährt werden müssen. In jedem Falle müssen die allgemeinen Nutzungsbedingungen der Cloud Anbieter beachtet werden ( -> AWS, Microsoft Azure, Google Cloud Platform). Dort werden die für Pentests freigegebenen Services bezeichnet und Rahmenbedingungen abgesteckt. Hier sind insbesondere unzulässige Maßnahmen, Test-Tools und Services aufgelistet. Gegebenenfalls muss vor dem Penetrationstest das Einverständnis des Anbieters einholen. Bei den drei großen Anbietern Amazon, Microsoft und Google kann jedoch mittlerweile darauf verzichtet werden. Es empfiehlt sich allerdings trotzdem den Anbieter über den bevorstehenden Penetrationstest in Ihrer Cloud Umgebung zu informieren.
Die einzelnen Phasen des Cloud Penetrationstest unterscheiden sich nicht von einem Penetrationstest, bei dem das Unternehmen selbst alleiniger Eigentümer der Infrastruktur ist. Die Unterschiede liegen vielmehr im Detail. Viele traditionelle Angriffsmethoden würden aufgrund der immer besser werdenden Absicherung durch die Cloud Anbieter eine unmittelbare Warnung hervorrufen. Daher muss ein Cloud Penetrationstester insbesondere Umwege und indirekte Angriffsmethoden kennen, um sich unbemerkten Zugang zur Cloud Umgebung zu verschaffen. Nicht zuletzt muss er auch die richtigen Tools zur Hand haben.
Fazit zu Cloud Penetrationstests
Wenn Sie Daten und Anwendungen in die öffentliche Cloud migriert haben oder es in Erwägung ziehen, sollten Sie ihre Cloud Umgebung in jedem Falle in regelmäßigen Abständen einer Sicherheitsüberprüfung unterziehen. Als wichtige Grundregeln sind festzuhalten, dass Sie sich strikt an die Nutzungsvereinbarungen der Cloud Anbieter halten müssen und dass sich Ihr Penetrationstest nur auf die Ebenen der Cloud erstrecken darf, über die Sie entsprechend des Shared-Responsibility-Models Verantwortung tragen.
Nehmen Sie gerne Kontakt zu uns auf falls Sie einen Penetrationstest Ihrer Cloud Umgebung benötigen.