Slowloris-DDoS-Angriff

Der Slowloris-Angriff versucht, einen Zielserver zu überwältigen, indem viele zeitgleiche HTTP-Verbindungen zum Ziel geöffnet und aufrechterhalten werden.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Slowloris-DoS-Angriff definieren
  • Wie ein Slowloris-Angriff funktioniert
  • Verschiedene Slowloris-Abwehrstrategien verstehen

Link zum Artikel kopieren

Was ist ein Slowloris-DDoS-Angriff?

Der Slowloris ist ein Denial-of-Service-Angriff, mit dem der Angreifer, einen Zielserver überwältigt, indem viele zeitgleiche HTTP-Verbindungen zum Ziel geöffnet und aufrechterhalten werden.

Slowloris Attack Diagram

Wie funktioniert ein Slowloris-Angriff?

Slowloris ist ein Application-Layer-Angriff, bei dem teilweise HTTP-Teilanfragen verwendet werden. Der Angriff funktioniert, indem Verbindungen zu einem Zielwebserver geöffnet werden und dann so lange wie möglich geöffnet bleiben.


Slowloris ist keine Angriffskategorie, sondern ein spezielles Angriffstool, mit dem ein einzelner Computer einen Server herunterfahren kann, ohne viel Bandbreite zu verbrauchen. Im Gegensatz zu bandbreitenintensiven reflexionsbasierten DDoS-Angriffen wie NTP-Amplification nutzt diese Art von Angriff eine geringe Bandbreite und zielt stattdessen darauf ab, Serverressourcen mit Anfragen zu erschöpfen, die zwar langsamer als gewöhnlich erscheinen, aber ansonsten den regulären Datenverkehr imitieren. Er fällt in die Kategorie der Angriffe, die als „Slow and low“-Angriffe bezeichnet werden. Auf dem Zielserver stehen nur begrenzt viele Threads zur Verfügung, um zeitgleiche Verbindungen zu verarbeiten. Jeder Server-Thread versucht, am Leben zu bleiben, während er auf den Abschluss der langsamen Anfrage wartet, die niemals eintritt. Wenn die maximal möglichen Verbindungen des Servers überschritten wurden, werden weitere Verbindungen nicht mehr beantwortet und es kommt zu einem Denial-of-Service.

Ein Slowloris-Angriff erfolgt in 4 Schritten:

  1. Der Angreifer öffnet zunächst mehrere Verbindungen zum Zielserver, indem er mehrere HTTP-Teilanforderungsheader sendet.
  2. Das Ziel öffnet für jede eingehende Anforderung einen Thread mit der Absicht, den Thread zu schließen, sobald die Verbindung hergestellt ist. Ein Server will effizient bleiben. Sollte eine Verbindung also zu lange dauern, wird der Server das Zeitlimit für die extrem langsame Verbindung wegen Zeitüberschreitung abbrechen und den Thread für die nächste Anforderung freigeben.
  3. Um zu verhindern, dass das Ziel die Verbindungen abbricht, sendet der Angreifer regelmäßig Teilanfrage-Header an das Ziel, um die Anfrage am Leben zu erhalten. Im Wesentlichen sagt er: „Ich bin immer noch hier! Ich bin nur langsam, bitte warte auf mich.“
  4. Der Zielserver kann niemals eine der offenen Teilverbindungen freigeben, während er darauf wartet, dass die Anfrage beendet wird. Sobald alle verfügbaren Threads verwendet werden, kann der Server nicht mehr auf zusätzliche Anfragen aus dem regulären Datenverkehr reagieren, was zu einem Denial-of-Service führt.

Was den Slowloris-Angriff ausmacht, ist seine Fähigkeit, mit sehr geringem Bandbreitenverbrauch großen Ärger zu verursachen.

Wie wird ein Slowloris-Angriff bekämpft?

Für Webserver, die für Slowloris anfällig sind, gibt es Möglichkeiten, einige der Auswirkungen zu bekämpfen. Schadensbegrenzungsoptionen für anfällige Server können in drei allgemeine Kategorien unterteilt werden:

  1. Erhöhen der Serververfügbarkeit – Erhöhnt man die maximalen Anzahl zeitgleich zugelassener Clients, muss auch der Angreifer eine größere Zahl an Verbindungen herstellen, bevor er den Server überlasten kann. Realistisch gesehen kann ein Angreifer die Anzahl der Angriffe skalieren, um die Serverkapazität unabhängig von diesen Erhöhungen zu überwältigen.
  2. Eingehende Rate-Limiting-Anfragen – Wenn Sie den Zugriff auf bestimmte Nutzungsfaktoren beschränken, können Sie einen Slowloris-Angriff bekämpfen. Techniken wie die Begrenzung der maximalen Anzahl von Verbindungen, die eine einzelne IP-Adresse eingehen darf, die Begrenzung langsamer Übertragungsgeschwindigkeiten und die Begrenzung der maximalen Zeit, die ein Client verbunden bleiben darf, sind alles Ansätze, um Slow-and-Low-Angriffe zu beschränken.
  3. Cloud-basierter Schutz – Verwenden Sie einen Dienst, der als Reverse-Proxy fungieren kann und den Ursprungsserver schützt.

Wie bekämpft Cloudflare einen Slowloris-Angriff?

Cloudflare puffert eingehende Anfragen, bevor etwas an den Ursprungsserver gesendet wird. Dadurch kann ein „Low and Slow“-Angriffs-Traffic wie bei Slowloris-Angriffen niemals das beabsichtigte Ziel erreichen. Erfahren Sie mehr darüber, wie der DDoS-Schutz von Cloudflare Slowloris-Angriffe aufhält.