Denial of Service

So funktionieren DDoS-Angriffe

17.01.2017
Von Alfredo Vistola

Drei Angriffsarten

Frühere DoS/DDoS-Angriffe spielten sich auf Netzwerkebene (Layer-2 bis Layer-4) ab, aktuelle Attacken schließen häufig die Applikationsebene mit ein (bis Layer-7). Sie lassen sich in drei Kategorien unterteilen:

1. Low-Level Protokoll-Angriffe (SYN-Flooding, Connection Flooding, ICMP Flooding)

2. HTTP Flooding (HTTP Flooding, Slowloris, Slow POST, SSL attacks)

3. DNS attacks (attacks against DNS infrastructure)

Einfache Netzwerkangriffe

Einfache DDoS-Angriffe werden auch "Flooding" genannt und basieren darauf, dass eine überwältigende Menge an Netzwerkverkehr an das gewünschte Ziel gesendet, es quasi "überschwemmt" wird. Das Ziel (beispielsweise der Server) oder ein Gerät vor dem Ziel (wie ein Router oder eine Firewall) kann der Last nicht standhalten und der übrige, legitime Datenverkehr erreicht daraufhin den Backend-Server nicht mehr.

Ein TCP-SYN-Flooding-Angriff ist für diese Art von verteilen Angriffen typisch. Sie sind so konzipiert, dass sie den "Stateful"-Verbindungsmechanismus der Geräte, die auf Layer-4 abzielen (beispielsweise Hosts) oder die Verbindungstabelle für "Stateful"-Geräte (z.B. Stateful Firewalls) zum Überlaufen bringen.

Eine normale Verbindung zwischen einem Benutzer und einem Server: Der Drei-Wege-Handshake verläuft korrekt.
Eine normale Verbindung zwischen einem Benutzer und einem Server: Der Drei-Wege-Handshake verläuft korrekt.
Foto: F5 Networks

Um zu verstehen, wie ein SYN-Flood-Angriff funktioniert, ist es notwendig, die grundlegenden Mechanismen des TCP-Protokolls zu kennen. Zum Aufbau einer TCP-Verbindung auf Layer-4 sendet der Client ein Paket mit gesetztem SYN-Flag. Der Server empfängt das SYN-Paket, schreibt einen Eintrag in seine Verbindungstabelle und schickt ein SYN-ACK-Paket zurück. Im Normfall sendet der Client anschließend ein ACK-Paket an den Server, um den Verbindungsaufbau abzuschließen. Dieser Vorgang wird als Drei-Wege-Handshake bezeichnet (SYN, SYN-ACK, ACK).

SYN Flood: Ein Angreifer sendet mehrere SYN-Pakete, sendet aber keine ACK-Pakete zum Server zurück. Die Verbindungen sind somit halboffen und verbrauchen Server-Ressourcen.
SYN Flood: Ein Angreifer sendet mehrere SYN-Pakete, sendet aber keine ACK-Pakete zum Server zurück. Die Verbindungen sind somit halboffen und verbrauchen Server-Ressourcen.
Foto: F5 Networks

Bei einem SYN-Flood-Angriff sendet ein bösartiger Client ebenfalls ein SYN-Paket an den Server, will damit aber keine Verbindung aufbauen. Er wartet nicht auf die SYN-ACK Antwort vom Server, sondern sendet sofort eine Vielzahl neuer SYN-Pakete. So schafft es ein einzelner Client durchaus, einen ungeschützten Server zu überlasten. Wenn nun beispielsweise 1000 Clients eines Botnets je 1000 SYN-Pakete an den gleichen Server schicken, wird dieser versuchen, eine Million Verbindungen aufzubauen. Eine Zahl, die weit über die Grenzen eines einzelnen Standardhosts hinausgeht.

Weitere Arten von Low-Level DoS/DDoS-Angriffen

  • Connection-Flooding: Dabei werden Tausende oder Millionen von vollständigen stateful-Verbindungen zum Ziel-Host erstellt.

  • ICMP-Flooding: Das Internet Control Message Protocol (ICMP) dient dem Austausch von Informations- und Fehlermeldungen über das Internet. Das Senden einer Vielzahl von ICMP-Paketen (z.B. PING-Paketen) kann den Zielhost außer Gefecht setzen, da er versucht, alle ICMP-Pakete abzuarbeiten.

  • Smurf-Angriff: Es wird eine Schwachstelle in falsch konfigurierten Netzwerken benutzt. Dabei sendet der Angreifer Ping-Pakete (ICMP-Echo-Requests) an die Broadcast-Adresse eines Netzwerks. Als Absender wird in diese IP-Pakete die Adresse des anzugreifenden PCs (Opfer) eingetragen. Je nach Konfiguration des Routers leitet dieser die Anfrage in das innere Netz weiter. Das hat zur Folge, dass alle angeschlossenen Clients dem Opfer auf die vermeintliche Anfrage antworten. Je nach Anzahl der Clients kann der Angreifer auf diese Art mit nur einem ICMP-Paket eine hohe Anzahl von Antworten an das Opfer erzeugen.

Alle drei Arten der "Lower-Level"-Netzwerk-Angriffe werden häufig zusammen mit "Higher-Level"-Applikationsangriffen wie HTTP-Flooding kombiniert.

Zur Startseite