Netzwerk

Was ist Slowloris?

Bei einer DDoS-Attacke werden Systemressourcen oder Netzwerkbandbreiten gezielt überlastet, bis sich die Websites oder Service-Portale des Angriffsziels nur noch stark verlangsamt aufbauen oder gar nicht mehr verfügbar sind. Dazu werden beispielsweise Botnets mit über 100.000 IoT-Geräten zusammengespannt, um das Ziel parallel anzugreifen. Es gibt jedoch eine Schadsoftware, bei der ein einzelner Rechner genügt, um unter minimaler Verwendung von Netzwerkressourcen einen Webserver lahmzulegen. Eine solche Software ist beispielsweise das Angriffstool Slowloris.

/

01

Slowloris: Eine Definition

Bei Slowloris handelt es sich um eine im Jahr 2009 in der Programmiersprache Perl geschriebene Software, mit der sich von einem einzelnen Rechner aus – und unter Einbeziehung nur minimaler Netzwerkressourcen – ein Webserver lahmlegen lässt. Geschrieben wurde sie von Robert „RSnake“ Hansen.

Die nach der Faulaffen-Art Slow Loris benannte Software zwingt den angegriffenen Server durch Langsamkeit in die Knie: Die Software 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, jedoch nie vollständig abgeschlossen. Die Intervalle zwischen den neuen Header-Anfragen sind gerade so getaktet, dass der Server die Verbindung nicht wegen Zeitüberschreitung schließt.

Infolgedessen steigt die Anzahl offener Verbindungen rasch an. Die Zahl der offenen Verbindungen, die ein Webserver gleichzeitig halten kann, ist allerdings begrenzt. Ist die vordefinierte Marke überschritten, werden legitime Anfragen von Webbrowsern abgelehnt und der Server ist somit lahmgelegt.

Ablauf einer Slowloris Attacke

02

Wie läuft eine Slowloris-Attacke ab?

Slowloris macht sich ein Feature des HTTP-Protokolls zunutze: die partiellen HTTP-Anfragen. Clients müssen dabei nicht die gesamten Daten eines GET- oder POST-Requests auf einmal an den Server liefern, sondern können sie auf mehrere Pakete aufteilen.

Je nachdem, wie ein Server konfiguriert ist, bewirkt bereits die erste Teilanfrage, dass der Webserver Ressourcen für die Beantwortung reserviert, während er auf den Rest der Anfrage wartet. Dieser Umstand führt dazu, dass ausgerechnet Webserver, die nur eine begrenzte Zahl paralleler HTTP-Anfragen zulassen, um eine Systemüberlastung zu vermeiden, besonders anfällig für Slowloris-Angriffe sind.

Slowloris ist im Vergleich zu den meisten Flooding-Tools relativ unauffällig, da nur der Webserver selbst betroffen ist und alle anderen Dienste intakt bleiben. Slowloris hat auch einige Tarnfunktionen eingebaut. So kann beispielsweise die Protokolldatei während des Angriffs nicht geschrieben werden, bis die Anfrage abgeschlossen ist. Auf diese Weise lässt sich ein Server minutenlang lahmlegen, ohne dass ein einziger Eintrag in der Protokolldatei auftaucht, um jemanden zu warnen, der diese Datei möglicherweise gerade prüft.

03

Worin besteht der Unterschied zu herkömmlichen DDoS-Attacken?

Im Vergleich zu herkömmlichen Flood-Angriffen kommt eine Slowloris-Attacke mit relativ wenig Ressourcen auf Seiten des Angreifers aus. Auch die Last auf dem Ziel-Server steigt dabei nicht an, vielmehr hält er zu viele Verbindungen zu lange offen, ohne etwas zu tun.

Es handelt sich hierbei allerdings nicht um einen TCP DoS, da eine vollständige TCP-Verbindung hergestellt wird, nicht eine partielle, aber es werden partielle HTTP-Anfragen gestellt. Damit handelt es sich um das Äquivalent zu einer SYN-Flood-Attacke, nur eben über HTTP. Ein Beispiel für den Unterschied ist, dass bei zwei Webservern, die auf demselben Rechner laufen, ein Server mit DoS angegriffen werden kann, ohne dass die andere Webserver-Instanz betroffen ist. Slowloris ist auch kein GET-Request-Flooder. Slowloris benötigt nur ein paar hundert Anfragen in langfristigen und regelmäßigen Abständen, im Gegensatz zu Zehntausenden auf einer kontinuierlichen Basis.

Code auf einem Bildschirm

04

Wer sind die Angreifer?

Die Motive der Cyberkriminellen, die Slowloris einsetzen, unterscheiden sich nicht von denen, die herkömmliche DDoS-Attacken starten: Ihre Motive sind vielfältig und reichen von Erpressung, Schädigung der Konkurrenz, Neid bis hin zu politischem Protest. Das Ziel ist jedoch immer dasselbe: Der dahinterstehenden Organisation soll ein möglichst großer Schaden zugesetzt werden. Das Skript ist derart einfach zu bedienen, dass keine technischen Vorkenntnisse erforderlich sind.

05

Wer ist betroffen?

Slowloris ist vor allem für Webserver, die Thread-Prozesse verwenden und versuchen, diese zu begrenzen, um eine Erschöpfung des Speichers zu verhindern, eine Bedrohung. Betroffen sind mitunter Apache-Server, die den direkten Zugriff aus dem Internet zulassen.

Zu den verwundbaren Systemen zählen unter anderem:

  • Apache 1.x

  • Apache 2.x

  • dhttpd

  • GoAhead WebServer

Ein prominenter Slowloris-Angriff ereignete sich noch im Jahr der Entstehung der Software im Iran: Während der Präsidentschaftswahlen 2009 wurde Slowloris gegen die Webserver der iranischen Regierung eingesetzt. Die Angreifer bevorzugten Slowloris gegenüber einem traditionellen Denial-of-Service-Angriff, da ein solcher herkömmlicher Angriff sehr viele Netzwerkressourcen verbraucht und damit auch der Protestbewegung im Land geschadet hätte. Von den Angriffen mit Slowloris waren gerdab.ir, leader.ir und president.ir betroffen.

06

Nachfolger und Varianten

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:

PyLoris

eine Pythonimplementierung, die Tor- und SOCKS-Proxys unterstützt

QSlowloris

ein Binärprogramm, das unter Windows läuft und eine Qt-Oberfläche hat

dotloris

eine Slowloris-Variante geschrieben in .NET Core

Slowloris.hx

eine Implementation in der Programmiersprache Haxe

Sicherheitsschloss

07

Wie wehrt man eine Slowloris-Attacke ab?

Der Einsatz eines sogenannten HTTPReady-Accept-Filters wurde kurz nach Bekanntwerden der Bedrohung als mögliche Lösung für einen Slowloris-Angriff ins Spiel gebracht. Er bewirkt, dass der HTTP-Server erst dann startet, wenn eine vollständige Anfrage eingegangen ist. Dies gilt allerdings nur für GET- und HEAD-Anfragen. Slowloris kann jedoch seine Methode auch auf POST ändern. In diesem Fall bietet HTTPReady keinen Schutz.

Es gibt keine zuverlässigen Konfigurationen der betroffenen Webserver, die den Slowloris-Angriff verhindern. Es ist jedoch möglich, die Folgen eines solchen Angriffs abzumildern oder zu reduzieren. Die Stellschrauben hierfür sind

  • die Erhöhung der maximalen Anzahl von Clients, die der Server zulässt,

  • die Begrenzung der Anzahl von Verbindungen, die eine einzelne IP-Adresse herstellen darf,

  • die Beschränkung der Mindestübertragungsgeschwindigkeit, die eine Verbindung haben darf,

  • und die Begrenzung der Zeit, die ein Client verbunden bleiben darf.

Schützen kann man Webserver ebenfalls durch den Einsatz von Load-Balancern und Web Application Firewalls (WAF), die nur vollständige HTTP-Anfragen an die Server durchreichen. Im Falle eines bereits erfolgten Angriffs lässt sich das Problem durch die Herabsetzung der Timeout-Parameter für HTTP-Anfragen entschärfen.

Netzwerk

08

Slowloris: Das müssen Sie wissen

DDoS-Attacken lassen sich nicht nur mit massiven Mitteln wie riesigen Botnetzen durchführen – für einen Slowloris-Angriff reicht ein einzelner Rechner, der den angegriffenen Server unablässig mit partiellen Anfragen flutet und damit für gutartige Requests sperrt. Bei einer Slowloris-Attacke ist „nur“ der angegriffene Webserver selbst betroffen, alle anderen Dienste bleiben davon unberührt. Durch bestimmte Konfigurationen bei Webservern lassen sich die Folgen eines solchen Angriffs abmildern. Schutz ist möglich: Load-Balancer und Web Applikation Firewalls, die dafür sorgen, dass nur vollständige http-Anfragen den Server erreichen, bremsen Slowloris erfolgreich aus.

09

Die Lösungen von Myra

Der Myra Multi Cloud Load Balancer erlaubt das Verteilen von Zugriffen auf eine beliebige Anzahl von Servern – auch über mehrere Rechenzentren hinweg. Redundant, hochverfügbar, skalierbar. Der Myra DDoS Schutz in Verbindung mit der Myra Hyperscale WAF schützt Anwendungen vor unzulässigen und gefährlichen Anfragen. Die sofort skalierbare Lösung ermöglicht nahezu unbegrenzte Kapazität zur Anfragenabwehr.