Konkrete Kritik an CVSS4
Marc Ruef
Im Bereich der Computersicherheit, namentlich in Bezug auf Sicherheitüberprüfungen, wird oftmals mit Terminologien gehadert. Abseits von diffusen technischen Definitionen treten aber auch in der allgemeinen Umgangssprache potentielle Missverständnisse auf. In diesem Zusammenhang soll das Fehlen einer klaren Definition der folgenden Beiden Begriffe diskutiert werden:
Das Ausnutzen einer Schwachstelle setzt also stets eine Ursache voraus. Durch das Heranziehen einer Technik zur Ausnutzung dieser wird die gewünschte Wirkung provoziert:
Ursache ⇒ Ausnutzung ⇒ Wirkung
Als Ursache kann das Fehlen einer Eingabeüberprüfung verstanden werden. Diese kann zu einer Reihe von Angriffsmöglichkeiten führen. Beispielsweise kann eine SQL-Injection gegeben sein, deren Ausnutzung zu erweiterten Zugriffsmöglichkeiten auf der Datenbankebene führen kann:
Fehlerhafte Eingabeüberprüfung ⇒ SQL-Injection ⇒ Erweiterter Datenbankzugriff
Oftmals herrscht Verwirrung darüber, was nun eine Ursache und was eine Wirkung ist. Nachfolgende Liste versucht exemplarisch aufzuzeigen, wie die verschiedenen Fehlerquellen, Angriffstechniken und Auswirkungen kategorisiert werden können:
Informationen | |||
---|---|---|---|
⇒ | Fehlerhafte Zugriffe | Sonderzeichen, nicht abgeschlossene Eingaben | |
⇒ | Sensitive Informationen | Benutzernamen, Passwörter, … | |
⇒ | Personenbezogene Informationen | Namen, Anschrift, Mailadressen, … | |
⇒ | Technische Informationen | Technische Details (z.B. interne IP-Adressen) | |
Eingabeüberprüfung | |||
⇒ | Pufferüberlauf | Überlange Eingaben überschreiben Speicherbereiche | |
⇒ | Ausführen von Programmcode | Ändern des EIP zum Laden eigenen Programmcodes | |
⇒ | Denial of Service | Fehlerhaftes Überschreiben von Speicherbereichen | |
⇒ | Format String | Formatierungstoken verändern Programmverhalten | |
⇒ | Ausführen von Programmcode | Ändern des EIP zum Laden eigenen Programmcodes | |
⇒ | Denial of Service | Fehlerhaftes Überschreiben von Speicherbereichen | |
⇒ | SQL-Injection | SQL-Statements erlauben Datenbankzugriffe | |
⇒ | Datenbankleserechte | Injizieren von lesenden SQL-Statements | |
⇒ | Datenbankschreibrechte | Injizieren von schreibenden SQL-Statements | |
⇒ | Ausführungsrechte | Ausführen von Programmen (z.B. xp_cmdshell ) | |
⇒ | Denial of Service | Überlasten von Ressourcen, Löschen von Objekten | |
⇒ | Script-Injection | Injizieren von Script-Anweisungen | |
⇒ | Leserechte | Lesezugriffe auf Webseite/Webbrowser | |
⇒ | Schreibrechte | Schreibzugriffe auf Webseite/Webbrowser | |
⇒ | Ausführungsrechte | Ausführung von Scripten auf Webseite/Webbrowser | |
⇒ | Denial of Service | Überlasten von Ressourcen (z.B. Loops) | |
⇒ | Directory Traversal | Injizieren von Pfadanweisungen (z.B. ../ ) | |
⇒ | Dateileserechte | Lesezugriffe auf geschützte Bereiche | |
⇒ | Dateischreibrechte | Schreibzugriffe auf geschützte Bereiche | |
⇒ | Dateiausführungsrechte | Ausführung von geschützten Programmen | |
⇒ | Denial of Service | Überlasten von Ressourcen | |
⇒ | OS Command Injection | Injizieren von Programmanweisungen | |
⇒ | Systemausführungsrechte | Ausführung von geschützten Programmen | |
⇒ | Systemleserechte | Lesezugriffe auf geschützte Bereiche | |
⇒ | Systemschreibrechte | Schreibzugriffe auf geschützte Bereiche | |
⇒ | Denial of Service | Überlasten von Ressourcen | |
Verschlüsselung | |||
⇒ | Kryptoanalyse | Brechen eines kryptografischen Mechanismus | |
⇒ | Lesezugriffe | Einsehen geschützter Kommunikationen/Bereiche | |
⇒ | Manipulationen | Verändern geschützter Kommunikationen/Objekte | |
⇒ | Analyse | Indirektes Verständnis für Kommunikationen/Objekte | |
⇒ | Denial of Service | Überlasten v. Ressourcen, Löschen v. Informationen | |
Ressourcen | |||
⇒ | Überlastung | Ausschöpfen verfügbarer Ressourcen | |
⇒ | Denial of Service | Verhindern legitimer Abarbeitung/Zugriffe | |
⇒ | Downgrade | Schutzmechanismen (z.B. Verschlüsselung schwächen) |
Die Anzahl der Unterkategorien zeigt auf, dass die meisten Sicherheitsprobleme in Applikationen auf fehlerhafte oder fehlende Eingabeüberprüfungen zurückzuführen sind. Werden solche nämlich vollumfänglich und richtig umgesetzt, dann lassen sich klassische und bisweilen verhältnismässig simple Angriffstechniken wie SQL-Injection und Cross Site Scripting nicht ohne weiteres umsetzen. Eine Einführung in die Umsetzung von effektiven Eingabeüberprüfungen sind in den folgenden drei Beiträgen bereitgestellt:
Unsere Spezialisten kontaktieren Sie gern!
Marc Ruef
Marc Ruef
Marc Ruef
Marc Ruef
Unsere Spezialisten kontaktieren Sie gern!