Brute-Force Attacken auf Webseiten abwehren

Brute-Force Attacken auf Webseiten sind ein erhebliches Risiko. Gemeint ist damit das Erraten der Passwörter von Benutzerkonten. Diese Angriffe werden in der Regel über Skripte oder Programme durchgeführt. Das bedeutet, dass tausende Versuche sehr rasch ausgeführt werden können. Das größte Problem besteht darin, dass falsche Gegenmaßnahmen die Funktion einer Webseite sehr stark beeinträchtigen.

Die einfache Methode dieser Attacken ist, alle möglichen Passwörter zu probieren. Dies kann aber Jahre dauern bis ein richtiges Passwort erraten wird. Als Abwandlung davon werden Dictionary-Attacks eingesetzt. Hierbei werden bekannte Wörter aus Wörterbüchern direkt oder in abgewandelter Form verwendet. Weil man sich solche Passwörter leichter merken kann, werden diese häufig verwendet. Die Chance auf einen Treffer steigt damit erheblich. Die Kombinationsmöglichkeiten werden damit auf ein paar Tausend reduziert.
Sehen wir uns häufig verwendete Abwehrmethoden dazu an.

Benutzerkonten nach einer bestimmten Anzahl an fehlerhaften Login-Versuchen sperren

Der Nachteil dieser Methode ist, dass ein Angreifer so die gesamten Konten sehr leicht sperren und die Funktion der Webseite damit lahmlegen kann. Er muss einfach nur genug falsche Logins verursachen. Sobald ein Konto wieder entsperrt wurde, wird dies sofort wieder mit falschen Logins vom Angreifer gesperrt.

Zugriff für IP-Adressen sperren

Damit ist gemeint den Zugriff von der IP-Adresse eines potenziellen Angreifers automatisch zu sperren. Das Problem hierbei ist, dass man sehr leicht einen großen Block an “guten” Benutzern aussperrt. Zum Beispiel Personen, welche über einen Proxy von großen Providern surfen oder alle Benutzer eines größeren Unternehmens. Und ein Angreifer wird wahrscheinlich nicht von einer einzigen, sondern von einer großen Anzahl an unterschiedlichen IP-Adressen seine Attacke durchführen.

Captchas einsetzen

Captchas (Completely Automated Public Turing test to tell Computers and Humans Apart) sind Bilder, in denen Text enthalten ist, welcher beim Login eingegeben werden muss. Die Idee dahinter ist, dass Computer im Gegensatz zu Menschen diese Bilder nicht korrekt interpretieren können. Dieses Prinzip kann, zum Beispiel mit OCR-Schrifterkennung, ausgehebelt werden. Je komplexer das Bild ist, umso geringer ist zwar die Erfolgsrate mit OCR-Schrifterkennung. Umso schwieriger wird es allerdings auch für Menschen und die User-Experience sinkt.

Wartezeiten beim Login einbauen

Der Einbau von ein paar Sekunden Wartezeit beim Login wird einen Angreifer nicht stören. Es werden in der Regel mehrere Login-Versuche vom Angreifer gleichzeitig durchgeführt.

Den Angreifer täuschen

Diese Methode ist wenig bekannt und hat eine erstaunlich hohe Erfolgsquote. Sie zielt darauf ab, die Tools des Angreifers zu täuschen. Diese Tools suchen im Normalfall nach Wörtern wie z.B. “Failed Login” oder “Falsches Passwort” um zu erkennen ob ein Login erfolgreich war oder nicht. Man kann wählen, ob man bei falschen Logins diese Meldung für das Tool des Angreifers versteckt, zum Beispiel mit JavaScript, oder bei erfolgreichen Logins die Fehlermeldung trotzdem einbaut. Eventuell in einem HTML-Kommentar oder in einem mit CSS auf visibility:hidden; gesetzten Element wird.

Fazit

Ein erfolgreicher Abwehrmechanismus besteht aus einer speziell zusammengestellten Mischung einzelner Methoden. Zu den Hauptfaktoren zählt die Anzahl der Benutzer und der manuelle Aufwand für Benutzer und Betreiber der Webseite. Beim Einsatz der Methoden sind besonders die technischen Probleme sowie die Einflüsse auf die User-Experience und des Administrationsaufwandes zu beachten.

  1. Performance von Webseiten optimieren
  2. DeepSec 2009 CFP
  3. Porno-Filme auf Youtube
  4. Datenklau! Und was kommt jetzt?
  5. 500000 SMS bei Wikileaks

Empfehlungen