Verschiedene Arten von DDoS Attacken

Ein Bericht über die verschiedenen Arten von DDoS Attacken und deren Funktionsweisen.

Reto Odoni

Dieser Artikel beschreibt die Grundlagen verschiedener DDoS Attacken und deren Unterschiede zueinander. Es wurde versucht die Thematik einfach zu halten um ein Einstieg in das Thema zu ermöglichen, sodass weiterführende Artikel gelesen werden können.

Ein DDoS Angriff (Distributed Denial of Service) ist ein Versuch, einen Webserver oder ein Online System zu überlasten, indem dieses mit Daten / Anfragen oder Paketen überhäuft wird. Das überlastete Gerät kann die gewünschten Anfragen von wahren Kunden nicht von denen der Angreifer unterscheiden und muss diese ablehenen, beziehungsweise quittiert den Dienst manchmal sogar komplett. DDoS Attacken können unterteilt werden in drei verschiedene Typen: Volumenbasierte Angriffe, Protokoll basierte Angriffe sowie Angriffe auf Anwendungen.

Volumenbasierte DDoS Attacken

Sind die mit Abstand am weitesten verbreiteten sowie simpelsten Attacken. Sie basieren auf gefälschten Paket Fluten wie z.B UDP- sowie ICMP-Fluten. Das Ziel des Angriffs ist es, die Bandbreite der angegriffenen Stelle zu sättigen. Die Grösse des Angriffes wird dabei in Bits pro Sekunde (Bps) gemessen. Volumenbasierte DDoS Attacken können Bandbreiten von über 100Gbps erreichen. Dabei muss diese Bandbreite nicht einmal vom Angreifer selbst bereitgestellt werden wenn diese DNS (Domain Name Server) oder NTP (Network Time Protocol) Server zur Mithilfe nutzen.

DNS / NTP Verstärkungsattacke - Die UDPFlut

In beiden Angriffsszenarien werden starke öffentlich verfügbare Server missbraucht. Dabei werden anfänglich kleine Anfragen in viel größere Nutzlasten zu verwandelt, die verwendet werden um die Server des Opfers mit UDP (User Datagram Protocol) Paketen zu überlasten. Eine Eigenschaft von UDP Packeten ist, dass vom Aussteller nicht auf eine Antwort des Empfängers gewartet wird, es werden keine Verbindungseinstellungen vorgenommen. Dadurch verursacht das Senden von Daten weniger Verzögerung. Diese geringere Verzögerung macht UDP zu einer attraktiven Wahl für verzögerungsempfindliche Anwendungen wie Audio und Video.

Bei beiden Attacken werden die Anfragen so manipuliert, dass den öffentlich erreichbaren DNS bzw. NTP Servern als Absender die Adresse des Opfers angegeben werden. Es werden kleine Anfragen an die Server gemacht, welche jedoch eine grosse Antwort mit sich bringen. Bei DNS sind dies alle Einträge einer Webseite und bei NTP Servern die letzten 600 Nutzer des Servers. Diese Antworten sind dabei 50 bis 10000 mal grösser als die ursprünglich gesendete Anfrage. Da vom Opfer nicht auf eine Antwort gewartet wird, bzw. das Protokoll keine unterstützt, feuern die öffentlichen DNS / NTP Server weiterhin Packete an das Opfer. Bei der UDP Flut wird der Download des Opfers komplett überlastet, jedoch sendet dieses keine Antwort. Anderst ist dies bei der ICMP (Ping) Flut.

Eine ICMP-Flut überschwemmt die Zielressource mit ICMP Echo Anfragen (Ping) Paketen und sendet Pakete so schnell wie möglich, ohne auf Antworten zu warten. Diese Art von Angriff kann sowohl de Download und die Upload Bandbreite verbrauchen, da die Server des Opfers oft versuchen mit ICMP Echo Antworten Paketen zu reagieren. Dies kann zu einer erheblichen Verlangsamung des Gesamtsystems führen. Ping ist ein Diagnose Werkzeug, das verwendet wird um die Erreichbarkeit eines Hosts in einem IP Netzwerk zu testen. Es ist für praktisch alle Betriebssysteme verfügbar die über Netzwerkfähigkeit verfügen.

Protokoll basierte DDoS Attacken

Diese Art von Angriff verbraucht tatsächliche Serverressourcen oder solche von Zwischenkommunikationsgeräten wie Firewalls und Load Balancern und wird in Paketen pro Sekunde (Pps) gemessen. Enthält SYN-Floods, fragmentierte Paketangriffe, Ping of Death, Smurf DDoS und mehr.

SYN Flut

Als Gegenspieler von UDP, das Protokoll welches nicht auf Antworten vom Empfänger wartet, gibt es das TCP Protokoll welches mit einem Drei-Wege-Handschlag Packete verfiziert. So kann ein verlustfreie Datentransfer zwischen zwei Instanzen sichergestellt werden. Normalerweise schaut ein Drei-Wege-Hanschlag wie folgt aus:

  1. Der Client fordert die Verbindung an, indem er eine SYN-Nachricht (Synchronisierungs-Flag) an den Server sendet.
  2. Der Server bestätigt, indem er die SYN-ACK-Nachricht (Synchronisierungs-Bestätigungs-Flag) an den Client zurückschickt.
  3. Der Client antwortet mit einer ACK-Meldung (Bestätigung), und die Verbindung wird hergestellt.

Bei einem SYN-Flood-Angriff sendet der Angreifer wiederholte SYN-Pakete an jeden Port auf dem Zielserver, oft mit einer gefälschten IP-Adresse. Der Server, der von dem Angriff nichts weiss, erhält mehrere, scheinbar legitime Anfragen zur Herstellung der Kommunikation. Der Server reagiert auf jeden Versuch mit einem SYN-ACK-Paket von jedem offenen Port aus und wartet vergeblich auf eine Bestätigung. Dabei hält der Server die Verbindung offen.

Bevor die Verbindung zeitlich ausfallen, wird ein weiteres SYN-Paket empfangen. Dadurch bleibt eine immer größere Anzahl von Verbindungen halb offen. Schliesslich, wenn die Überlauftabellen des Servers gefüllt sind, wird der Dienst für legitime Clients verweigert und der Server kann sogar ausfallen oder abstürzen.

Fragmentierte Packete

IP Fragmentierungsangriffe sind eine häufige Form des Denial-of-Service-Angriffs, bei dem der Täter ein Netzwerk überwältigt, indem er Fragmentierungsmechanismen von Datagrammen ausnutzt.

Das Verständnis des Angriffs beginnt mit dem Verständnis des Prozesses der IP-Fragmentierung. Muss ein Paket übertragen werden, dass grösser als die MUT (maximum transmission unit bzw. maximale Übertragungseinheit) ist, wird dieses in kleinere Pakete verpackt, verschickt und beim Empfänger wieder zusammengesetzt. Dieser Mechanismuss kann auf verschiedene Art und Weise missbraucht werden.

Überlappende IP Fragmente

Der Exploit des überlappenden IP-Fragments tritt auf, wenn zwei IP Pakete innerhalb eines Paketes in ihrer Position überlappen. Das heisst, dass entweder Fragment A vollständig durch das Fragment B überschrieben wird oder dass das Fragment A teilweise durch das Fragment B überschrieben wird. Einige Betriebssysteme handhaben überlappende Fragmente nicht richtig und können Fehler auslösen oder sich nach Erhalt auf andere unerwünschte Weise verhalten.

Fragmentierungspuffer voll

Ein weitere Exploit triff auf wenn eine grosse Menge an unvollständig fragmentiertem Datenverkehr vorhanden sind. So wird versucht Sicherheitsmassnahmen oder Angreifer Abwehrmechanissmen durch absichtliche Fragmentierung der Angriffsaktivität zu umgehen.

DDoS Attaken auf Anwendungen

Bestehend aus scheinbar legitimen und unschuldigen Anfragen versuchen Anwendungsbasierte DDoS Attacken den angegriffenen Webserver zum Absturz zu bringen. Die Grösse hierbei wird in Requests pro Sekunde (Rps) gemessen. Enthält Low-and-Slow-Angriffe, GET/POST-Fluten, Angriffe auf Apache, Windows- oder OpenBSD-Schwachstellen und mehr.

HTTP Flut

Wenn ein HTTP-Client wie ein Webbrowser mit einer Anwendung oder einem Server kommuniziert, sendet diser HTTP Anfragen, dise können GET oder POST Anfragen sein. Eine GET-Anfrage wird verwendet, um Standard-, statische Inhalte wie Bilder abzurufen, während POST-Anfragen für den Zugriff auf dynamisch generierte Ressourcen verwendet werden.

Als Layer-7-Angriff verwendet die HTTP Flut keine fehlgeleiteten Pakete, Spoofing- oder Reflektion Techniken und benötigen weniger Bandbreite als andere Angriffe um die betroffene Website oder den Server in die Knie zu zwingen.

Die HTTP Flut muss genau auf die Entsprechende Rest API (das Interface mit welchem die Anwendung an das Internet angeschlossen ist) angepasst sein und erfodert Kentnisse über diese. Aus disem Grund ist es schwieriger sich gegen einen solchen individuellen Angriff zu schützen.

“Low and slow” Attacke

“Low and slow” Angriffe zielen auf threadbasierte Webserver ab mit dem Ziel, jeden Thread mit langsamen Anfragen zu verbinden und so echte Benutzer am Zugriff auf den Service zu hindern.
Eine permanente Belegung der Threads des Webserver kann erreicht werden, wenn Daten gerade schnell genug übertragen werden, um zu verhindern, dass der Server die Anfrage fallen lässt. Die Analogie mit einem Szenario der echten Welt kann gezogen werden wenn z.B alle Kassen in der Migros von Personen belegt werden, die mehrere Hunder Franken in Münz abzählen und sobald diese Ihr Geld zusammenhaben fällt es Ihnen auf den Boden.