Alles, was Sie über die verschiedenen Arten von Penetrationstests wissen müssen!
Sicherheit ist ein wichtiges Thema für jedes Unternehmen, unabhängig von seiner Größe oder Branche. Ein wichtiger erster Schritt zur Verbesserung der Sicherheit ist oftmals ein Penetrationtest. In unserem zweiten Artikel geht es darum herauszufinden, was ein Penetrationtest überhaupt ist und welche verschiedenen Arten von Penetrationtests gibt es.
Ein Penetrationtest ist ein Sicherheitstest, bei dem ein Experte, auch bekannt als "Pentester", versucht ein System (zum Beispiel Server, Netzwerke, aber auch Applikationen) auf Schwachstellen zu überprüfen, die es ihm ermöglichen verschiedenste Angriffsvektoren zu testen. Das kann beispielsweise das Aneignen von Daten, die Übernahme des gesamten Systems, etc. sein. Die Tester sollen dabei, wie echte Angreifer denken und handeln, um so realitätsnahe Ergebnisse zu erzielen. Die Angriffe werden dokumentiert und die Ergebnisse bewertet, um den Kunden eine Risikoeinschätzung und notwendige Handlungen zur Behebung der identifizierten Schwachstellen zur Verfügung stellen zu können.
Penetrationtests werden in drei Kategorien eingeteilt: Black Box, White Box oder Grey Box. Doch wie kann diese Einteilung bei der Entscheidung für den passenden Penetrationtest helfen? Die Wahl der Pentest-Art bestimmt die Tiefe bzw. das Potenzial der erzielten Ergebnisse. Je nachdem, welches Szenario für den Penetrationtest gewählt wird, bestimmt dies auch den Fokus und die möglichen Schwachstellen, die im Rahmen des Tests entdeckt werden können. Ein weiterer Faktor, der die Wahl des Penetrationtests beeinflusst, ist zum Beispiel der wirtschaftliche Nutzen (Aufwand, Kosten).
Black-Box-Test: Hierbei handelt es sich um eine Art von Penetration-Testing, bei der der Tester minimale Informationen, z.B. URL oder IP über das zu testende System hat. Der Tester hat keinen Zugriff auf interne Systemdokumentationen oder Quellcode, sondern versucht, das System aus der Perspektive eines externen Angreifers anzugreifen. Dieser Ansatz ermöglicht es dem Tester, eine realistische Einschätzung der Sicherheitslage des Systems zu erhalten. Während des Tests versucht der Tester, verschiedene Angriffsszenarien durchzuspielen, die ein Angreifer auch nutzen würde. Beispiele für Angriffsvektoren können Cross-Site Scripting (XSS), SQL-Injection oder Remote Code Execution (RCE) sein. Ein Beispiel für einen Black-Box Penetration-Test: Ein Tester, der die URL für ein Web-Portal erhält, das nur aus einer Login-Seite besteht, sonst aber keine offensichtlichen Angriffspunkte bietet. Dabei wird versucht mit verschiedensten Techniken eine oder mehrere Schwachstellen zu identifizieren, die unter Umständen auch zu einem Attack-Vektor kombiniert werden können.
White-Box-Test: White-Box Penetration-Testing bezieht sich auf eine Art von Penetration-Testing, bei der der Tester erweiterten Zugriff auf das zu testende System hat. Der Tester hat detaillierte Informationen über das System, einschließlich Zugriff auf interne Dokumentationen und Quellcode. Dieser Ansatz ermöglicht es dem Tester, die Sicherheit des Systems im Detail zu überprüfen und spezifische Schwachstellen zu finden. Ein Beispiel für eine White-Box-Penetration-Testmethode ist die statische Codeanalyse. Dabei wird der Source-Code eines Systems untersucht, um mögliche Schwachstellen und Angriffspunkte zu identifizieren. Dies kann mithilfe von speziellen Tools und Techniken erfolgen, die den Code auf bestimmte Merkmale oder Anomalien überprüfen. Ein weiteres Beispiel ist der Joint Code Review. Hier arbeitet man bei der Prüfung des Codes in einem Fachgespräch zusammen und orientiert sich an den Best-Practices des OWASP-ASVS Frameworks.
Grey-Box-Test: Bei Grey-Box Penetration-Testing verfügt der Tester über einige Informationen über das zu testende System. Der Tester kann beispielsweise Zugriff auf eine API-Dokumentation oder einen User-Zugang haben. Dieser Ansatz ermöglicht es dem Tester, spezifischere Angriffe auf das System auszuführen und Schwachstellen zu finden. Ein Beispiel für einen Grey-Box-Test ist beispielsweise die Überprüfung eines Webportals. Der Tester erhält Zugangsdaten eines regulären Users zum Portal, hat jedoch keinen Zugriff auf den Source-Code oder andere interne Details. Der Tester überprüft auf unterschiedlichste Schwachstellentypen basierend auf den OWASP Top-10, zum Beispiel SQL-Injection.
Penetrationtests sind ein wichtiger Teil des Sicherheitsprozesses für jedes Unternehmen. Sie helfen dabei, Schwachstellen in Systemen und Anwendungen aufzudecken und zu beheben, bevor echte Angreifer sie ausnutzen können. Die verschiedenen Arten von Penetrationtests sind für unterschiedliche Zwecke und Bedrohungsszenarien geeignet und jedes Unternehmen sollte die Art des Penetrationtests auswählen, die am besten zu seinen Bedürfnissen passt.