Eine Denial-of-Service-Attacke (auch als DoS-Attacke abgekürzt) ist ein Angriff, der dazu führen soll, dass ein Server oder eine Netzwerkkomponente temporär oder in besonders extremen Fällen auch über einen längeren Zeitraum hinweg nicht mehr erreicht werden kann. Die Bandbreite der Akteure reicht vom einfachen Cyber-Vandalen, die bei Unzufriedenheit mit einer Situation aktiv werden, bis hin zu staatlichen Akteuren. Für diese Angriffsart existieren viele Tools, die ohne tieferes Know-how bedient werden können. Ein DoS-Angriff kann auf viele verschiedene Arten generiert werden. Es werden auch illegale Dienstleistungen angeboten, bei denen DoS-Angriffe eingekauft werden können.
Angriffsvektor DoS
Grundsätzlich kann die Erreichbarkeit von vielen Systemen stark eingeschränkt werden, wenn zu viele Anfragen bearbeitet werden müssen. Wenn dieser Zustand eintritt, muss nicht einmal ein Angriff dahinterstecken. Die Klassiker sind unter anderem Berichte über eine Website in großen Newsportalen. Wenn daraufhin zu viele Besucher diese Website aufrufen und der Server nicht die entsprechenden Ressourcen hat, kann der Server die Anfragen nicht mehr bearbeiten. Dadurch bekommen viele Besucher eine Fehlermeldung angezeigt und es scheint so, als würde die Seite nicht funktionieren. Dies kommt zum Beispiel auch vor, wenn es nur eine bestimmte Anzahl von sehr begehrten Objekten bei einer Buchung gibt, die zu einer bestimmten Zeit freigehalten werden. Zum Beispiel, wenn Tickets oder Impftermine angeboten werden. Hier versuchen ebenfalls sehr viele Besucher gleichzeitig die gleiche Aktion auszuführen, was in einer Überlastung endet.
Diese Methodik machen sich Angreifer zunutze und generieren eine hohe Anzahl von Anfragen, um ein System per DoS-Angriff in die Knie zu zwingen. Bei diesem Angriff werden häufig Funktionen der Netzwerkprotokolle ausgenutzt, um diese Art von Angriffen durchzuführen. Gleichzeitig gibt es Methoden, mit denen ein Angreifer seine Identität verschleiern kann. Ein Angreifer kann einfach Netzwerkpakete mit gefälschten IP-Adressen verschicken. Oder er versendet eine ebenfalls manipulierte Anfrage an verschiedene Server, diese schicken wiederum ihre Antwort an das Opfer. Dadurch kann nicht mehr nachvollzogen werden, woher der Angriff ursprünglich stammt. Eine andere Methode ist das Öffnen einer Kommunikationsverbindung, die nicht korrekt fertiggestellt wird, sodass das Opfer noch weiter auf Nachrichten wartet. Wird dies oft genug durchgeführt, stehen keine Verbindungen mehr für korrekte Anfragen zur Verfügung. Dadurch kann ein Angreifer mit einer niedrigeren Bandbreite einen Server mit einer größeren Bandbreite erfolgreich angreifen.
Bei den Angriffsarten kann grundsätzlich zwischen quantitative und qualitative Angriffe unterschieden werden.
- Quantitativer Angriff: Hier versucht ein Angreifer möglichst effizient eine große Anzahl von Anfragen zu generieren.
- Qualitativer Angriff: Bei dieser Art nutzt ein Angreifer Systemfunktionen aus, um mit einer geringeren Anzahl von Anfragen eine hohe Auslastung zu erzielen.
Konkret lassen sich die Auswirkungen von DoS-Angriffen in drei Kategorien unterteilen:
- Überlastung der zur Verfügung stehenden Bandbreite
- Überlastung der Ressourcen (CPU, RAM, Speicher) eines Systems
- Ausnutzung von fehlerhaften Software- oder Hardwareimplementierungen, um eine Überlastung oder gar einen Absturz zu erzielen.
Häufig stehen Websites im Fokus von Angreifern, aber auch andere Netzwerkkomponenten wie Firewalls, Router, VPN-Gateways oder IoT-Geräte können angegriffen werden.
Distributed Denial of Service (DDoS)
Eine fortgeschrittene Variante des Angriffs ist die Nutzung von mehreren Quellen, die gleichzeitig ein Opfer angreifen. Dann wird von einem Distributed Denial-of-Service (DDoS) gesprochen. Die DDoS-Variante ist die übliche Angriffsmethode, da ein einzelnes System eines Angreifers meist zu schwach ist, um eine Überlastung erfolgreich durchzuführen. Ebenso ist die Abwehr von mehreren Quellen deutlich aufwendiger, als wenn es nur eine Quelle ist. Diese Quellen können z. B. viele Computer sein, die mit Trojanern infiziert sind und so von einer zentralen Stelle aus koordiniert werden können. Aber auch IoT-Geräte spielen eine immer größere Rolle bei DDoS-Attacken, da diese in großer Anzahl vorkommen und öfters schlechter gesichert sind.
Motivation hinter DDoS-Angriffen
Mit der einfachen Durchführbarkeit von DoS-Angriffen gibt es eine große Bandbreite von Motivationen hinter diesen Angriffen. Die kann von Protestaktionen (auch als Hacktivismus oder Cyber-Vandalismus bezeichnet), wie damals bei der „Operation Payback“ gegen PayPal, oder politisch motivierten Angriffen, wie die kürzlich erfolgten Angriffe von prorussischen Hacker auf Websites deutscher Behörden. Aber auch Cyberkriminelle setzten DDoS-Angriffe ein, um Lösegeld zu erpressen, dies wird auch als Ransom-DDoS-Angriff bezeichnet. Hierbei wird erst eine Website für einen kurzen Moment angegriffen und anschließend ein Erpressungsschreiben an den Betreiber übermittelt. Darin kündigen die Angreifer zum Beispiel an, wenn eine Zahlung innerhalb der nächsten 24 Stunden nicht erfolgt, ein langwieriger Angriff gestartet wird.
Cybercrime-as-a-Service
DDoS-Angriffe müssen aber nicht aufwendig durch Angreifer selbst durchgeführt werden. Diese Art von Angriffen können zum Teil auch bei illegalen Dienstleistern gebucht werden. Solche Angebote werden dem Bereich Cybercrime-as-a-Service zugeordnet, angelehnt an die Begrifflichkeiten aus dem Cloud Computing Umfeld.
Illegale Anbieter werben zum Teil damit, dass sie mehrjährige Erfahrungen haben, einen 24-Stunden Support anbieten oder sogar eine Geld zurück Garantie bieten. Wie immer sind solche Angebote verboten und auch sehr dubios. Häufig gibt es nach der Zahlung keinen weiteren Kontakt und es stellt sich als eine Falle heraus.
Quantitative Angriffe
Es gibt eine große Bandbreite von verschiedenen DDoS-Angriffsarten. Grundsätzlich kann zwischen quantitative und qualitative Angriffe unterschieden werden. Bei einem quantitativen Angriff, auch als volumetrischer Angriff bezeichnet, versucht ein Angreifer mit möglichst wenig Ressourcen eine große Anzahl von Anfragen zu generieren. Dabei werden in der Regel keine komplexen Techniken eingesetzt, sondern möglichst einfache Ansätze verfolgt.
ICMP Flood
Ein ICMP-Flood-Angriff, auch Ping-Flood-Angriff genannt, ist ein DoS-Angriff, bei dem ein Angreifer versucht, einen Netzwerkteilnehmer mit ICMP-Echo-Requests (Pings) zu überlasten. Normalerweise werden ICMP-Echo-Request- und Echo-Reply-Nachrichten dazu verwendet, ein Netzwerkgerät anzupingen, um den Zustand und die Konnektivität der Verbindung zu überprüfen. Indem das Ziel mit Echo-Requests überflutet wird, wobei das Ziel gezwungen ist, mit einer gleichen Anzahl von Antwortpaketen zu antworten, führt dies dazu, dass das Ziel für weitere Anfragen nicht zur Verfügung steht.
Bei diesem DoS-Angriff benötigt der Angreifer mehr Bandbreite, um ein Ziel erfolgreich angreifen zu können, da eine Anfrage und eine Antwort gesendet werden. Damit benötigt das Ziel etwa gleich viel Bandbreite wie der Angreifer. Heutzutage kommen bei dieser Angriffsart Bot-Netze zum Einsatz, bei denen viele Geräte, auch mit geringer Bandbreite, kombiniert werden, um möglichst viel Bandbreite zu erreichen. Gleichzeitig kann ein Angreifer, da es sich um eine UDP-Kommunikation handelt, die IP-Adresse des Absenders beliebig manipulieren.
SYN Flood (TCP/SYN)
Eine andere Variante ist die Angriffsart TCP-SYN-Flooding. Bei einem SYN Flood werden Eigenschaften des TCP-Netzwerkprotokolls und dessen Verbindungsstatus ausgenutzt. Bei dem Aufbau einer TCP-Verbindung wird ein Drei-Wege-Handschlag (Three-Way-Handshake) durchgeführt. Der Client sendet bei einem normalen Verbindungsaufbau ein SYN-Paket an den Server. Dieser antwortet mit einem SYN-ACK-Paket. Woraufhin der Client die Verbindung mit einem ACK-Paket bestätigt.
Bei einem TCP-SYN-Flooding Angriff sendet der Angreifer ein SYN-Paket mit einer gefälschten IP-Adresse an das Opfer. Dieses antwortet an die gefälschte IP-Adresse mit dem SYN-ACK-Paket, worauf der Empfänger die Nachricht verwirft. Das Opfer bekommt dies nicht mit und wartet auf das letzte ACK-Paket, das aber nie eintreffen wird. Damit hält das Ziel-System die Verbindung offen und wartet auf deren Abschluss. Dies benötigt Ressourcen und kann zu einer Einschränkung bei dem Aufbau neuer Verbindungen führen. Denn sobald die maximale Anzahl der halb offenen Verbindung erreicht wurde, können keine neuen Verbindungen mehr initialisiert werden und somit auch keine legitimen Verbindungen durch einen Nutzer hergestellt werden.
Verstärkende Angriffe
Die beiden obigen Varianten werden von Angreifern genutzt, die genügend Bandbreite zur Verfügung haben. Häufig werden aber Wege gesucht, um mit einer kleinen Anfrage größere Lasten zu verursachen. Dadurch werden weitere unbeteiligte Systeme in den Angriff mit eingebunden.
Eine häufig genutzte Variante ist der DNS Amplification Attack. Hierbei sendet ein Angreifer eine gefälschte Anfrage an einen offenen DNS-Resolver, wobei die IP-Adresse des Opfers als Absender angegeben wird. Der DNS-Resolver bearbeitet diese Anfrage und sendet die Antwort an das Opfer. Da DNS-Antworten je nach Konfiguration sehr umfangreich ausfallen können, wird also die ursprüngliche Anfrage verstärkt. Die Verstärkung kann bis zu 100-fach erfolgen. Das heißt, der Angreifer kann mit wenig Ressourcen viel Last erzeugen.
Qualitative Angriffe
Im Vergleich zu quantitativen Angriffen setzen qualitative Angriffe auf die gezielte Auslastung von Systemen. Dabei spielt eine hohe Netzwerkauslastung nur eine untergeordnete Rolle, stattdessen werden gezielt Funktionen gesucht, die bei einem Aufruf eine möglichst hohe Last oder eine komplette Auslastung auf dem Zielsystem zur Folge haben. Hier muss der Angreifer allerdings vorab eine Analyse durchführen und das entsprechende Know-how dafür besitzen. Diese Art von DDoS-Angriffen finden fast ausschließlich auf der Anwendungsebene statt.
HTTP Flood
Ein HTTP-Flood-Angriff verhält sich ähnlich wie ein ICMP-Flood-Angriff, nur dass hier massenhaft Anfragen an einen Webserver gestellt werden. Da hier der Angreifer auch deutlich mehr Ressourcen benötigt, werden hier als Ziel Seiten ausgesucht, die eine hohe Serverlast verursachen. Dazu gehören zum Beispiel alle Funktionen, die eine Datenbankabfrage zu Folge haben wie eine Suchfunktion oder eine Funktion zum Bearbeiten von Daten.
Da hier der Angreifer seine IP-Adresse mit übermittelt, wird diese Angriffsart meist durch Trojaner über gekaperte Systeme ausgeführt. Würde es nur einen Angreifer geben, könnte dieser einfach geblockt werden. Ebenso können damit verschlüsselte HTTPS-Verbindungen angegriffen werden, die noch mehr Last auf einem Server erzielen.
Slowloris
Fast alle Systeme mit Netzwerkverbindungen lassen nur eine gewisse maximale Anzahl an gleichzeitigen Verbindungen zu. Normalerweise sind Systeme so dimensioniert, dass dieses Limit nie erreicht wird, da normalerweise auch Verbindungen nach der Bearbeitung schnell beendet werden. An diesem Punkt setzt die Angriffsart Slowloris an. Von einem Angreifer werden künstlich viele Verbindungen gleichzeitig geöffnet, die möglichst lange aktiv gehalten werden. Dazu wird zum Beispiel bei einer Anfrage immer nur ein einzelnes Zeichen übermittelt und dann wieder eine Pause eingelegt. Besonders Webserver sind anfällig gegen diese Art von DoS-Angriffen, aber auch viele weitere Netzwerkprotokolle.
TLS Handshake
Wie bereits oben erwähnt, sorgen HTTPS-Verbindungen durch das TLS-Protokoll für eine größere Last auf dem Server. Mit speziellen Tools werden gezielt möglichst viele TLS-Verbindungen initiiert, wodurch es wieder zu einer Überlastung kommen kann. Dieser DoS-Angriffsvektor ist gegen viele Arten von Geräten mit einem HTTPS-Webserver funktional.
Abwehr von DDoS-Angriffen
Grundsätzlich basiert die Abwehr von DDoS-Angriffen darauf, dass unerwünschter Datenverkehr geblockt bzw. verworfen wird oder Systeme entsprechend gehärtet werden. Grundsätzlich sollten im Rahmen eines Pentests die eigenen Systeme mit DoS-Angriffen angegriffen werden, um die Auswirkungen besser abschätzen zu können.
Präventive Maßnahmen
Im ersten Schritt muss überlegt werden, welche Systeme überhaupt von außen erreichbar sind und somit auch von einem DDoS-Angriff betroffen sein können.
Um einen Überblick über die anfallenden Lasten zu bekommen und auffälligen Datenverkehr analysieren zu können, müssen entsprechende Maßnahmen umgesetzt werden, um den Netzwerkverkehr überwachen zu können.
Als Nächstes müssen entsprechende Komponenten vor den potenziell gefährdeten Systemen platziert werden, die eine Filterung ermöglichen. Dazu gehören Firewalls, Proxys und Loadbalancern.
Da häufig nicht nur das angegriffene System unter der starken Last zu leiden hat, sondern auch vorgelagerte Netzwerkkomponenten und zum Teil auch das gesamte Netzwerksegment, sollten gefährdete Systeme in eigene Netze separiert werden.
Über entsprechende Konfigurationen können Systeme gegen DDoS-Angriffe gehärtet werden. Sie müssen diese Maßnahmen vorab erheben und umsetzen.
Aktive Gegenmaßnahmen
Ist ein DDoS-Angriff aktiv, ist das vorrangige Ziel, die Art zu definieren, damit diese Anfragen geblockt werden können. Oftmals werden hierbei auch legitime Anfragen geblockt, da eine eindeutige Unterscheidung nicht möglich ist. Aber häufig ist es besser, einen Teil der legitimen Anfragen zu verlieren als dass alle Anfragen nicht mehr möglich sind.
Beim Blackholing werden alle Netzwerkpakete verworfen, die einer spezifischen IP-Adresse zugeordnet werden können. Alternativ können auch ganze Blöcke von IP-Adressen oder ganze GEO-IP-Regionen blockiert werden.
Ist die eigene Netzwerkinfrastruktur überlastet, wird häufig der Ansatz gewählt, dass alle Anfragen zu einer IP-Adresse oder URL blockiert werden, die angegriffen werden. Damit kann ein Angriff möglichst früh blockiert werden. Der angegriffene Dienst ist zwar nicht mehr erreichbar, dafür alle anderen Dienste.
Gerade bei Angriffen auf der Anwendungsebene können Profile von Anfragen erstellt werden und alle weiteren Anfragen mit dem gleichen Profil verworfen werden. Zum Beispiel können bei HTTP-Flood-Angriffen die Header Felder ausgewertet werden, um diese zu erkennen und zu blockieren.
Wird zum Beispiel eine Website angegriffen, kann es auch helfen, die IP-Adresse zu wechseln. Einmal gestartete Tools führen häufig nicht erneut weitere DNS-Abfragen durch. Dadurch können normale Besucher mit der Zeit wieder die Domain mit der neuen IP-Adresse erreichen, wobei der Angriff weiter auf die alte IP-Adresse läuft.
DDoS-Mitigation
Ein weiterer Ansatz ist, dass nicht selbst ein DDoS-Angriff abgewehrt wird, sondern ein vorgelagerter Anbieter dies übernimmt. Dies kann bei einer Website ein Proxy-Dienst sein, der alle Anfragen entgegennimmt und nur korrekte an den Webserver weiterleitet. Dadurch kann keine Anfrage mehr direkt an den Webserver gesendet werden und der Proxy-Dienst verfügt über genügend Bandbreite und Fähigkeiten, um auch große Angriffe abzuwehren. Solche Dienste werden zum Beispiel auch ISPs angeboten, um Firmenanschlüsse zu schützen. Hier werden mit entsprechenden Routings Angriffe gewährt.
Weitere Ressourcen
Weitere Informationen zu Distributed Denial of Service (DDoS) Angriffen von nicht kommerziellen staatlichen Einrichtungen:
- BSI Prävention von DDoS-Angriffen (PDF)
- Abwehr von DDoS-Angriffen (PDF)
- Distributed Denial of Service (DDoS) – Hintergründe, präventive Maßnahmen und Mitigationsmaßnahmen (PDF)
- DDoS Quick Guide (PDF)
Cyber Security Vortrag
Der Hybrid-Vortrag „DDoS-Attacken, ein reales Risiko“ fand im Rahmen des VDI Zollern-Baar Programms am 25. Mai 2022 ab 19:15 Uhr in Albstadt statt. Eine Teilnahme am Cyber Security Vortrag war sowohl vor Ort als auch online möglich. Die kompletten Folien des Vortrags gibt es als Download (PDF) oder können hier direkt eingesehen werden:
Hallo,
herzlichen Dank für den ausführlichen Beitrag sowie die Quellen als auch Präsentation zum Download. Leider funktioniert bei letzterem der Download (Link zum Vortrag) nicht.
Viele Grüße
DW