9 bewährte Penetration-Testing-Methoden 2021: Schützen Sie Ihr Unternehmen
In der heutigen Unternehmenswelt ist Sicherheit das vorherrschende Thema. Täglich hören wir von Angriffen, bei denen Hacker Computersysteme infiltrieren und kritische Daten stehlen.
Allein 2019 wurden in den USA 1.473 Datenschutzverletzungen gemeldet, bei denen über 164 Millionen sensible Datensätze offengelegt wurden. Im ersten Halbjahr 2020 belief sich die Zahl auf 540. — Statista Report
Um Sicherheitslücken und Schwachstellen aufzudecken, führen viele große Unternehmen autorisierte, simulierte Cyberangriffe auf ihre eigenen Systeme durch – bekannt als Penetration Testing (kurz: Pen Test). Ziel ist es, Sicherheitslücken zu identifizieren und zu beheben, bevor Angreifer sie ausnutzen können.
Konkret simuliert Penetration Testing reale Angriffszenarien, um Sicherheitslücken (in sicherer Umgebung) zu finden und auszunutzen, die zu Datendiebstahl, kompromittierten Zugangsdaten oder anderen geschäftsschädigenden Folgen führen könnten.
Tests können intern mit Pen-Testing-Tools oder durch externe Anbieter durchgeführt werden. Der Prozess beginnt typischerweise damit, dass ein Sicherheitsexperte das Zielnetzwerk enumeriert, um verwundbare Geräte oder Konten zu erkennen – also jeden Netzwerkanschluss auf offene Ports mit aktiven Diensten zu scannen.
Der Eindringtiefe hängt davon ab, welche Art von Operation der Tester auf dem Zielsystem untersuchen möchte. Daher muss der Tester die relevantesten Pen-Test-Arten gut kennen.
Penetrationstests lassen sich nach Durchführungsart sowie nach angegriffenen Assets und Komponenten klassifizieren. In diesem Überblicksartikel erläutern wir verschiedene, intensive und invasive Penetration-Testing-Typen.
Penetration Testing nach verwendeten Methoden
1. Black-Box-Testing
- Testfälle lassen sich sofort entwerfen
- Kann bestimmte Arten von Fehlern aufdecken
Beim Black-Box-Penetrationstest hat der Tester keinen Zugriff auf die Anwendung, Netzwerkkonfiguration oder interne Informationen des Kunden. Er führt die gesamte Aufklärung selbst durch, um benötigte Informationen zu gewinnen.
Diese Testart deckt Schwachstellen auf, die von außerhalb des Netzwerks ausnutzbar sind. Die Erkennung basiert auf dynamischer Prüfung aktuell laufender Programme und Systeme im Zielnetzwerk.
Der Tester sollte mit automatisierten Scantools und manuellen Penetration-Testing-Techniken vertraut sein. Da keine Vorkenntnisse über Systemkonfiguration oder Anwendungscode vorliegen, muss der Black-Box-Tester in der Lage sein, basierend auf eigenen Beobachtungen eine eigene Karte des Zielnetzwerks zu erstellen.
Das begrenzte Wissen verhindert, dass der Tester alle Systemschwachstellen findet – der Hauptnachteil dieses Ansatzes. Wenn Tester nicht alle Perimeter durchbrechen, bleiben interne Schwachstellen unentdeckt.
Dennoch können bestimmte Fehler aufgedeckt werden, wie Server-Fehlkonfigurationen und Eingabe-/Ausgabe-Validierungsfehler. Um effizienter mehr Schwachstellen zu erkennen und zu beheben, sollten Black-Box-Methoden mit anderen Testtools kombiniert werden.
Für Black-Box-Penetrationstests stehen zahlreiche Tools zur Verfügung. Wapiti analysiert beispielsweise Webanwendungen auf potenzielle Schwachstellen durch Injizieren temporärer Daten.
2. White-Box-Testing
- Umfassender
- Ermöglicht Code-Optimierung und Erkennung verborgener Sicherheitsprobleme
Wie der Name andeutet, ist White-Box-Penetrationstest das Gegenteil von Black-Box-Testing. Der Tester hat vollen Zugriff auf Architekturdokumentation, Quellcode und andere Systeminformationen.
Tester durchsuchen die große Datenmenge nach potenziellen Schwachstellen. Sie können sowohl statische als auch dynamische Code-Analysatoren und Debugger einsetzen.
Da Tester das System vollständig kennen, dauert es länger, zu entscheiden, welche Module zuerst getestet und welche spezifischen Tools verwendet werden sollen.
JUnit, PyUnit und Selenium zählen zu den beliebtesten Open-Source-White-Box-Testing-Tools. Selenium wird beispielsweise zur Validierung von Webanwendungen über verschiedene Browser und Plattformen eingesetzt.
3. Gray-Box-Testing
- Identifiziert signifikante Schwachstellen mit geringerem Aufwand und Kosten
- Test erfolgt aus Benutzersicht statt aus Entwicklersicht
Dies kombiniert Black-Box- und White-Box-Penetrationstest. Der Gray-Box-Tester verfügt über Teilkenntnisse der Systeminterna, wie Datenbank- und Designdokumente. Mit diesem begrenzten Wissen kann er bessere Testdaten und Testfälle für den Testplan erstellen.
Diese Testart liefert eine effizientere, fokussiertere Sicherheitsbewertung als Black-Box-Assessments. Sie deckt Fehler durch unsachgemäße Anwendungsnutzung oder Code-Struktur auf – genauer: kontextspezifische Fehler durch Konzentration auf alle Ebenen komplexer Systeme.
Gray-Box-Testing eignet sich besonders für funktionale Tests, Webanwendungen, Webservices, Sicherheitsbewertungen und GUIs. Burp Suite ist ein populäres Gray-Box-Tool, das Anwendungslücken durch Angriffe auf potenziell unsichere Stellen ausnutzt.
Unterschiede der drei Testtechniken
| Black-Box-Penetrationstest | Gray-Box-Penetrationstest | White-Box-Penetrationstest |
|---|---|---|
| Keine Kenntnis der internen Systemfunktionsweise erforderlich | Teilweise Kenntnis der internen Systemfunktionsweise erforderlich | Vollständige Kenntnis der internen Systemfunktionsweise erforderlich |
| Sehr schwierig, versteckte Fehler zu finden | Schwierig, versteckte Fehler zu finden | Einfach, versteckte Fehler zu finden |
| Auch als Closed-Box-Testing oder datengesteuertes Testen bekannt | Auch als Transluzentes Testen bekannt | Auch als Clear-Box-Testing, strukturelles Testen oder codebasiertes Testen bekannt |
| Am wenigsten zeitaufwendig | Teilweise zeitaufwendig | Am umfassendsten und zeitaufwendigsten |
| Am besten für Eingabe-/Ausgabe-Validierungsfehler | Am besten für Testen von Datendomänen und Systemdesign geeignet | Am besten für Testen von Algorithmen, Code-Struktur und internen Grenzen geeignet |
| Tests werden von Endbenutzern, Entwicklern und Testern durchgeführt | Tests werden von unabhängigen Testern und Entwicklern durchgeführt | Tests werden von Testern und Entwicklern durchgeführt |
Penetration Testing nach angegriffenen Komponenten
1. Netzwerkdienst-Testing
- Verhindert Netzwerk- und Datenschutzverletzungen
- Gewährleistet Netzwerk- und Systemsicherheit
Beim Netzwerk-Penetrationstest werden Sicherheitslücken in Anwendungen und Systemen durch verschiedene schädliche Methoden aufgedeckt, um die Netzwerksicherheit zu prüfen.
Typischerweise identifiziert der Tester ausnutzbare Netzwerke, Hosts, Systeme und Geräte (wie Switches und Router), um Schwachstellen aufzudecken. Da ein Netzwerk sowohl externe als auch interne Zugriffspunkte hat, sind Tests sowohl remote von außen als auch lokal vor Ort beim Kunden obligatorisch.
Dies hilft Testern, das Risikoniveau der Organisation zu verstehen und Sicherheitslücken zu beheben. Je nach Risiko können sie unterschiedliche Netzwerkbereiche gezielt testen, beispielsweise:
- Stateful-Analyse-Testing
- Firewall-Konfigurations-Testing
- Firewall-Bypass-Testing
- DNS-Angriffe
Die am häufigsten untersuchten Protokolle umfassen:
- Simple Mail Transfer Protocol (SMTP)
- File Transfer Protocol (FTP)
- Secure Shell (SSH)
- MySQL und SQL Server
Je nach Systemgröße und -komplexität dauert ein Netzwerk-Penetrationstest ein bis vier Wochen. Tester können erst nach Projektumfang eine detaillierte Schätzung abgeben.
2. Webanwendungs-Pen-Testing
Schritte zur Durchführung eines Web-App-Pen-Tests
- Identifiziert Schwachstellen in Design und Konfiguration
- Lokalisiert Eindringlinge und blockiert sie
Da viele Webanwendungen sensible Daten speichern, ist ihre permanente Absicherung essenziell. Ein Weg: Web-App-Penetrationstests in den Softwareentwicklungszyklus (SDLC) integrieren.
Pen-Tests erleichtern die Ermittlung von Schwachstellen der gesamten Webanwendung und ihrer Komponenten – Datenbank, Backend-Netzwerk, Quellcode. Entwickler können so Schwächen priorisieren und Gegenmaßnahmen entwickeln.
Diese Testart umfasst Datensammlung über die Ziel-Web-App, Mapping des Hostnetzwerks und Prüfung aller möglichen Injektions- oder Manipulationsangriffspunkte. Hauptgründe für Web-App-Pen-Testing:
- Unbekannte Schwachstellen erkennen
- Öffentlich exponierte Komponenten (Router, Firewalls) prüfen
- Anfälligste Angriffswege finden
- Lücken aufspüren, die zu Datendiebstahl führen könnten
- Wirksamkeit bestehender Sicherheitsrichtlinien prüfen
Für manuelle und automatisierte Web-App-Penetrationstests stehen viele Tools bereit. Vega, Veracode und ZAP sind gängige Optionen für schnelle Tests.
3. Wireless-Pen-Testing
- Ermittelt die realistische Sicherheitslage von WLAN-Netzwerken
- Behebt Schwachstellen und Sicherheitsrichtlinien/Verfahren
Wireless-Penetrationstests erfassen und analysieren Verbindungen aller Geräte, die mit dem Unternehmens-WLAN verbunden sind – Laptops, Smartphones, Tablets, Drucker und andere IoT-Geräte.
Verschiedene Wireless-Protokolle und Access Points werden auf Sicherheitslücken geprüft. Tests finden meist vor Ort statt, da der Tester im Bereich der Funksignale sein muss.
Häufig liegen Schwachstellen an WLAN-Access-Points durch fehlendes MAC-Filtering und unzureichende Netzwerkzugriffskontrollen. Um diese Probleme präventiv zu beheben, ist es entscheidend, die Wirksamkeit der Sicherheitslage zu testen und unbeabsichtigte Schwachstellen aufzudecken.
Wichtig: WLAN ist nicht die einzige ausnutzbare Wireless-Technologie. Auch Bluetooth-Geräte, Bluetooth Low Energy und weniger verbreitete Technologien wie Z-Wave und DECT (Schnurlostelefone) sind in der Öffentlichkeit präsent.
4. Client-Seite-Penetrationstest
- Erkennt Sicherheitsfehlkonfigurationen in Client-seitiger Software
- Ermöglicht Kontrolle von ein- und ausgehendem Netzwerkverkehr
Dies ist ein interner Pen-Test, bei dem Tester Schwachstellen in clientseitigen Anwendungen wie Webbrowsern, Adobe Acrobat, E-Mail-Clients, Macromedia Flash etc. ausnutzen.
Obwohl keine festen Intervalle für solche Tests vorgeschrieben sind, sollten Unternehmen Pen-Tests durchführen, wenn neue IT-Infrastruktur oder clientseitige Anwendungen hinzukommen oder bestehende Infrastruktur geändert wird.
Die meisten Client-seitigen Schwachstellen resultieren aus ungepatchter Software auf Laptops oder Desktops. Angreifer können sogar den Update-Prozess abfangen und Schadcode mit dem Original-Update ausliefern.
USB-Geräte können mit bösartigen Dateien oder ausführbarem Code infiziert sein, der bei Anschluss automatisch ausgeführt wird. Cross-Site-Scripting, Form-Hijacking, Clickjacking, HTML-Injection und Open-Redirect zählen zu den häufigsten clientseitigen Sicherheitsangriffen.
Daher ist es wichtig, die Anfälligkeit von Mitarbeitern und die Fähigkeit des Netzes zu testen, clientseitige Angriffe zu erkennen und darauf zu reagieren.
5. Externes Pen-Testing
- Sicherheitsbewertung der Perimetersysteme eines Unternehmens
- Umfasst sowohl Anwendungs- als auch Netzwerkschicht-Bewertungen
Externes Penetrationstesting testet generell aus Angreifersicht ohne vorherigen Zugriff auf Zielsystem oder -netzwerk. Dies unterscheidet sich von internem Pen-Testing, bei dem der Angreifer bereits einen Fuß in der kompromittierten Maschine hat.
Beim externen Pen-Test versucht der Tester, über Schwachstellen an externen Assets Zugriff auf das interne Netzwerk zu erlangen. Er führt Reconnaissance an den In-Scope-Assets durch und sammelt Daten zu allen Assets im Scope.
Diese Daten können offene Ports, Schwachstellen oder Mitarbeiterinformationen für Passwortangriffe umfassen. Sobald der Perimeter durchbrochen ist, ist das Ziel des externen Penetrationstests erreicht, und der Tester geht zum internen Pen-Testing über.
Weiterlesen: 30 nützliche Bug-Tracking-Tools für Entwickler
6. Social Engineering
- Ahnungslose Mitarbeiter dazu bringen, die Unternehmenssicherheit zu kompromittieren
- Menschliche Psychologie ausnutzen, um vertrauliche Daten zu erhalten
Social Engineering bezeichnet eine breite Palette bösartiger Aktivitäten über menschliche Interaktion. Da es auf menschlichem Versagen basiert (nicht auf Anwendungs- oder Netzwerkschwächen), ist es weniger vorhersagbar und schwerer zu erkennen als Malware-basierte Einbrüche.
Diese Tests versuchen, vertrauliche Daten zu erlangen, indem Mitarbeiter getäuscht werden, sensible Informationen preiszugeben. Dies kann remote oder physisch erfolgen.
Weiterlesen: 15 beste Testdaten-Generierungs-Tools
Remote-Testing umfasst Phishing-E-Mails an Mitarbeiter oder das Bombardieren ihrer Geräte mit Fehlalarmen oder erfundenen Bedrohungen. Physisches Testing beinhaltet Tailgating, Identitätsdiebstahl, Mülltonnen-Durchsuchen, physische Drohungen etc.
Industrietechnik
- 14 gängige Computerviren-Arten: Schutz Ihrer Systeme (Update 2021)
- 5 Rechenzentrums-Modelle erklärt: Design, Use Cases & Beispiele
- 8 Schlüssel-Cloud-Computing-Modelle 2021
- 9 bewährte Penetration-Testing-Methoden 2021: Schützen Sie Ihr Unternehmen
- Anti-Aliasing verstehen: 6 Typen & Methoden für glatte digitale Bilder
- 5 Wesentliche Schweißnahtarten: Design, Qualität & Kostenauswirkung
- 15 Wichtige Fräsmaschinen-Typen für Präzisionsmetallbearbeitung
- 10 wesentliche Gussmodell-Typen für optimale Metallproduktion
- Moderne Wartungsstrategien für Fertigungserfolg
- 5 essenzielle Gerätetests für zuverlässige Bauleistung