Penetration Testing

Wie funktioniert Penetration Testing?

Wird die Simulation eines Hackerangriffs auf eigene Systeme durchgeführt, wird dies als Penetration Testing oder auch als Penetrationstest bezeichnet. Entwickler, Sicherheitsverantwortliche und IT-Betriebe nutzen solche Angriffe, die kontrolliert ausgeführt werden dazu, die Sicherheit ihrer eigenen Systeme gegen externe Cyber-Attacken besser einschätzen zu können.

Wie ein Penetrationstest dabei im Detail abläuft und welche Schritte zu berücksichtigen sind, wird im folgenden Artikel erläutert.

Das verbirgt sich hinter dem Penetration Testing

Mit dem überwachten und kontrollierten Angriff im Rahmen des Penetration Testings wird grundsätzlich das Ziel verfolgt, in der eigenen IT bis dato unbekannte Schwachstellen und Sicherheitslücken aufzudecken sowie dabei eine möglichst große Menge an Daten zu gewinnen.

Bei dem Penetrationstest wird jedoch keinem starr definierten Prozesses gefolgt. Vielmehr handelt es sich bei der Simulation um einen Überbergriff, durch welchen verschiedene praktische Methoden von Cyber-Angriffen zusammengefasst werden. Abzugrenzen ist das Penetration Testing dabei jedoch von dem sogenannten Vulnerability Assessment, welches hauptsächlich einen Scan darstellt, um die vorhandenen Sicherheitsmechanismen der IT einschätzen zu können.

Unter festgelegten Rahmenbedingungen wird dagegen bei dem Penetration Testing das System tatsächlich angegriffen. Es besteht dabei eine enge Begriffsverwandtschaft zu dem Ethical Hacking. Grundsätzlich ist auch eine unternehmensinterne Durchführung des Penetrationstest möglich. Als legal wird der Vorgang nur dann gewertet, wenn im Vorfeld eine genaue Definition des Tests durch die durchführende und die zu testende Partei stattgefunden hat und die jeweiligen Vereinbarungen freigegeben wurden.

So läuft der Penetrationstest in der Praxis ab

Damit eine praktische Umsetzung des Penetration Testings möglich ist und dabei zu keinem Zeitpunkt eine ernsthafte Gefahr für das Netzwerk besteht oder unbeabsichtigt ein DoS ausgelöst wird, müssen im Rahmen des Tests verschiedene Stufen berücksichtigt werden.

Planung und Aufklärung

Die Grundlage für den Penetrationstest besteht darin, festzulegen, welche Systeme der Test genau umfassen soll und welcher Umfang der Überprüfung dabei angestrebt wird. Die Fragen, die diesbezüglich zu berücksichtigen sind, weisen nicht nur eine technische, sondern ebenfalls eine rechtliche Natur auf.

Die Partei, welche das Penetration Testing durchführt, muss über die gewählten Systeme relevante Informationen beschaffen und ihre Funktionsweise verstehen, um so die potentiellen Schwachstellen für ihre Zwecke nutzen zu können.

Untersuchungen und Scans

Eingesetzt werden dann sowohl dynamische als auch statische Analysen, damit die Untersuchung des Codes und der Funktionsweise in Echtzeit möglich ist.

In der Theorie wird der Einblick dabei durch eine statische Code-Analyse geliefert, wohingegen sich die dynamische Analyse detailreicher gestaltet – diese gibt schließlich den tatsächlichen Betriebsstatus wieder.

Der einmalige Zugriff

Das Aufzeigen der vorhandenen Schwachstellen eines Systems erfolgt dann durch die Verwendung von SQL-Injektionen, Cross-Site Scripting oder Web Applikationen.

Die so gefundenen Schwächen werden anschließend dafür genutzt, Privilegien des Nutzers auszuweiten, Daten zu erhalten oder Traffic abzufangen. Dadurch lässt sich präziser definieren, welches Ausmaß der Schaden bei einem echten Hacker-Angriff voraussichtlich aufweisen würde.

Der dauerhafte Zugriff

Bei dem Schritt des dauerhaften Zugriffs wird dagegen detaillierter überprüft, ob eine Aufrechterhaltung des Zugriffs möglich wäre und welche Tiefe die vorhandenen Sicherheitslücken aufweisen.

Simuliert werden dadurch sogenannte APTs, also Advanced Persistent Threats. In der Realität stehlen diese monatelang Daten und sensible Unternehmensinformationen.

Finale Analyse

Der letzte Schritt des Penetration Testings besteht dann in der Zusammenfassung der gewonnen Erkenntnisse.

Es wird dabei dokumentiert, welche Sicherheitslücken für den Eingriff in das System verwendet wurden, auf welche Daten zugriffen werden konnte und über welchen Zeitraum der Zugriff möglich war.