Sonntag, 20. Oktober 2013

DDoS Angriffe im Internet: Die Funktionsweise

DDoS steht für "Distributed Denial of Service" und stellt eine komplexe Art von Angriffen im Web dar. Bei solchen Angriffen wird versucht, mit einer grossen Menge von Hosts im Internet, Daten an einen spezifischen Webserver zu senden, um diesen in die Knie zu zwingen. DDoS Angriffe sind äusserst effektiv, denn selbst wenn die Server nicht in die Knie gezwungen werden, so kann mit solchen Angriffen relativ einfach die Gesamtbandbreite bei einem Hosting Provider überlastet werden.

Reales Beispiel 

Im März 2013 hat Spamhaus (sie erstellen Blacklists von bekannten Spammern) die Firma "Cyberbunker" auf ihre Blacklist aufgenommen. Cyberbunker ist ein bekannter dubioser Provider für unter anderem Spam-Versender. Dies führte dazu, dass gewisse Aktivisten einen DDoS Angriff gegen Spamhaus gestartet haben. Der Angriff war bisher einer der grössten DDoS Angriffe weltweit und überstieg 300 Gbps. Dies führte im März zu erheblichen Einschränkungen des Internets vor allem im deutschsprachigen Raume.

Motivationen

DDoS Angriffe werden in der Regel dazu verwendet, das Opfer auf die eine oder andere Art zu erpressen. Ebenfalls häufige Motivation ist das Schädigen oder gar Ausschalten von Mitbewerbern. In vielen Fällen führen diese Absichten zum gewünschten Erfolg, wenn sich das Opfer nicht gegen DDoS Angriffe schützt.

Wie funktioniert ein DDoS Angriff?

Dabei kommt das Wort "Distributed" zum Einsatz: Im Internet existieren sehr viele infizierte Rechner, welche Mitglied eines sogenannten Botnet sind, ohne dass die Besitzer der Rechner etwas davon wissen. Nun kann der Operator eines solchen Botnet all "seinen" Nodes einen Befehl senden, dass diese sich auf eine Website verbinden sollen. Was dann geschieht ist klar: Zehntausende von Rechner rufen gleichzeitig die Website ab, was die Server-Infrastruktur unter Umständen nicht zu tragen vermag. Man kann es vergleichen mit einem Callcenter, welches 90 Telefonleitungen hat. Wenn nun 1000 Personen gleichzeitig immer und immer wieder dort anrufen, dann wird das Callcenter nicht mehr in der Lage sein, ihre Dienstleistung aufrecht zu erhalten. Legitime Anrufer werden nicht mehr durchkommen. Genau gleich verhält es sich im Web.

Top 3 Arten von DDoS Angriffen

Es gibt sehr viele technische Möglichkeiten, um einen DDoS Angriff durchzuführen, oder sogar zu verstärken. Die einzelnen Methoden werde ich hier nicht im Detail beschreiben, dies sprengt den Umfang des Artikels. Ich gebe aber einen kurzen Überblick:
      

Layer 3/4 Angriffe

Auf dem Transport Layer werden Daten an einen Host gesendet, zum Beispiel Verbindungsaufbau Anfragen. Die Quelle dieser Anfragen kann gefälscht werden. Der Host muss dennoch auf alle Verbindungsanfragen reagieren. Sendet nun ein Angreifer sehr viele Verbindungsanfragen, so ist der Host bis zur CPU-Überlastung nur noch mit deren Handling beschäftigt.
   

DNS Amplifizierung Angriffe, gehebelte Angriffe

Hierbei geht es um einen sehr spezifischen Angriff, der heute aber sehr verbreitet ist. Dabei sendet der Angreifer eine Anfrage mit gefälschter Absender Adresse an verschiedenste DNS Server, und die DNS Server antworten an die (gefälschte) IP Adresse. Die gefälschte IP Adresse ist die Adresse des Opfers. Da eine DNS Abfrage in der Regel kaum grösser als 64 Byte ist, ein gesamte Zone aber schnell einige Kilobyte umfassen kann, wird der Angriff hiermit gehebelt. Ein Angreifer kann also mit 64 Byte pro Paket dafür sorgen, dass das Opfer mit z.B. 10'000 Byte angegriffen wird (Faktor 150). Da die Antworten von legitimen DNS Server kommen, ist es schwierig, hiergegen etwas zu unternehmen. Der Angriff zielt darauf ab, die Bandbreite des Opfers zu überlasten.
     

Layer 7 Angriffe

Diese Angriffe fokussieren auf spezifische Aspekte der entsprechenden Applikation. Zum Beispiel sendet der sogenannte "Slow-Read" Angriff Pakete langsam über verschiedenste Verbindungen an den Zielserver. Da der Apache Webserver für jede neue Anfrage einen eigenen Thread erstellt, kann so relativ einfach und schnell der Thread-Pool eines Webservers ausgeschöpft werden (danach kann der Server keine Verbindungen mehr entgegen nehmen).

Andere Methoden basieren darauf, dass der Angreifer Kenntnis über die entsprechend eingesetzte Web-Applikation hat. Weiss der Angreifer zum Beispiel von einer URL, für dessen Aufruf der Webserver lastintensive Arbeiten ausführen muss, so reicht es lediglich aus, diese URL zu Tausenden aufzurufen. Klassische solche Angriffspunkte sind Suchfunktionen auf Websites.

Rudimentäre Schutzmechanismen

Da die DDoS Angriffe in der Regel zur Ausschöpfung der Provider-Bandbreite führen, sind praktisch alle Methoden, welche man "alleine" noch umzusetzen vermag, nicht sehr effektiv. Solche Methoden wären aber, damit sie trotzdem erwähnt sind:
  • Einrichten von Sperrlisten auf Firewalls, auf welchen die Absender blockiert werden. Da dies bei einem DDoS Angriff Zehntausende Quellen sein können, ist diese Methode sehr zeitaufwändig und aufgrund ständig wechselnder IP Adressen sehr ineffektiv.
  • Einschalten von Rate-Limiting, womit nur eine gewisse Anzahl an neuen Verbindungen zugelassen wird. Damit schützt man zwar die Zielsysteme, aber das Ziel des Angriffs - die Nicht-Verfügbarkeit der Dienste - wurde damit trotzdem erreicht.
  • Wechseln der IP-Adresse des Servers, oder zügeln auf einen anderen Server. Da die Websites aber per Domainname angesprochen werden, ist der Erfolg diese Massnahme nur von sehr kurzer Dauer
  • Mittels Serverlastverteilung kann die Kapazität massiv erhöht werden. Ebenso massiv sind hierbei allerdings auch die Kosten - vor allem, wenn man die Kapazität auf die Last bei einem DDoS Angriff auslegen will. Also auch nicht sehr praktikabel.

Wirksamer Schutz

Mit rudimentären Schutzmechanismen erreicht man kaum mehr einen wirkungsvollen Schutz vor DDoS Angriffen. Die Technologien ändern sich ständig, und die Komplexität von DDoS Angriffen nimmt ständig zu.

Wie man sich dennoch effektiv gegen DDoS Angriffe schützen kann, berichte ich in meinem nächsten Artikel. Stay tuned!

PS: Um bei jedem Artikel informiert zu werden, trage rechts in der Sidebar deine E-Mail Adresse ein.

Keine Kommentare:

Kommentar veröffentlichen