Die zunehmende Digitalisierung von Produkten, Dienstleistungen und Prozessen hat auch die potenzielle Angriffsfläche für Cyberangriffe vergrößert. Webanwendungen, APIs, Unternehmensinfrastrukturen oder vernetzte Geräte können Schwachstellen aufweisen, die – wenn sie nicht rechtzeitig erkannt werden – sensible Informationen gefährden, die Funktionsfähigkeit eines Systems beeinträchtigen oder sogar zu einem Ausfall von Diensten führen können.
Ein Penetrationstest (Pentest) ist eine Sicherheitsüberprüfung, bei der mögliche Angriffstechniken unter kontrollierten Bedingungen simuliert werden. Ziel ist es, Schwachstellen zu identifizieren, ihre tatsächliche Ausnutzbarkeit zu überprüfen und die möglichen Auswirkungen auf ein System zu bewerten.
Im Gegensatz zu einer automatisierten Schwachstellenanalyse besteht ein Penetrationstest nicht einfach darin, Tools gegen ein System auszuführen. Vielmehr handelt es sich um einen geplanten und strukturierten Prozess, bei dem im Vorfeld festgelegt werden muss, was überprüft werden soll, welchen Umfang die Tests haben, welche Methodik angewendet wird und wie die Ergebnisse dokumentiert werden.
Doch welche Aspekte sollten bei der Durchführung eines Penetrationstests berücksichtigt werden? Im Folgenden betrachten wir die wichtigsten Punkte.
Ziele eines Penetrationstests
Im Kern soll ein Penetrationstest eine zentrale Frage beantworten: Könnte ein Angreifer die Vertraulichkeit, Integrität oder Verfügbarkeit des Systems beeinträchtigen?
Dies kann beispielsweise durch unbefugten Zugriff, die Manipulation von Daten, die Unterbrechung eines Dienstes oder das Herbeiführen eines unerwarteten Systemzustands erfolgen.
Das konkrete Ziel hängt vom jeweiligen Kontext und vom untersuchten System ab – beispielsweise einer API, einer Webanwendung, einer medizinischen Anwendung, einer internen Infrastruktur oder einem vernetzten Gerät. Das grundlegende Ziel bleibt jedoch dasselbe: Schwachstellen zu identifizieren und zu bewerten, inwieweit daraus ein tatsächliches Risiko für die Organisation entsteht.
Arten von Penetrationstests: Black Box, Grey Box und White Box
Vor Beginn der Tests wird der Testansatz abhängig davon festgelegt, welche Informationen über das Zielsystem zur Verfügung stehen.
Black Box
Das Penetrationstest-Team verfügt über keinerlei Vorwissen über das System. Dieser Ansatz bildet die Perspektive eines externen Angreifers vergleichsweise realitätsnah ab.
Grey Box
Dem Testteam stehen begrenzte Informationen oder Zugriffsrechte zur Verfügung, beispielsweise Zugangsdaten eines Standardbenutzers oder ausgewählte technische Dokumentationen.
White Box
Das Testteam verfügt über umfassende Kenntnisse des Systems. Dazu können Quellcode, Systemarchitektur, technische Dokumentation und Zugangsdaten gehören.
Die Wahl zwischen Black-Box-, Grey-Box- und White-Box-Testing beeinflusst sowohl den Umfang und die Tiefe der Prüfung als auch die Angriffsszenarien, die untersucht werden können.
Phasen eines Penetrationstests
Der genaue Ablauf kann je nach System und definierten Zielen variieren. Ein Penetrationstest umfasst jedoch typischerweise folgende Phasen:
- Festlegung des Testumfangs (Scope): Die zu prüfenden Systeme, Anwendungen oder Komponenten sowie die Rahmenbedingungen und Einschränkungen des Tests werden definiert.
- Informationsbeschaffung: Relevante Informationen über die Zielumgebung und mögliche Angriffsvektoren werden gesammelt.
- Identifikation und Analyse von Schwachstellen: Potenzielle Sicherheitslücken werden mithilfe automatisierter Verfahren und manueller Analysen identifiziert.
- Kontrollierte Ausnutzung: Soweit vorgesehen, wird überprüft, ob identifizierte Schwachstellen tatsächlich ausgenutzt werden können und welche Auswirkungen daraus entstehen könnten.
- Bewertung der Auswirkungen: Das tatsächliche Risiko jeder Schwachstelle und die möglichen Folgen für das System oder die Organisation werden bewertet.
- Dokumentation und Reporting: Die gewonnenen Nachweise werden dokumentiert und die Ergebnisse zusammen mit geeigneten Maßnahmen zur Behebung bzw. Risikominimierung dargestellt.
Methoden und Best Practices für Penetrationstests
Um eine angemessene Testabdeckung und eine nachvollziehbare Durchführung sicherzustellen, können Penetrationstests auf international anerkannten Methoden und Frameworks basieren.
OWASP
Das OWASP (Open Worldwide Application Security Project) stellt Ressourcen und Leitfäden für die Sicherheitsprüfung von Webanwendungen und APIs bereit, darunter den OWASP Web Security Testing Guide (WSTG) und die OWASP API Security Top 10.
OSSTMM
Das OSSTMM (Open Source Security Testing Methodology Manual) bietet eine strukturierte Methodik für die Durchführung operativer Sicherheitstests.
PTES
Der PTES (Penetration Testing Execution Standard) strukturiert den Ablauf eines Penetrationstests von den vorbereitenden Phasen und der Informationsbeschaffung über die Exploitation und Analyse bis hin zum Reporting.
Die Anwendung anerkannter Methoden trägt dazu bei, Tests systematisch, reproduzierbar und nachvollziehbar durchzuführen.
Tools und Techniken bei Penetrationstests
Ein Penetrationstest kombiniert in der Regel automatisierte Tools mit manuellen Testverfahren.
Automatisierte Werkzeuge können beispielsweise für Schwachstellenscans, Fuzzing oder bestimmte Exploitation-Aktivitäten eingesetzt werden. Die Expertise eines Sicherheitsspezialisten bleibt jedoch unverzichtbar.
Durch manuelle Tests lassen sich unter anderem Fehler in der Geschäftslogik, Möglichkeiten zur Rechteausweitung, Schwachstellenketten oder unerwartetes Systemverhalten identifizieren, die automatisierte Tools möglicherweise nicht erkennen.
Ein effektiver Penetrationstest sollte sich daher nicht ausschließlich auf die Ergebnisse automatisierter Schwachstellenscanner stützen.
Dokumentation und Nachvollziehbarkeit eines Penetrationstests
Die Dokumentation ist ein wesentlicher Bestandteil des gesamten Prozesses. Jeder durchgeführte Test sollte dokumentiert werden, einschließlich:
- Ziel des Tests.
- Eingesetzte Tools oder Methoden.
- Durchgeführte Schritte.
- Erfasste Nachweise.
- Ergebnisse und Schlussfolgerungen.
Diese Informationen dienen nicht nur der Erstellung des Abschlussberichts. Sie ermöglichen dem Kunden auch nachzuvollziehen, was getestet wurde, wie die Tests durchgeführt wurden, welche Schwachstellen identifiziert wurden und welche Auswirkungen diese haben können.
