Slowloris

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Slowloris
Entwickler Robert "RSnake" Hansen
Aktuelle Version 0.7
(17. Juni 2009)
Programmier­sprache Perl
ha.ckers.org/slowloris/

Slowloris ist eine Software, mit der ein einzelner Rechner unter minimaler Verwendung von Netzwerkressourcen einen Webserver lahmlegen kann. Slowloris greift speziell den Webserver an, gegen andere Dienste wirkt es nicht. Autor der Software ist Robert „RSnake“ Hansen.[1]

Slowloris versucht, möglichst viele Verbindungen zum Zielserver aufzubauen und diese so lange wie möglich offen zu halten. Dieser Effekt wird durch paralleles Öffnen von Verbindungen und Senden von Teilanfragen erreicht. Von Zeit zu Zeit werden die Teilanfragen durch weitere HTTP-Header ergänzt, die Anfragen werden aber nie vollständig abgeschlossen. Dadurch steigt die Anzahl offener Verbindungen rasch an. Da die Anzahl offener Verbindungen, die ein Webserver gleichzeitig halten kann, begrenzt ist, werden legitime Anfragen von Webbrowsern abgelehnt – der Server ist lahmgelegt.[1]

Betroffene Webserver[Bearbeiten]

Viele Webserver sind für diese Art des Angriffs anfällig, darunter Apache 1.x, Apache 2.x, dhttpd und der GoAhead WebServer.[1]

Gegenmaßnahmen[Bearbeiten]

Es gibt derzeit kein wirksames Mittel gegen einen Slowloris-Angriff, aber es gibt Möglichkeiten, dessen Auswirkungen zu verringern. Diese umfassen:

  • die maximale Anzahl gleichzeitiger Verbindungen des Webserver erhöhen
  • die maximale Anzahl von Verbindungen von einer IP-Adresse beschränken
  • die Zeitspanne, die ein Client verbunden bleiben darf, verringern

Speziell für den Apache-Webserver gibt es eine Reihe von Modulen, die den Schaden durch Slowloris verringern können, so zum Beispiel mod_limitpconn, mod_qos, mod_evasive, mod_security, mod_noloris, und mod_antiloris.[1][2][3] Seit Version 2.2.15 enthält Apache das Modul mod_reqtimeout, welches von den Entwicklern als offizielle Lösung vorgeschlagen wird.[4]

Weitere Gegenmaßnahmen sind Reverse-Proxys, Firewalls, Load Balancer, Layer-3-Switches[5] und die Verwendung eines Webservers, der immun gegen diese Art des Angriffs ist.

Verwendung[Bearbeiten]

Während der Präsidentschaftswahlen 2009 im Iran wurde Slowloris gegen die Webserver der iranischen Regierung eingesetzt.[6]

Slowloris wurde gegenüber einem traditionellen Denial-of-Service-Angriff bevorzugt, weil ein traditioneller Angriff sehr viele Netzwerkressourcen verbraucht und damit auch der Protestbewegung geschadet hätte.[7]

Von den Angriffen waren gerdab.ir, leader.ir und president.ir betroffen.[8]

Ähnliche Programme[Bearbeiten]

Seit der Veröffentlichung von Slowloris sind einige weitere Programme erschienen, die die Funktion von Slowloris nachahmen und weitere Funktionen bieten oder in anderen Umgebungen laufen:[9]

  • PyLoris – eine Pythonimplementierung, die Tor- und SOCKS-Proxys unterstützt.[10]
  • QSlowloris – ein Binärprogramm, das unter Windows läuft und eine Qt-Oberfläche hat.[11]
  • Eine (unbenannte) PHP-Version, die ironischerweise im Apache-HTTP-Server läuft.[12]
  • Slowloris.hx – eine Implementation in der Programmiersprache Haxe

Einzelnachweise[Bearbeiten]

  1. a b c d http://ha.ckers.org/slowloris/
  2. http://serverfault.com/questions/32361
  3. http://bahumbug.wordpress.com/2009/07/01/mod_noloris-defending-against-dos/
  4. https://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html
  5. http://www.cupfighter.net/index.php/2009/06/slowloris-css/
  6. http://isc.sans.org/diary.html?storyid=6622
  7. http://iran.whyweprotest.net/general-discussion/2156-list-anti-protester-sites-2.html
  8. http://iran.whyweprotest.net/help-iran-online/6194-condensed-list-sites-w-pictures-part-1-a.html
  9. http://samsclass.info/seminars/slowloris.pdf
  10. http://motomastyle.com/pyloris/
  11. http://cyberwar4iran.blogspot.com/
  12. http://seclists.org/fulldisclosure/2009/Jun/0207.html

Weblinks[Bearbeiten]