Penetrationstests – Möglichkeiten, Nutzen und Alternativen

Die Anfragen für Penetrationstests sind häufig sehr unterschiedlich. Dies hängt direkt mit dem Wissensstand der Fachseite zusammen, die diese Anfragen formuliert. Ein Beispiel aus der Praxis: Angefragt wird die Prüfung von Servern und Infrastruktur. In der detaillierten Leistungsbeschreibung sind dann Adressen von Webanwendungen genannt.

Damit ist der Fokus der Prüfungen nicht klar. Sofern es wirklich um die Prüfung von Servern und Infrastruktur, wie zum Beispiel Firewallsystem gehen soll, ist die Vorgehensweise eine andere als bei der Prüfung von Webanwendungen. Es handelt sich in beiden Fällen dabei um Penetrationstests. Die Prüfmethodik ist jedoch eine andere. Aus der Prüfmethode ergeben sich auch andere Prüfrisiken.

Basisprüfungen von Systemen sind vergleichsweise risikoarm. Prüfungen von Anwendungen, insbesondere auf Produktivsystemen, bergen je nach Anwendung große Risiken. Beispielsweise die Veränderung von Daten, Integritätsverlust, oder auch der Ausfall von Anwendungen, selbst wenn der Ausfall durch sogenannte Denial-of-Service-(DoS)-Angriffe nicht explizit provoziert wird.

Definition Penetrationstests

Es gibt sehr viele unterschiedliche Definitionen von Penetrationstests. Versucht man alle Definitionen auf eine möglichst allgemeingültige und möglichst prägnante Definition zu verkürzen, so kann man folgendes formulieren:

„Ein Experte führt für einen Zeitraum X einen Angriff gegen Ziel Y nach Vorgehensmodell Z durch.“

Letztlich wird das Risikoprofil des Angreifers abgebildet, den man simulieren möchte. Wie viel Zeit wird der Angreifer sich mit einem Ziel auseinander setzen? Welche Expertise hat der Angreifer?

Es macht einen erheblichen Unterschied, ob man beispielsweise für die Prüfung einer Anwendung nur wenige Stunden zur Verfügung hat oder mehrere Tage. In wenigen Stunden ist keine baldige Prüfaussage möglich. Selbst bei einfachen Anwendungen ist dies nicht möglich.

Bei systembasierten Prüfungen hingegen, bei denen also je System auf erreichbare Dienste und bekannte Schwachstellen innerhalb dieser Dienste geprüft wird, ist der manuelle Prüfaufwand vergleichsweise gering. Die geprüften Protokolle und Dienste sind stark automatisiert prüfbar. Dennoch gibt es von den Prüfwerkzeugen erkannte Schwachstellen, die aufgrund falscher „Indizien“ identifiziert wurden (sogenannte False-Positives). Diese muss der Prüfer selbstverständlich durch manuelle Verifikation  der Schwachstellen identifizieren. Darüber hinaus gibt es einige wenige rein manuell durchführbare Prüfungen.

Bei der Prüfung von Anwendungen oder auch bei der Prüfung von individuellen Lösungen wie etwa speziellen Produkten mit speziellen Produkteigenschaften ist die Anforderung an die Expertise des Prüfers ungleich höher.

Nutzen von Penetrationstests

Ein Penetrationstest ist im Regelfall keine deterministische Vorgehensweise. Insbesondere da der Faktor Zeit und die Aufteilung der Zeit eine gewichtige Rolle spielen. Meist werden Penetrationstests zum Festpreis durchgeführt. Dabei steht die zur Verfügung stehende Zeit im Vorfeld fest. Welchen Anteil der Projektzeit reine Prüfzeit darstellt, ist im Vorfeld für keine Partei abschließend vorhersehbar. Die Prüfzeit besteht aus den eigentlichen Prüfungen, aber auch der Lösung  bei Prüfproblemen. So kommt es regelmäßig in der Prüfpraxis vor, dass Systeme und Anwendungen während der Prüfung verlangsamt antworten oder ganz abstürzen. Dies alles geht auf das Projektkontingent.

Ebenso unklar ist im Vorfeld, wie viel Zeit für die Dokumentation der Ergebnisse notwendig sein wird. Je mehr Schwachstellen während eines Tests gefunden werden, desto mehr Zeit benötigt der Prüfer für die Dokumentation. Dieses mehr an Zeit für die Dokumentation im Falle von vielen Schwachstellen geht von der effektiven Prüfzeit innerhalb des Gesamtkontingents ab. So kann es Fälle geben, bei denen durch Testabbrüche und eine Vielzahl von Anwendungen die angestrebte Prüftiefe in einem Projekt nicht erreicht werden kann. Dies ist jedoch klar zu dokumentieren. In einem solchen Fall ist die nicht erreichte Prüftiefe kein Praxisproblem. Es ist offensichtlich, dass das Prüfobjekt erheblich und grundsätzlich verbessert werden muss.

Der Nutzen eines Penetrationstests hängt also klar von der Expertise des Testers und der Aufbereitung des Ergebnisses ab.

Etablierte Prüfstandards

Eine grundsätzliche Definition für Penetrationstests stellt das Durchführungskonzept  des Bundesamts für Sicherheit in der Informationstechnik (BSI) dar.

Für spezifische Prüffälle bietet beispielsweise das Open Web Application Security Project, bekannt durch die zehn häufigsten Risiken in Webanwendungen (OWASP Top 10), mit dem OWASP Testing Guide eine hervorragende Möglichkeit einen granularen Prüfplan und damit auch Prüfnachweis bei der Prüfung von Webanwendungen zu pflegen.

Anbieterqualifizierung

Es gibt wenige Möglichkeiten zur Prüfung der Qualifikation eines Anbieters. Ausschreibende Stellen sollten sich vorab einige Mitarbeiterprofile des Anbieters übergeben lassen. Deren Expertise sollte die Anforderungen abbilden. Im Falle, dass andere Personen, als die angebotenen, eingesetzt werden, sollte der Ausschreibende sich ein Vetorecht einräumen. Ein wichtiger Aspekt bei der Qualifikation von Prüfern sind die Berufserfahrung, die Erfahrung in der spezifischen Prüfdomäne und personenbezogene Zertifizierungen. So gibt es zum Beispiel in Deutschland durch das BSI-zertifizierte IT-Dienstleister für Penetrationstests. Diese beschäftigen entsprechend durch das BSI geprüfte und zertifizierte Penetrationstester. Das BSI als Behörde ist wirtschaftlich unabhängig in seinen Feststellungen und führt selbst Penetrationstests für Bundesbehörden durch. Die Wertigkeit des Zertifikats ist entsprechend hoch. Es gibt weitere personenbezogene kommerzielle Prüfungen, so zum Beispiel Offensive Security Certified Professional (OSCP) oder der deutlich theoretische Certified Ethical Hacker (CEH).

Darüber hinaus empfiehlt es sich, Referenzen zu prüfen. Es ist zwar schwer Referenzen in diesem Segment zu erhalten. Für Unternehmen die sich lange genug erfolgreich am Markt positioniert haben, sollten Referenznennungen kein Problem darstellen.

Herausforderung spezieller Prüfungen

Es ist nicht unüblich, dass sehr spezielle Umgebungen überprüft werden müssen. Dies können zum Beispiel Automatisierungsumgebungen, Radarnetze oder Produktklassen wie etwa Geldspielgeräte sein. Im Gegensatz zu Standardprüfungen, wie beispielsweise der Prüfung von Webshops, gibt es hierfür selbstredend im seltensten Fall eine spezialisierte, standardisierte und etablierte Vorgehensweise. Daher empfiehlt es sich mit wenigen grundsätzlich qualifizierten Anbietern entsprechende Workshops vorab abzuhalten. Dabei werden durch den Ausschreibenden die Prüfziele vorgestellt. Der Anbieter hat dann die Möglichkeit spezifische Fragen zu stellen und mögliche Prüfungen aus den Angaben abzuleiten. In diesen Gesprächen ist meist relativ klar erkennbar, welche Anbieter für diese Art von Spezialprüfungen besonders geeignet sind.

Oder doch lieber ein Audit?

Es kommt in der Praxis immer wieder vor, dass Organisationen Penetrationstests planen, jedoch das zu betrachtende Risikoprofil eigentlich eher für ein Audit geeignet ist. Bei einem Audit werden zum Beispiel auf Basis der Grundschutzkataloge des BSI Grundsätze der technischen Implementierung und der Prozesse im Unternehmen abgefragt. Für kleinere Unternehmen ist der Cyber-Sicherheits-Check von ISACA und BSI eine sehr effiziente und kostengünstige Möglichkeit eine Bewertung der Informationssicherheit festzustellen. 2017 wird ein spezieller Cyber Sicherheits-Check für Industrie 4.0 veröffentlicht.

Es stellt sich also nicht die Frage ob Penetrationstest oder Audit, sondern in welcher Reihenfolge dies für eine Organisation sinnvoll ist.

Autor des Artikels:

Tobias Glemser

Geschäftsführer der secuvera GmbH, Gäufelden, BSI-zertifizierter Penetrationstester