Schwachstellen-Test am Beispiel der Web Application Firewall ModSecurity

Auch Sicherheitssoftware ist unsicher

Seite: 3/5

Anbieter zum Thema

Cross-Site-Scripting (XSS)

Cross-Site-Scripting wird dazu verwendet, Identitätsdaten eines Angriffsopfers auszuspähen, um damit zum Beispiel an die Daten des Opfers zu gelangen. Eine Möglichkeit ist, sich mit Hilfe von Cookies in die Sitzung einzuwählen und somit die Login-Daten des Opfers abzugreifen. Dies ist kann dann geschehen, wenn das Opfer einen Link anklickt, der Cookies zum Angreifer schickt.

Um zu testen, ob eine XSS-Attacke möglich ist, kann ein einfacher JavaScript-Befehl mitgeschickt werden.

<script type="text/javascript">alert("XSS");</script>

Hier wird zwar nur ein Popup-Fenster geöffnet, das den Text „XSS“ beinhaltet. Dies zeigt jedoch, dass Cross-Site-Scripting prinzipiell möglich ist, da JavaScript zugelassen ist. Eine WAF kann die Ausnutzung dieser Art von Sicherheitslücken durch die Kontrolle der Eingaben schließen.

Wenn es zum Beispiel nicht erlaubt ist, die Zeichen < und > zu verwenden, wird diese Anfrage geblockt. Eine Möglichkeit dieses zu umgehen wäre zum Beispiel eine Nutzung von URL Maskierungen – und zwar für „<“ z.B. „%3C“ und für „>“ etwa „%3E“. Diese Zeichen werden vom HTML Interpreter dann als „<“ und „>“ erkannt aber möglicherweise nicht von der Firewall geblockt.

Ergänzendes zum Thema
Weiterführende Literatur

BSI:

Sicherheit von Webanwendungen (Bonn, 2006)

Intermoves GmbH: Web-Applikation Firewall – Grundlagen und Marktübersicht (2013)

OWASP: Best Pratices Guide WAF (2008)

Trustwave: ModSecurity Open Source Web Application Firewall (Chicago, 2013)

SQL Injection

Ähnlich wie beim XSS wird bei einer SQL-Injektion in die http-Anfrage eine manipulierende SQL-Query eingeschleust. Hierbei handelt es sich um SQL-Befehle, die das Ziel verfolgen, Datenbanken zu verändern oder Informationen zu beschaffen. SQL-Injections sind dann erfolgreich, wenn es gelingt, Daten in den SQL-Interpreter einzugeben.

Eine Möglichkeit SQL-Injectionen vorzubeugen, ist das Blacklisting-Verfahren. Hierbei werden bestimmte Zeichen oder Zeichenketten abgeblockt. Zusätzlich zu einer WAF erschweren URL-Encryption oder Hidden-Form-Parameter-Protection es dem Angreifer, Angriffsziele zu identifizieren, da die URL des Opfers für den Angreifer unkenntlich ist bzw. die Parameter nicht identifizierbar sind.

Je nach Art des Eingabefeldes bietet sich auch Whitelisting an. Dabei werden nur zugelassene Eingaben angenommen und alle anderen verworfen. Auch hier wird versucht, mit Hilfe von URL-Maskierungen die Whitelist zu umgehen – etwa mit einem Tabulator oder durch Verwendung verschiedener Zeichen als URL-Maskierung.

(ID:42524255)