Cyber-Kriminalität: So funktionieren DDoS-Attacken
Die Webseiten der St. Galler Behörden waren im Oktober bereits zum dritten Mal in diesem Jahr Ziel einer Cyber-Attacke. Durch eine sogenannte «Distributed Denial of Service»-Attacke (DDoS) legten Hacker die Webseiten der Stadt und des Kantons lahm. Wer hinter dem Angriff steckte, ist nicht bekannt. Bereits im Juli forderten Cyber-Kriminelle nach einer DDoS-Attacke Zahlungen in Form von Bitcoins. Andernfalls drohten sie, mit einer grösseren Attacke das gesamte Netzwerk der St. Galler Behörden zu sabotieren. Der Angriff konnte jedoch bewältigt werden und es blieb bei der Drohung. Was DDoS-Attacken sind, wie sie funktionieren und wie sich Organisationen dagegen schützen können, erklären wir in diesem Artikel.
Denial of Service (DoS)
«Denial of Service»-Attacken (DoS) legen einen Dienst oder einen Server lahm, indem sie diesen mit Anfragen überhäufen. Der attackierte Dienst resp. Server ist mit den zahllosen Anfragen überfordert und entweder stark verlangsamt oder gar nicht mehr verfügbar. Von «Distributed Denial of Service» (DDoS) spricht man, wenn die Anfragen koordiniert und von einer grossen Anzahl (oftmals gehackter) Rechner durchgeführt werden. Grundsätzlich kann jede öffentliche IP-Adresse zum Opfer von DoS- bzw. DDoS-Attacken werden.
Die nachfolgende Grafik zeigt den eingehenden (blau) und den ausgehenden (grün) Datenverkehr während einer DDoS-Attacke:
Arten von DDoS-Angriffen
Es gibt verschiedene Typen von DDoS-Angriffen – abhängig davon, welcher Dienst lahmgelegt wird. Grundsätzlich lassen sich drei Arten unterscheiden:
Volumenbasierte Angriffe
Volumenbasierte Angriffe generieren Unmengen von Datenverkehr, um die Internetbandbreite entweder innerhalb des Netzwerks des Opfers oder zwischen dem Netzwerk des Opfers und dem restlichen Internet zu überlasten. Als gängigste Methode kommen die auf dem User Datagram Protocol (UDP) basierenden UDP-Flood-Attacken zum Einsatz. Das UDP ist ein verbindungsloses, ungeschütztes Netzwerkprotokoll. Das heisst, Datenpakete werden gesendet, ohne dass im Vorfeld eine Verbindung zum Empfänger hergestellt wird. Das Betriebssystem des Empfängers prüft dann, ob eine Anwendung die UDP-Datenpakete verwendet. Falls nicht, sendet das Betriebssystem ein ICMP-«Destination Unreachable»-Paket (=«Unzustellbar»-Fehlermeldung) an den Absender. Eine Überflutung mit unzustellbaren UDP-Paketen führt zur Überlastung der Internetbandbreite und folglich dazu, dass die Webseite nicht mehr erreichbar ist. Und da die Internetbandbreite beim Webhosting oft von mehreren Webseiten geteilt wird, sind auch die anderen an der gleichen Bandbreite angeschlossenen Webseiten nicht mehr erreichbar. Es entsteht Kollateralschaden.
Man kann sich das Ganze etwa so vorstellen: Ein Rezeptionist leitet eingehende Anrufe weiter. Ruft nun jemand an und verlangt Person X, ruft der Rezeptionist bei Person X an. Diese geht jedoch nicht ans Telefon. Der Rezeptionist muss dem Anrufer sagen, dass er ihn nicht weiterverbinden kann. Bei UDP-Floods klingelt eine Vielzahl Telefone gleichzeitig und keiner der Anrufe kann weitergeleitet werden. Der Rezeptionist kann nicht alle Arbeit bewältigen und bricht unter der Last zusammen.
UDP-Floods können ein Volumen von mehreren Terabit pro Sekunde umfassen, doch auch kleinere Angriffe können zur Folge haben, dass ein Dienst über einen gewissen Zeitraum nicht verfügbar ist.
Protokollbasierte Angriffe
Protokollbasierte Angriffe zielen darauf ab, die Netzwerkinfrastruktur (z.B. Server, Firewalls) mit einer grossen Menge an gefälschtem Datenverkehr zu überfluten. Ein Beispiel dafür sind SYN-Flood-Attacken. Diese nutzen den Verbindungsaufbau des Transmission Control Protocols (TCP), um einen Server zu überlasten. TCP ist ein Netzwerkprotokoll, das im Unterschied zum verbindungslosen User Datagram Protocol (UDP) eine Verbindung zwischen den zwei Endpunkten herstellt. Um die Verbindung herzustellen, führen das Endgerät (Client) und der Server einen sogenannten Threeway-Handshake durch:
1. Der Client schickt ein SYN-Paket («SYN» steht für synchronize) an den Server.
2. Der Server bestätigt dies mit SYN, ACK («ACK» steht für acknowledge).
3. Der Client bestätigt wiederum mit ACK.
Danach ist die Verbindung hergestellt. SYN-Flood-Attacken senden Unmengen an SYN-Paketen, jedoch keine letzte ACK-Bestätigung. Der Server speichert die Adressen der Clients und die halboffenen Verbindungen, damit diese bei Empfang der letzten ACK-Bestätigung hergestellt werden können. Wird ein Server nun mit Anfragen überflutet und bleiben die ACK-Bestätigungen aus, sind die Ressourcen des Servers irgendwann erschöpft und es können keine neuen Verbindungen mehr hergestellt werden.
Anwendungsbasierte Angriffe
Anwendungsbasierte Angriffe sind komplexer als volumenbasierte, da die Angreifer ein spezifisches Problem einer Anwendung ausnutzen, um diese zu überlasten. Im Vergleich zu volumenbasierten Angriffen braucht es eine geringere Datenmenge, weshalb anwendungsbasierte Angriffe schwerer zu erkennen sind, da der erzeugte Datenverkehr normal scheint. Ein Beispiel dafür sind HTTP-GET-Flood-Attacken. Dabei werden Webserver mit Anfragen überflutet, um gezielt Webseiten mit grossem Ladevolumen (z.B. Videos) aufzurufen. Die Anfragen erfolgen über das Hypertext Transfer Protocol (HTTP). Die Überflutung führt zu einer Überlastung des Servers und «normale» Anfragen können nicht mehr bearbeitet werden. Die Webseite ist folglich nicht mehr verfügbar.
So können DDoS-Attacken abgewehrt werden
Eine Erste-Hilfe-Massnahme besteht im sogenannten Blackholing. Dabei wird der gesamte Datenverkehr zur attackierten IP-Adresse identifiziert und vernichtet, bevor er den entsprechenden Server erreicht. Dadurch werden die Internetanbindung entlastet und Kollateralschäden an weiteren IP-Adressen resp. Webseiten vermieden. Die attackierte IP-Adresse ist offline und demnach weiterhin nicht verfügbar. Die DDoS-Attacke war aus Sicht des Angreifers somit erfolgreich. Wird kein übermässiger Datenverkehr mehr registriert, kann das Blackholing eingestellt werden. Dies führt jedoch häufig dazu, dass die Angreifer eine erneute DDoS-Attacke starten. Es entsteht ein Katz-und-Maus-Spiel.
Prävention gegen DDoS-Attacken
Es gibt spezielle DoS-Filter für Firewalls, die den ankommenden Traffic analysieren, doch bei einer DDoS-Attacke kann die Kapazität der Firewall oder die Internetbandbreite schnell zu klein sein, um den gesamten Datenverkehr zu filtern. In diesem Fall ist es schwierig bis unmöglich, die Anfragen des Angriffs von gewöhnlichen Anfragen zu trennen und zu blockieren. Und wenn eine DDoS-Attacke einmal läuft, bleibt im Grunde nichts anderes als Blackholing übrig. Gewisse Internetprovider sowie auf Cyber-Angriffe spezialisierte Dienstleister bieten daher Präventionsmassnahmen gegen DDoS-Attacken an. Diese funktionieren ähnlich wie eine Waschmaschine: Sie analysieren den gesamten Datenverkehr und trennen den «guten» vom «schlechten» Traffic. Findet eine DDoS-Attacke statt, erkennt die «Waschmaschine» dies und blockiert und vernichtet den «schlechten» Datenverkehr. Der Vorteil dabei ist, dass es zu keinen Einschränkungen kommt. Die betroffene IP-Adresse bleibt online und der Dienst verfügbar. Solche Dienstleistungen kosten jedoch schnell einmal mehrere tausend Franken pro Monat.
DDoS-Angriffe protokollieren und anzeigen
Das Nationale Zentrum für Cybersicherheit (NCSC) nennt auf seiner Webseite Handlungsempfehlungen für den Fall einer DDoS-Attacke. Unter anderem sollte der Angriff für eine spätere Analyse und allfällige Strafanzeige protokolliert werden. Auf keinen Fall sollte Lösegeld bezahlt werden. Leider ist es jedoch nicht einfach, Cyber-Kriminelle ausfindig zu machen und vor Gericht zu bringen. Im Jahr 2017 reichte Init7 Anzeige gegen einen Twitter-User ein, der mutmasslich hinter einer DDoS-Attacke steckte. Das Verfahren musste jedoch eingestellt werden, weil das eingeleitete Rechtshilfeverahren mit den US-Behörden nicht zum gewünschten Resultat führte.