Arten von DDoS-Angriffen und Möglichkeiten zum Schutz vor ihnen
13:04, 08.07.2021
Was sind DDoS-Angriffsvarianten
Die allgemeinste Klassifizierung von DDoS-Angriffen richtet sich danach, welcher Teil der Serverinfrastruktur, auf die Ihre Website angewiesen ist, angegriffen wird. Dabei handelt es sich um volumetrische Angriffe, bei denen der Name darauf hindeutet, dass sie das reine Verkehrsvolumen nutzen, um Ihr System zu überlasten; Protokollangriffe, bei denen IT-Protokolle missbraucht werden; und Anwendungsangriffe, bei denen die Angreifer Schwachstellen in Ihren Anwendungen ausnutzen. Werfen wir einen Blick auf die einzelnen Typen und ihre Untertypen.
Volumetrische Angriffe
Volumetrische DDoS-Angriffe zielen darauf ab, Ihren Server über jeden möglichen Kanal mit Datenverkehr zu überfluten. Diese Angriffe beanspruchen die maximale verfügbare Bandbreite und Ressourcen, was zu einem drastischen Leistungsabfall bis hin zu Ausfallzeiten führt.
UDP-Überschwemmungen
UPD-Flood-Angriffe sind eine Angriffsart, die die Funktionsweise des User Datagram Protocol missbraucht. Das Besondere an diesem Protokoll ist, dass es keinen Handshake wie bei TCP (Transmission Control Protocol) erfordert. Der Server, der ein UPD-Paket empfängt, soll nach einer entsprechenden Anwendung suchen, die im Falle von echtem UPD-Verkehr von zahlreichen automatischen Prozessen innerhalb des Servers gefolgt wird. UPD-Floods sind lediglich massive Fluten von UPD-Paketen, die nichts mit den Anwendungen auf dem Server zu tun haben und den Server dazu bringen, sie zu verarbeiten, wodurch seine Ressourcen verbraucht werden.
Um UPD-Floods auszuführen, verwenden Angreifer die IP-Adresse des Servers und eine beliebige offene Portnummer.
Eine Unterart der UDP-Flood ist die UDP-Fragmentierungs-Flood, bei der größere und fragmentierte Pakete gesendet werden, die den Server zwingen, vergeblich zu versuchen, sie zusammenzusetzen.
Spezifische UDP-Amplifikationsangriffe senden eine UDP-Anfrage an mehrere Server, so dass diese auf der IP des Opfers antworten und so dessen Bandbreite und Netzwerkressourcen aufbrauchen.
CharGE-Flood
CharGEN (Character Generator) Flood ist eine Art von UDP-Flood-Angriff, der das Character Generator Protocol (CharGEN) ausnutzt, das auf UDP-Port 19 läuft. Das ursprüngliche Ziel des CharGEN-Dienstes war es, Zeichen, hauptsächlich ASCII-Zeichen, zu generieren, um auf Anfragen verschiedener Clients zu Test-, Fehlersuch- und Messzwecken zu reagieren.
Die Angreifer verwenden die IP-Adresse des Opfers, um Anfragen an zahlreiche mit dem Internet verbundene Geräte zu senden. Die Geräte antworten dann auf die Anfragen an den Zielserver und überlasten ihn so.
ICMP (Ping) Flood
ICMP (Internet Control Message Protocol) ist ein Protokoll, das für Diagnose- und Kontrollzwecke in IP-Netzen verwendet wird. Es dient den Netzwerkgeräten zum Austausch von spezifischen Fehlermeldungen und Informationsbefehlen.
Die Angreifer generieren und senden zunächst eine große Anzahl von ICMP-Echo-Request-Paketen an das Netz des Opfers, was zu einer Überlastung des Netzes führt.
Da das ICMP-Protokoll zustandslos ist, muss keine Verbindung zwischen Sender und Empfänger aufgebaut werden, so dass eine große Anzahl von ICMP-Paketen erzeugt werden kann, ohne dass dafür große Ressourcen benötigt werden.
ICMP-Fragmentierungsflood
ICMP-Fragmentierung ist eine Unterart des ICMP-Flood-Angriffs, bei dem fragmentierte ICMP-Pakete verwendet werden, wodurch der Zielserver gezwungen wird, zu versuchen, aus ihnen einen Sinn zu machen.
Protokollbasierte Angriffe
Protokoll-DDoS-Angriffe zielen auf bestimmte Netzwerk- oder Transportschichtprotokolle und nicht auf das bloße Volumen ab und zielen somit auf eine ganz bestimmte Ressource.
Ausnutzung des IP-Null-Protokolls
Bei einem IP-Null-Angriff nutzen die Angreifer eine Schwachstelle im Internetprotokoll (IP)-Stack des Zielsystems aus und senden IP-Pakete, bei denen das IP-Protokollfeld auf 0 gesetzt ist, was meist eine ungültige oder ungenutzte Protokollnummer ist. Auf diese Weise versucht der Server herauszufinden, was er mit all diesen Paketen anfangen soll, und ist überfordert.
TCP-Protokoll-Flood
Das Transmission Control Protocol regelt die Kommunikation verschiedener Geräte über ein Netzwerk. Es gibt einige Varianten des TCP-Protokolls floods:
- SYN-Flood: Bei einem SYN-Flood-Angriff verwendet der Angreifer TCP SYN-Pakete (Synchronisierungspakete), die er an den Server des Opfers sendet und vorgibt, eine Verbindung herzustellen. Der Angreifer sendet das abschließende ACK-Paket nicht und verhindert so den Abschluss des Handshake-Prozesses, so dass sich die ausstehenden Pakete anhäufen und den Server schließlich überfordern.
- ACK-Flood: Im Gegensatz zum vorherigen Ansatz senden die Angreifer beim ACK-Flood eine übermäßige Anzahl gefälschter ACK-Pakete (Bestätigungspakete), die der Server mit den SYN-ACK-Paketen abzugleichen versucht, die nicht existieren.
- SYN-ACK-Flood: Ein Schritt zurück: Der Angreifer nutzt SYN-ACK-Pakete aus und zwingt den Server, sie mit nicht existierenden SYN-Paketen abzugleichen.
- ACK-Fragmentierungsflood: Eine Unterart von ACK Flood - der Angreifer sendet fragmentierte ACK-Pakete, die den Speicher des Servers überfordern, der versucht, sie zu rekonstruieren.
- RST/FIN-Flood: In ähnlicher Weise verwenden die Angreifer RST- oder FIN-Pakete und zwingen den Server dazu, diese hilflos mit TCP-Sitzungen abzugleichen.
- Multiple ACK Spoofed Session Flood: Bei dieser Angriffsart kombiniert der Angreifer ACK-Pakete mit RST- oder FIN-Paketen, um echten Datenverkehr zu imitieren und die Abwehrmechanismen zu umgehen. Das gleiche Prinzip wird beim Multiple SYN-ACK Spoofed Session Flood angewendet, bei dem der Angreifer sowohl ACK- als auch SYN-Pakete verwendet.
- Synonymer IP-Angriff: Eine Unterart des SYN-Angriffs, bei dem der Angreifer dieselbe IP-Adresse für die Quelle und das Ziel des SYN-Pakets zuweist und so Verwirrung stiftet, so dass der Server entweder versucht, sich selbst zu antworten oder herauszufinden, was falsch ist.
Session-Angriffe
Sitzungs-DDoS-Angriffe sind Angriffe, die die Kapazität des Servers oder einer Anwendung zur Verarbeitung von Sitzungen überfordern. Die Angreifer bombardieren eine bestimmte Webanwendung mit bösartigen HTTP-Anfragen, die jeweils darauf abzielen, eine neue Sitzung zu erstellen oder Serverressourcen im Zusammenhang mit der Sitzungsverwaltung zu verbrauchen, wodurch schließlich die Kapazität des Systems zur Verarbeitung sitzungsbezogener Aufgaben erschöpft wird.
Stealthy Connection Depletion oder Slowloris
Slowloris-Angriffe sind die Art von DDoS-Angriffen, die auf Webserver abzielen, indem sie Schwachstellen in der Art und Weise ausnutzen, wie Webserver eingehende Verbindungen behandeln. Die Angreifer bauen so viele Verbindungen mit dem Zielserver wie möglich auf, wobei häufig HTTP-GET-Anfragen verwendet werden. Nach dem Verbindungsaufbau vermeiden es die Angreifer, eine komplette HTTP-Anfrage in einem einzigen Burst zu senden. Stattdessen senden sie Pakete, die in kleine Fragmente aufgeteilt sind, mit einer minimalen Geschwindigkeit, so dass das Ziel die Verbindungen nicht aufgrund ihrer Inaktivität abbrechen kann, während sie es weiter belegen und die verfügbaren Ressourcen verbrauchen.
Schlumpf-Attacke
Der Smurf-Angriff ist eine Art von DDoS-Angriff, der das Internet Control Message Protocol (ICMP) ausnutzt. Es handelt sich um einen Reflection-Amplification-Angriff. Der Angreifer sendet gefälschte ICMP-Echo-Anfrage-Pakete an mehrere Computer in einem Netzwerk, wobei die gefälschte IP-Adresse die des Netzwerks des Opfers ist.
Fraggle-Angriff
Fraggle-Angriffe sind eine andere Art von Smurf-Angriffen, bei denen UPD-Datenverkehr anstelle von ICMP-Datenverkehr verwendet wird.
Angriff mit dem Ping des Todes
Ein weiterer protokollbasierter Angriff, der darauf abzielt, den verfügbaren Speicher zu überlasten, der Ping-of-Death-Angriff, nutzt die maximale Länge eines IP-Pakets von 65.535 Byte aus. Obwohl die typische Maximalgröße eines über ein Ethernet-Netzwerk gesendeten Datenpakets etwa 1500 Byte beträgt, senden die Angreifer fragmentierte Pakete, die zusammen die Größe von 65.535 Byte überschreiten und den Speicher überfordern.
Niederorbital-Ionenkanone (LOIC)
Low Orbit Ion Cannon ist eine Open-Source-Software, die ursprünglich entwickelt wurde, um die Belastbarkeit eines Geräts durch das Senden vieler Pakete zu testen. Leider haben die Angreifer gelernt, sie für DDoS-Angriffe auszunutzen, indem sie sie in Botnets einsetzen.
Hochorbital-Ionenkanone (HOIC)
Eine fortschrittlichere Variante von LOIC, die High Orbit Ion Cannon, ist ein Tool, das speziell für die Durchführung von DDoS-Angriffen entwickelt wurde und über mehr Funktionen und Möglichkeiten verfügt, so dass ähnliche wie LOIC, aber störendere und gefährlichere DDoS-Angriffe möglich sind.
Angriffe auf der Anwendungsebene: Dienste im Visier
DDoS-Angriffe auf der Anwendungsebene nutzen Schwachstellen in der Software aus und führen in erster Linie zu einer Beeinträchtigung der Anwendung, können aber auch andere Anwendungen und das gesamte Gerät beeinträchtigen, indem sie die Bandbreite, die CPU und den Speicher überlasten.
HTTP-Überschwemmungen: Überlastung von Webdiensten
HTTP-Flood-Angriffe sind Angriffe auf Anwendungsebene, die HTTP-Befehle missbrauchen. Gängige Typen sind:
GET-Angriffe: Angreifer erstellen eine große Anzahl paralleler GET-Anfragen, um Ressourcen vom Server abzurufen. Sie sind besonders gefährlich für Webserver.
POST-Flood: POST-Angriffe bestehen aus zahlreichen HTTP-POST-Anfragen, die ursprünglich für die Übermittlung von Daten gedacht sind. Diese Angriffe können sogar noch schädlicher sein, da die Übermittlung von Daten oft ressourcenintensiver sein kann.
Low-and-Slow-POST-Attacken sind eine Unterart der POST-Flood-Attacken, bei denen auf eine Aufforderung zum Senden einer großen Datenmenge Daten folgen, die in winzigen Stücken und mit einer extrem langsamen Rate gesendet werden. Dadurch werden zum einen die Ressourcen des Servers blockiert und zum anderen DDoS-Schutzmechanismen umgangen, die große Datenmengen erwarten.
Angriff auf eine einzelne Sitzung oder eine einzelne Anfrage: Eine weitere Möglichkeit, gängige DDoS-Schutzmechanismen zu umgehen, die auf die Erkennung einer großen Anzahl von Paketen zugeschnitten sind, besteht darin, dass bei dieser Art von Angriff mehrere verschiedene Anfragen in ein HTTP-Paket gepackt werden.
Fragmentierter HTTP-Flood: Das gleiche Fragmentierungsprinzip wird bei HTTP-Flood-Angriffen angewandt. Die Pakete werden fragmentiert und mit einer extrem langsamen Rate gesendet, um die Serverressourcen zu blockieren.
Rekursive GET-Flood: Eine Art von GET Flood, bei der dieselbe Ressource wiederholt angefordert wird, bis der Server überlastet ist.
Zufällige rekursive GET-Flood: Eine Unterart des vorigen Typs, bei der die Seiten rekursiv und nach dem Zufallsprinzip angefordert werden, um eine Erkennung durch Schutzmechanismen zu vermeiden.
ReDoS: Bedrohung durch Ressourcenerschöpfung
Reguläre Ausdrücke (Regex) sind Muster, die zum Abgleich von Zeichenkombinationen in Zeichenketten verwendet werden und in Programmiersprachen, Webanwendungen und Netzsicherheitssystemen für Aufgaben wie Eingabevalidierung, Parsing und Musterabgleich weit verbreitet sind.
ReDoS-Angriffe (Regular Expression Denial of Service) verwenden anfällige Regex-Muster, die bei der Verarbeitung bestimmter Eingaben eine exponentielle oder super-lineare Zeitkomplexität aufweisen. Der Angreifer sendet speziell gestaltete Eingabestrings an das Zielsystem, die das anfällige Muster für reguläre Ausdrücke auslösen und die Engine für reguläre Ausdrücke in einen Zustand exzessiven Backtrackings oder Rekursion versetzen sollen.
Weitere DDoS-Taktiken erforschen
Neben den drei Haupttypen, nämlich Volumen-, Protokoll- und Anwendungsangriffe, gibt es einige weniger verbreitete Angriffsarten, die nicht in die allgemeine Klassifizierung passen.
Fortgeschrittener persistenter DoS (APDoS)
Advanced Persistent DoS (APDoS) ist eher ein Ansatz für DDoS-Angriffe als eine bestimmte Art von Angriffen. Bei APDoS handelt es sich um einen Angriff, der über einen längeren Zeitraum hinweg wiederholt und kontinuierlich durchgeführt wird, wobei verschiedene oben beschriebene Ansätze kombiniert und abgewechselt werden. Sie werden in der Regel von großen Hackerorganisationen organisiert, um die Infrastruktur einer bestimmten Organisation ernsthaft zu stören.
Multi-Vektor DDoS-Angriffe
Multi-Vektor-Angriffe bedeuten den gleichzeitigen Einsatz verschiedener DDoS-Angriffsarten. Sie werden manchmal durchgeführt, wobei ein Angriff mit einem anderen synergetisch zusammenwirkt, und zielen darauf ab, mehr Schaden zu verursachen oder insgesamt höhere Erfolgschancen zu haben, falls einer der Angriffe durch einen Schutz blockiert wird.
Zero-Day DDoS-Angriffe
Der Begriff Zero-Day-DDoS-Angriff bezieht sich auf einen DDoS-Angriff, bei dem eine noch nicht bekannte Schwachstelle in Software, Protokollen oder Systemen ausgenutzt wird, die noch nicht gepatcht werden konnte.
Schlussfolgerung
Wie Sie sehen können, sind die Arten von DDoS-Angriffen extrem vielfältig und können Ihren Server auf verschiedenen Ebenen treffen, so dass ein qualifizierter DDoS-Schutz die einzige Möglichkeit ist, sich keine Sorgen über diese Art von Cyber-Bedrohung zu machen.