UDP-Flood
Bei einer UDP-Flood-Attacke handelt es sich um einen Denial-of-Service-Angriff. Wie bei anderen bekannten Flood-Angriffen – Ping-Flood, HTTP-Flood, und SYN-Flood – sendet ein Angreifer in hoher Abfolge manipulierte Datenpakete an das Zielsystem. Die Absicht besteht darin, das Ziel zu überlasten, bis dieses legitime Anfragen nicht mehr beantworten kann. Ist dieser Zustand erreicht, kommt der eigentliche Service zum Erliegen.
Was ist eine UDP-Flood-Attacke?
Bei der UDP-Flood handelt es sich um eine sogenannte volumetrische DoS-Attacke: Wie bei der Ping-Flood beruht das Wirkprinzip darauf, das Zielsystem mit einem hohen Volumen des eingehenden Datenstroms zu überlasten. Die UDP-Flood unterscheidet sich damit sowohl vom Ping of Death, der das Zielsystem durch Ausnutzen eines Speicherfehlers zum Absturz bringt, als auch von der SYN-Flood, die Ressourcen auf dem Server bindet. Alle genannten DoS-Attacken haben gemeinsam, das Ziel zu überlasten und somit der legitimen Nutzung zu entziehen.
Ins Interesse der Öffentlichkeit rückte die UDP-Flood im Zuge spektakulärer Hacking-Angriffe auf globale Organisationen. Außer der Scientology-Kirche wurden Unternehmen aus der Medien- und Finanzbranche angegriffen. Die betroffenen Websites und Services brachen unter der eingehenden Datenflut zusammen und waren für ihre Nutzer teils stundenlang nicht erreichbar. Bei diesen Angriffen kam das mächtige Tool Low Orbit Ion Cannon (LOIC) als Waffe zum Einsatz, um die UDP-Flood auszulösen.
Funktionsweise der UDP-Flood-Attacke erklärt
Die Funktionsweise der UDP-Flood-Attacke basiert auf den Besonderheiten des verwendeten User Datagram Protocol (UDP) . Geht auf einem Server ein UDP-Paket ein, überprüft das Betriebssystem den angegebenen Port auf lauschende Applikationen. Wird keine App gefunden, muss der Server den Absender darüber informieren. Da es sich bei UDP um ein verbindungsloses Protokoll handelt, nutzt der Server das Internet Control Message Protocol (ICMP), um den Absender darüber zu informieren, dass das Paket nicht zugestellt werden konnte.
Im Fall einer UDP-Flood-Attacke ergibt sich der folgende Ablauf:
- Ein Angreifer sendet UDP-Pakete mit gespoofter IP-Absenderadresse an zufällige Ports des Zielsystems.
- Auf der Seite des Zielsystems muss für jedes eingehende Paket der folgende Prozess wiederholt werden:
- Überprüfen, ob auf dem im UDP-Paket angegebenen Port eine Applikation lauscht; da es sich um einen zufällig gewählten Port handelt, ist dies in der Regel nicht der Fall.
- Versenden eines ICMP-„Destination Unreachable“-Paket an den vermeintlichen Absender; da die IP-Adresse gespooft wurde, gehen diese Pakete für gewöhnlich bei einem Unbeteiligten ein.
Abwehrmaßnahmen zum Schutz vor UDP-Flood-Attacken
Eine volumetrische Netzwerkattacke fällt durch einen plötzlich auftretenden „Spike“ im Volumen des eingehenden Netzwerkverkehrs auf. Der Netzwerkverkehr unterliegt routinemäßiger Beobachtung durch Netzwerkanbieter und andere spezialisierte Akteure. So können bei Anzeichen eines Angriffs Schritte zur Schadensminimierung eingeleitet werden.
Zu den Maßnahmen, die effektiven Schutz vor UDP-Flood-Attacken bieten, zählen insbesondere die folgenden:
- Durchsatzbegrenzung der ICMP-Antworten pro Zeiteinheit: Diese Limitierung der ICMP-Antworten findet normalerweise auf Ebene des Betriebssystems statt.
- Filterung auf Firewall-Ebene auf dem Server: So können verdächtige Pakete verworfen werden. Jedoch kann die Firewall unter der Last einer UDP-Flood-Attacke ebenfalls zusammenbrechen.
- Filtern von UDP-Paketen außer für DNS auf Netzwerk-Ebene: DNS-Abfragen laufen normalerweise über UDP ab. Jegliche andere Quelle, die massenweise UDP-Verkehr erzeugt, wird bei dieser Maßnahme als verdächtig eingestuft. Die betreffenden Pakete werden verworfen.
Um einen akut ablaufenden Angriff abzuschwächen, greifen Server-Betreiber auch auf spezialisierte Cloud-Services wie Cloudflare zurück. Diese verteilen den Netzwerkverkehr auf eine Vielzahl global verteilter Datencenter. Dadurch steht mehr Bandbreite bereit, um im Falle eines Angriffs das Volumen des eingehenden Datenstroms besser abzupuffern. Ferner erfolgt standardmäßig eine Filterung des Datenstroms, um verschiedene Angriffe bereits in der Entwicklung zu unterbinden.