Schwachstellensuche

Penetrationstest in der Cloud

05.11.2013 von Markus  Seyfried
Cloud-Provider rühren derzeit kräftig die Werbetrommel für ihre Dienste - die abhör- und ausspähsicher und damit geschäftstauglich sein sollen. Beweisen lassen sich diese Aussagen kaum - eine gute Argumentationsbasis können Penetrationstests und daraus resultierende Zertifikate sein.

Industriespionage, Totalüberwachung, Datenklau - es gibt viele Argumente, die rein aus IT-Security-Sicht gegen den Einsatz von (Public-)Cloud-Lösungen sprechen könnten. Unternehmen sind deshalb gut beraten, bei der Nutzung von Cloud-Technologien nicht nur auf die Verfügbarkeit von Diensten, sondern auch auf die Einhaltung von Sicherheitsstandards zu achten. Nur weil die Übertragung von Daten verschlüsselt erfolgt, ist noch lange nicht die gesamte Kommunikation abgesichert - die jüngste Fällen von Kundendatenklau bei Mobilfunk- und Softwarelizenzanbietern zeigen das.

Anerkannte Prüfer sind Grundvoraussetzung für Sicherheitstests

Unternehmen, die einen Austausch von Geschäftsdaten über die Cloud ermöglichen, müssen also besonders wachsam sein. Kunden erwarten sichere Transportwege und eine sichere Datenverwaltung - am liebsten mit einem entsprechenden Nachweis. Als solcher dienen zum einen Zertifizierungen der Informationssicherheit nach ISO, zum anderen Zertifikate durch unabhängige externe Dienstleister, die sich auf Penetrationstests spezialisiert haben. In der Regel werden die Pentests von wechselnden externen Institutionen oder Anbietern vorgenommen. Das gewährleistet, dass nicht immer "Schema F" angewandt wird. Darüber hinaus schafft es die nötige Distanz, um nicht eine zu starke Bindung zu einem Dienstleister hervorzurufen, die vom Markt negativ betrachtet werden kann. Regelmäßige Tests sind sinnvoll und spätestens bei einem größeren Software-Update unabdingbar.

Was genau und mit welchen Methoden geprüft wird - automatisiert mit Tools, manuell ohne oder mit Tools oder beides -, hängt vom jeweiligen Einsatzgebiet und von den Dienstleistern ab. Welche potenziellen Schwachstellen sowohl seitens der Anbieter als auch seitens der Kunden besondere Beachtung verdienen, ist jedoch unstrittig und soll im Folgenden vorgestellt werden.

SaaS-Bezugsquellen in Deutschland (Angaben in Millionen Euro)
2015 werden rund acht Prozent der Umsätze mit Software as a Service (SaaS) - das entspricht einem Transaktioinsvolumen von 280 Millionen Euro - über Marktplätze generiert. Rund 10 Prozent gehen auf das Konto des Channel-Vertriebs. 2016 allerdings kehrt sich dieses Verhältnis allerdings um: Der Anteil des indirekten Vertriebs liegt dann bei rund 8 Prozent, der Anteil der Marktplätze bei über 11 Prozent. Der Anteil des Direktvertriebs über den Hersteller sinkt von rund 85 Prozent im Jahr 2013 auf rund 80 Prozent im Jahr 2016. (Quelle: Experton Group 2013)
Nutzen der Cloud aus Anwendersicht
Das Gros der befragten Mittelstandsunternehmen halten Cloud Computing für nützlich. (Quelle: TechConsult IT-Cloud Index Mittelstand 07/2013)
Warum sich Unternehmen nicht auf Cloud vorbereitet fühlen
Fehlendes Bewusstsein seitens der Geschäftsführung und der Fachabteilungen für die Chancen von Cloud Computing und mangelndes Know-how sind nach Ansicht der befragten Mittelstandskunden das größte Hindernis für die Einführung von Cloud-Lösungen. (Quelle: Techconsult IT-Cloud Index Mittelstand 07/2013)
Diese Beratungsleistung wünschen sich Anwender von ihren Dienstleistern
Hilfe bei der Einführung und Integration sowie Aufklärung zu den Risiken stehen auf der Wunschliste ganz oben. (Quelle: Techconsult IT-Cloud Index Mittelstand 07/2013)

Testen von Schwachstellen bei Cloud-Diensten

Eine Auswahl der wichtigsten Angriffsmöglichkeiten, die bei der Überprüfung auf Schwachstellen einer Software berücksichtigt werden sollten, bildet die OWASP-Liste. Diese Zusammenfassung des Open Web Application Security Project (OWASP) greift die aktuell wichtigsten Schadstellen auf, die bei einem Hackerangriff auf Applikationen zu berücksichtigen sind. Mehr zum Projekt und zur deutschen Organisation findet sich unter www.owasp.org/index.php/Germany.

Die häufigsten Angriffsmöglichkeiten und was sie für einen Penetrationstester von Cloud-Dienste-Anbietern bedeuten:

SQL-Injection
Die Datenbank ist das Herzstück - insofern auch ein beliebter Angriffspunkt. Bei einer Überprüfung der Sicherheit ist es daher wichtig, dass der Tester (bei jedem Penetrationstest) versucht, hier mögliche Lücken zu finden. Der Pentester wird in der Regel versuchen, Datenbankabfragen in die Nutzerformulare einzugeben. Ziel ist, das Softwaresystem dazu zu bringen, die Abfragen gegen die Datenbank auszuführen. Dahinter steht der Wunsch, an unerlaubte beziehungsweise überhaupt an Daten zu gelangen, die normalerweise nur berechtigten Anwendern zur Verfügung stehen.

Cross-Site-Scripting
Ein Hacker versucht beim Cross-Site-Scripting-Angriff, Skripte in die Anwendung einzugeben. Die Skripte sollen dann beim (regulären) Anzeigen der Seiten ausgeführt werden. Dadurch eröffnet ein Nutzer dem Angreifer die Möglichkeit, verschiedene Attacken einzuschleusen. Beispielsweise kann das Script Schadcode enthalten, der etwa Informationen ausspähen und weiterleiten kann.

Session Hijacking
Um Zugriff auf eine Applikation zu erlangen, ist das Abgreifen ("hijacken") der Sitzungs-ID eine komfortable und beliebte Methode. Wer es schafft, die Sitzungs-ID zu erhalten, die den Client gegenüber dem Server identifiziert, ist "drin" und gibt sich nicht als Fremder zu erkennen. Dieser Angriff ist besonders unangenehm, weil er unter fremder Identität erfolgt und kaum nachweisbar ist.

Cross-Site Request Forgery
Meist dient das Cross-Site-Scripting als Grundlage dafür, den Nutzer auf eine andere Seite als die von ihm gewünschte umzuleiten. Dabei soll durch diese sogenannte Schad-URL Information abgegriffen oder der Zugang zum fremden Rechner ermöglicht werden. Cloud-Anwendungen, die unter fest definierten URLs laufen, bieten diese Möglichkeit seltener. Zudem fällt es aufmerksamen Anwendern schnell auf, dass sie umgeleitet werden - in diesem Fall sollten sie die Verbindung sofort abbrechen. Dennoch ist der Pentest auf mögliche Angriffsstellen nötig.

Directory Traversal
Beim sogenannten Directory Traversal richtet sich die Attacke direkt an den Webserver, um Daten ausgeliefert zu bekommen. Dabei versucht der Pentester, eine URL einzugeben, die das System veranlassen soll, Dateien zu übertragen. Selbstverständlich sollte das nicht möglich sein, dennoch ist die Überprüfung insbesondere bei Cloud-basierten Diensten mehr als eine Lappalie.

E-Mail-Injection
Um sich eine E-Mail mit eigentlich geschützten Inhalten senden zu lassen, muss der Hacker selbstverständlich erst einmal Zugang zum System haben. Schafft er diese Hürde, versucht er bei einem Angriff via E-Mail-Injection, Test in ein Formular einzugeben, um eine automatisch versendete Mail-Antwort mit geschützten Informationen zu erhalten. Auch dieser Fall sollte getestet und verhindert werden.

Man-in-the-Middle-Angriff
Beim Man-in-the-Middle-Hack versucht der Angreifer, sich in die Kommunikation zwischen Client und Server einzuklinken, um an geheime Informationen zu kommen. Dies bedeutet, dass im Idealfall der harmlose Nutzer auf eine fremde Umgebung gelenkt wird, statt den eigentlichen Webdienst aufzusuchen. Dies geschieht so, dass es dem Anwender zunächst gar nicht auffallen muss, weil sich der "In-the-Middle-Rechner" einfach zwischen die beiden Stationen einklinkt. SSL-Zertifikate schützen in der Regel davor; wenn aber der Angreifer sich Zugang hierzu verschaffen kann, ist auch SSL-Verschlüsselung nicht ausreichend.

Nicht alle Angriffspunkte sind für den Anbieter prüfbar

Im Rahmen der Penetrationstests bei Cloud-basierten Anwendungen kommen die folgenden, ebenfalls gängigen Attacken nicht zur Überprüfung durch die Tester:

Denial of Service
Eine Denial-of-Service-Attacke ist - unabhängig von den Anwendungen - für jedes Netzwerk ein Problem. Solche Angriffe lassen sich zwar simulieren - doch die tatsächliche Situation, dass ein System durch ein enormes Aufkommen von Anfragen lahmgelegt wird, lässt sich kaum voraussagen und auch nur in geringem Maße verhindern. Im Prinzip lässt sich jede Webseite lahmlegen, daher ist dies in der Regel nicht Bestandteil von Pentests.

Man-in-the-Browser
Ähnlich verhält es sich mit dem Angriff auf den Nutzerrechner, der via Man-in-the-Browser-Attacke erfolgen kann. Auch das ist eine Maßnahme, bei der Dienstleister nicht testen, weil hier keine serverseitigen Schutzmechanismen greifen.

Phishing / Identitätsdiebstahl
Der direkte Angriff beim Benutzer, die Versuche, die Identität des Anwenders zu stehlen und so einen legalen Zugriff auf den Cloud-Dienst zu erreichen, ist kaum zu testen. Insofern konzentrieren sich Testinstitute auf die tatsächlich Cloud-Dienst-relevanten Attacken und die Schlupflochsuche der Softwarelösungen.

Tests nur für die Software, nicht für die Installation beim Kunden

Bei allen Überprüfungen muss unterschieden werden, ob die Software an sich oder im laufenden Betrieb getestet werden soll. Letzteres funktioniert nur mit Einverständnis der Anwender und ist - trotz diverser Absicherungsmöglichkeiten - mit Risiken behaftet. Zum einen können Daten verloren gehen, zum anderen können Einfallstore durch die IT-Infrastruktur des Kunden gegeben sein, die sich nicht durch die eingesetzte Software auffangen lassen. In der Regel beschränken sich die Anbieter Cloud-basierter Dienste jedoch auf das Testen der eigenen Umgebung und Infrastruktur, die entsprechend zertifiziert werden kann.

Seriosität der Pentester ist Grundvoraussetzung

Für manche Tests sind Tools im Umlauf, die sich je nach Komplexität der Anwendung nutzen lassen. Sie sind jedoch anwendungsspezifisch und werden regelmäßig aktualisiert oder gleich ganz vom Markt genommen und durch Nachfolgeprodukte ersetzt. Wer sich einen Überblick über die verfügbaren Lösungen verschaffen möchte, findet beispielsweise in der deutschsprachigen Wikipedia unter dem Stichwort "IT-Sicherheitsaudit" eine Zusammenfassung. Viele Tools eignen sich nur für spezielle Tests - auch das ist in einem Wikipedia-Eintrag zur Software unter "Penetrationstest (Informatik)" erklärt. Wichtig für Anwender ist allerdings nicht, womit und wie, sondern eher, wie gut getestet wurde. Hier geht es zum einen um die Frage nach den angewandten Methoden, zum anderen aber auch um die Glaubwürdigkeit der Tester. Im Idealfall stellen die Prüfer der Software ein entsprechendes Security-Zertifikat aus; auch Audit-Protokolle können solch eine Funktion erfüllen.

Bedrohungen für Datenzentren
Verbindungsdaten können einfach verknüpft und analysiert werden
Die Sealed Cloud schützt die Metadaten
In der Sealed Cloud lassen sich Daten nicht fangen
Vereinfachte technische Sicht der Sealed Cloud
Cybercrime-Kosten für Unternehmen 2013
ABC-Analyse der Sicherheit eines Datenzentrums

Hilfreich ist es, wenn die Pentest-Dienstleister unabhängig sind, also nicht selbst eine Sicherheitssoftware entwickelt haben, vertreiben oder mit entsprechenden Herstellern geschäftlich verbunden sind. Außerdem empfehlen Experten, die Penetrationstests nicht immer vom selben Unternehmen vornehmen zu lassen, um erst gar keine Routine aufkommen zu lassen. Das Vertrauen in die Glaubwürdigkeit und das Renommee der Tester ist übrigens sowohl bei den Anbietern als auch bei den Nutzern eine Grundvoraussetzung dafür, dass ein Zertifikat akzeptiert wird. In Deutschland gibt es (noch) kein Ranking der Institutionen oder Unternehmen, die sich auf Penetrationstests spezialisiert haben. Insofern sind Referenzen die beste (und fast einzige) Möglichkeit, dieses Vertrauen zu gewinnen. (ad/hal)