Vulnerability Analysis Phase¶
Link zur offiziellen PTES-Dokumentation
Einleitung¶
Die Vulnerability Analysis Phase hat das Ziel, konkrete technische Schwachstellen in den identifizierten Systemen zu erkennen und zu bewerten.
In dieser Phase wird untersucht, welche Schwachstellen vorhanden sind, wie sie ausgenutzt werden könnten und welche Risiken daraus entstehen.
Sie stellt die Verbindung zwischen den theoretischen Bedrohungen aus dem Threat Modeling und den späteren praktischen Angriffen her.
Um was geht es bei dieser Phase?¶
Die Vulnerability-Analysis-Phase konzentriert sich darauf, reale Schwachstellen systematisch zu identifizieren. Dazu gehören:
- das Sammeln technischer Informationen über Systeme und Anwendungen
- die Identifikation bekannter Schwachstellen
- der Einsatz automatisierter Werkzeuge zur Unterstützung
- die manuelle Analyse komplexer oder logischer Schwächen
- die Bewertung von Risiken basierend auf Auswirkung und Wahrscheinlichkeit
- die Priorisierung von Schwachstellen für die Exploitation Phase
Ziel ist es nicht, jede theoretisch mögliche Schwachstelle zu finden, sondern jene,
die realistisch ausnutzbar und relevant für die definierten Bedrohungsszenarien sind.
Fiktives Beispiel: Vulnerability Analysis in der Praxis¶
Ausgangssituation¶
Das Unternehmen betreibt weiterhin die bereits bekannte öffentliche Webanwendung für Kunden.
Die Anwendung basiert auf einem klassischen drei-schichtigen Aufbau:
- Weboberfläche (Browser)
- Webserver mit Login-Funktion
- Datenbank mit Kundendaten und Rechnungen
Nach der Threat-Modeling-Phase ist bekannt, welche Bereiche besonders kritisch sind.
Schritt 1: Sammeln von Informationen¶
In der Vulnerability-Analysis-Phase werden gezielt Informationen gesammelt, um mögliche Schwachstellen zu identifizieren:
- eingesetzte Webserver-Software und Version
- verwendetes Framework der Webanwendung
- eingesetzte Authentifizierungsmechanismen
- sichtbare Formularfelder und Parameter
- verwendete HTTP-Header
Schritt 2: Automatisierte Schwachstellensuche¶
Nun kommen unterstützende Werkzeuge zum Einsatz, um bekannte Schwachstellen zu finden:
- Webserver-Scan zeigt eine veraltete Server-Version
- Scanner erkennt fehlende Security Header
- Hinweise auf unsichere Cookie-Einstellungen
- Warnungen zu schwachen Verschlüsselungseinstellungen
Diese Ergebnisse liefern erste Anhaltspunkte, ersetzen jedoch keine manuelle Analyse.
Schritt 3: Manuelle Analyse der Anwendung¶
Anschliessend wird die Anwendung manuell überprüft:
- Analyse der Login-Funktion
- Überprüfung der Passwort-Richtlinien
- Prüfung der Zugriffskontrolle bei Rechnungs-Downloads
- Überprüfung der Fehlerbehandlung
- Manipulation von URL-Parametern
Schritt 4: Identifizierte Schwachstellen¶
Im Rahmen der Analyse werden beispielhaft folgende Schwachstellen entdeckt:
- Schwache Passwortrichtlinie
-
Kurze Passwörter ohne Komplexitätsanforderungen
-
Fehlende Zugriffskontrolle
-
Rechnungen können über manipulierte Parameter abgerufen werden
-
Unsichere Session-Cookies
-
Cookies sind nicht als
HttpOnlyoderSecuregekennzeichnet -
Informationslecks
- Fehlermeldungen geben interne Systemdetails preis
Schritt 5: Bewertung und Priorisierung¶
Nicht jede Schwachstelle ist gleich kritisch.
Im Beispiel erfolgt die Bewertung anhand von:
- Auswirkung (Impact)
- Ausnutzbarkeit (Likelihood)
- Bezug zu identifizierten Threats
Priorisierung im Beispiel:
- Fehlende Zugriffskontrolle auf Rechnungen (kritisch)
- Schwache Passwortrichtlinie (hoch)
- Unsichere Session-Cookies (mittel)
- Informationslecks (niedrig bis mittel)
Ergebnis der Vulnerability-Analysis-Phase¶
Am Ende der Phase liegt eine strukturierte Liste von:
- konkreten technischen Schwachstellen
- einer klaren Risikobewertung
- einer Priorisierung für die Exploitation-Phase
Diese Phase bildet die Brücke zwischen theoretischen Bedrohungen und konkreten Angriffsmöglichkeiten.