Eine stete Verfügbarkeit der Server und Dienste ist das höchste Gut für Unternehmen, deren Geschäftsmodelle und -prozesse ganz oder teilweise auf dem Internet beruhen. Sie ist durch DoS/DDoS-Angriffe (Denial-of-Service/Distributed-Denial-of-Service) bedroht. Botnetze (eine Gruppe von vernetzten Rechnern, die infiziert wurden) verfügen über eine immense Kapazität und können von jedem Interessenten einfach und günstig gemietet werden, um Konkurrenten oder auch politischen Zielen zu schaden:
DDoS - was ist das?
Als "Denial of Service (DoS)" -Angriff wird die Folge einer Überlastung von Infrastruktursystemen bezeichnet. Angreifer erreichen diese Überlastung meist durch eine mutwillige Attacke auf einen Host (Server), einen Rechner oder eine sonstige Komponenten in einem Datennetz, um einen oder mehrere bereitgestellte Dienste arbeitsunfähig zu machen.
Im Gegensatz zu einem einfachen "Denial of Service"-Angriff werden "Distributed Denial of Service (DDoS)"-Angriffe nicht nur über einen Angriffsrechner gefahren, sondern gleichzeitig im Verbund mit mehreren Rechnern. Das hat zur Folge, dass mehr Datenverkehr erzeugt werden kann und es für die Betroffenen sehr aufwendig ist, festzustellen, woher die Angriffe kommen.
Wie gehen DDoS-Angriffe vonstatten?
Der Angreifer platziert dazu - ohne Kenntnis des Anwenders - einen Software-Agenten auf verschiedenen Rechnern im Internet - häufig bereits Monate vor dem eigentlichen Angriff. Das so entstehende Botnetz lässt sich nun zumeist von einem Operator (auch Bot-Master oder Bot-Herder genannt) überwachen und steuern. Wird ein DDoS-Angriff auf ein bestimmtes Ziel gestartet, erfolgt er über die infizierten Rechner, auf denen die Agenten installiert sind. Im Verbund erzeugen diese ein enormes Angriffsvolumen. Ziel ist es, Firewalls, Web Services und Anwendungen für alle anderen Anwender unerreichbar zu machen.
Im Allgemeinen unterscheidet man zwischen Angriffen, die auf die Auslastung der Netzwerk-Bandbreite zum einen und auf die Auslastung der Systemressourcen (Arbeitsspeicher, CPU,...) zum anderen abzielen.
Evolution von DoS/DDoS-Angriffen
Obwohl DoS/DDoS-Angriffe bereits Jahrzehnte existieren, haben sich ihre Art, Umfang und Größe im Laufe der Zeit signifikant weiterentwickelt. Frühere DDoS-Angriffe nutzten eine begrenzte Anzahl von Computern, um einen einzigen Host (Server) oder andere kleine Ziele anzugreifen.
Das aufkommende kommerzielle Interesse am Internet sorgte für eine attraktive Umgebung für Angreifer und machte ihre schlechten Absichten für die großen Unternehmen schnell zum Problem. So vollzog sich im Jahr 2000 ein größerer DDoS-Angriff auf die Web-Angebote von unter anderem Ebay, Yahoo und Amazon, der einen merklichen wirtschaftlichen Schaden anrichtete. Auch Microsoft und die Recording Industry Association of America (RIAA) standen vermehrt unter Beschuss. In den Jahren 2002 und 2007 wurden koordinierte DDoS-Attacken gegen die DNS Root-Server (Domain Name System, es gibt 13 Root-Sever) gefahren, um den Namensauflösungsdienst und somit das gesamte Internet lahmzulegen. Der Angriff im Jahr 2002 war weitgehend erfolgreich, der im Jahr 2007 weniger.
Wie mächtig DDoS-Angriffe werden können, bekamen im Jahr 2010 auch die großen Kreditkartenanbieter Visa und Mastercard zu spüren, als sie im Zuge der Wikileaks-Affäre attackiert wurden und ihre Websites teilweise tagelang nicht funktionierten. Die für die Angriffe verantwortliche Aktivistengruppe "Anonymous" schaffte es mittels DDoS-Angriffen sogar, das riesige Paypal-Transaktionsnetz erheblich zu stören.
Und auch etwas jüngere Fälle gibt es zur Genüge: Ende Januar 2012 mussten das FBI, das US-Justizministerium und einige Websites der Musikindustrie daran glauben - als Reaktion auf die Schließung des Portals MegaUpload. Einer internen Untersuchung desWeb-Security-Dienstleisters Akamai zufolge wurden allein im November 2011 mehr als 20 DDoS-Angriffsversuche auf große deutsche Unternehmenskunden, darunter viele DAX-Konzerne, verübt. Dabei mussten es die attackierten Server mit teilweise 31mal soviel Datenverkehr wie sonst üblich aufnehmen. Einer Untersuchung von Kaspersky Lab nach betrug die durchschnittliche Bandbreite, mit denen DDoS-Attacken im zweiten Halbjahr 2011 gefahren wurden, 110 MBit pro Sekunde.
Heute lässt die Motivation für DDoS-Angriffe nach der Definition des Sicherheits-Dienstleisters Secunet in drei Kategorien fassen:
Vandalismus - Hervorrufen einer Störung durch Angriff auf willkürliche Systeme;
Sabotage - gezielter Angriff auf Systeme, um deren Verfügbarkeit zu stören und dem Betreiber des Systems zu schaden;
Erpressung - gezielter Angriff auf Systeme, um die Verfügbarkeit zu stören, mit der Absicht beim Betreiber des Webangebots eine Geldleistung einzufordern, um die Angriffe einzustellen.
Der technische Hintergrund
DoS/DDoS Angriffe können auf der Netzwerkebene (Layer-3/Layer-4), oder auf höheren Ebenen wie der Applikationsebene (Layer-7) erfolgen, bei denen der Angreifer legale, illegale oder fehlerhafte Anfragen an das Ziel sendet. In allen Fällen werden Netzwerk- und Systemressourcen verbraucht, die dem "normalen" Anwender nicht mehr zur Verfügung stehen, sodass Dienste und Services langsamer werden oder ganz ausfallen.
Drei Angriffsarten
Frühere DoS/DDoS-Angriffe spielten sich auf Netzwerkebene (Layer-2 bis Layer-4) ab, aktuelle Attacken schließen häufig die Applikationsebene mit ein (bis Layer-7). Sie lassen sich in drei Kategorien unterteilen:
1. Low-Level Protokoll-Angriffe (SYN-Flooding, Connection Flooding, ICMP Flooding)
2. HTTP Flooding (HTTP Flooding, Slowloris, Slow POST, SSL attacks)
3. DNS attacks (attacks against DNS infrastructure)
Einfache Netzwerkangriffe
Einfache DDoS-Angriffe werden auch "Flooding" genannt und basieren darauf, dass eine überwältigende Menge an Netzwerkverkehr an das gewünschte Ziel gesendet, es quasi "überschwemmt" wird. Das Ziel (beispielsweise der Server) oder ein Gerät vor dem Ziel (wie ein Router oder eine Firewall) kann der Last nicht standhalten und der übrige, legitime Datenverkehr erreicht daraufhin den Backend-Server nicht mehr.
Ein TCP-SYN-Flooding-Angriff ist für diese Art von verteilen Angriffen typisch. Sie sind so konzipiert, dass sie den "Stateful"-Verbindungsmechanismus der Geräte, die auf Layer-4 abzielen (beispielsweise Hosts) oder die Verbindungstabelle für "Stateful"-Geräte (z.B. Stateful Firewalls) zum Überlaufen bringen.
Um zu verstehen, wie ein SYN-Flood-Angriff funktioniert, ist es notwendig, die grundlegenden Mechanismen des TCP-Protokolls zu kennen. Zum Aufbau einer TCP-Verbindung auf Layer-4 sendet der Client ein Paket mit gesetztem SYN-Flag. Der Server empfängt das SYN-Paket, schreibt einen Eintrag in seine Verbindungstabelle und schickt ein SYN-ACK-Paket zurück. Im Normfall sendet der Client anschließend ein ACK-Paket an den Server, um den Verbindungsaufbau abzuschließen. Dieser Vorgang wird als Drei-Wege-Handshake bezeichnet (SYN, SYN-ACK, ACK).
Bei einem SYN-Flood-Angriff sendet ein bösartiger Client ebenfalls ein SYN-Paket an den Server, will damit aber keine Verbindung aufbauen. Er wartet nicht auf die SYN-ACK Antwort vom Server, sondern sendet sofort eine Vielzahl neuer SYN-Pakete. So schafft es ein einzelner Client durchaus, einen ungeschützten Server zu überlasten. Wenn nun beispielsweise 1000 Clients eines Botnets je 1000 SYN-Pakete an den gleichen Server schicken, wird dieser versuchen, eine Million Verbindungen aufzubauen. Eine Zahl, die weit über die Grenzen eines einzelnen Standardhosts hinausgeht.
Weitere Arten von Low-Level DoS/DDoS-Angriffen
Connection-Flooding: Dabei werden Tausende oder Millionen von vollständigen stateful-Verbindungen zum Ziel-Host erstellt.
ICMP-Flooding: Das Internet Control Message Protocol (ICMP) dient dem Austausch von Informations- und Fehlermeldungen über das Internet. Das Senden einer Vielzahl von ICMP-Paketen (z.B. PING-Paketen) kann den Zielhost außer Gefecht setzen, da er versucht, alle ICMP-Pakete abzuarbeiten.
Smurf-Angriff: Es wird eine Schwachstelle in falsch konfigurierten Netzwerken benutzt. Dabei sendet der Angreifer Ping-Pakete (ICMP-Echo-Requests) an die Broadcast-Adresse eines Netzwerks. Als Absender wird in diese IP-Pakete die Adresse des anzugreifenden PCs (Opfer) eingetragen. Je nach Konfiguration des Routers leitet dieser die Anfrage in das innere Netz weiter. Das hat zur Folge, dass alle angeschlossenen Clients dem Opfer auf die vermeintliche Anfrage antworten. Je nach Anzahl der Clients kann der Angreifer auf diese Art mit nur einem ICMP-Paket eine hohe Anzahl von Antworten an das Opfer erzeugen.
Alle drei Arten der "Lower-Level"-Netzwerk-Angriffe werden häufig zusammen mit "Higher-Level"-Applikationsangriffen wie HTTP-Flooding kombiniert.
HTTP Flooding
Anders als die meisten einfachen Netzwerk-Angriffe, bei denen mit böswillig geänderten oder fehlerhaften Paketen Computing-Ressourcen überlastet werden, gehen HTTP-Flooding-Angriffe wie legale HTTP-Webanfragen von normalen Anwendern aus. Daher sind herkömmliche Firewall-Technologien nicht in der Lage, diese Angriffe vom normalen Datenverkehr zu unterscheiden, sodass sie an die Webserver im Rechenzentrum weitergeleitet werden. Da es sich bei HTTP-Flooding-Angriffen um Tausende oder Millionen von Anfragen handelt, werden die Webserver und häufig auch die Infrastruktur (Bandbreite, Applikationsserver, Datenbankserver, ...) überlastet.
Die beiden häufigsten Varianten von HTTP-Flooding-Angriffen unterscheiden sich in der Intelligenz der Angriff-Clients und vom gesendeten Inhalt. Bei der einfachen Variante senden die Angriff-Clients immer wieder die gleichen Anfragen und analysieren in der Regel keine Antworten vom Server. Das Programm oder Skript, das auf diesen Angriff-Clients läuft, ist einfach zu programmieren, aber auch einfacher zu identifizieren.
Bei der erweiterten Variante senden die Angriff-Clients Anfragen an die Startwebsite, analysieren die Antwort vom Server und können rekursiv weitere Anfragen an alle Unterseiten senden. Diese Angriffe sind schwer zu erkennen und zu filtern, da legitime und unterschiedliche Anfragen passend zur Antwort vom Server geschickt werden - ähnlich dem normalen Anwenderverhalten. Die Angriffs-Clients werden im Laufe der Zeit immer intelligenter, was letztlich zu einem Wettrüsten zwischen Sicherheitsverantwortlichen und Angreifern führt.
Langsames Überlaufen
Für Schlagzeilen sorgte die 2009 veröffentlichte Software Slowloris , mit der ein einzelner Rechner unter minimaler Verwendung von Netzwerkressourcen einen Webserver lahmlegen kann. Das Prinzip beruht darauf, möglichst viele Verbindungen zum Zielserver aufzubauen und diese so lange wie möglich offen zu halten. Dieser Effekt wird durch das gleichzeitige Öffnen von Verbindungen und dem Senden von Teilanfragen erreicht. Von Zeit zu Zeit werden die Anfragen durch weitere HTTP-Header ergänzt, aber nie vollständig abgeschlossen. Die Anzahl offener Verbindungen steigt somit rasch an. Ein Webserver kann aber nur eine bestimmte Anzahl von Verbindungen parallel offen halten - darüber hinaus gehende Anfragen lehnt der Webbrowser schließlich ab. Ergebnis: Der Server ist lahmgelegt.
Slow POST beruht auf einem ähnlichen Prinzip. Der Angreifer sendet die Daten hier lediglich sehr langsam an den Server. Das Ergebnis ist jedoch das gleiche.
DNS-Angriffe
Das Domain Name System (DNS) übersetzt Namensanfragen (www.example.com) in numerische IP-Adressen (wie 192.168.204.201). Nahezu alle Clients verwenden DNS-Abfragen, um einen gewünschten Dienst auf einem Server zu erreichen. Fällt das DNS aus, sind alle Web- und E-Mail-Anwendungen nicht mehr zu erreichen. Dieser "Single-Point-of-Failure" macht das DNS zu einem verlockenden Ziel für Angreifer.
Typen von DNS-Angriffen auf DoS/DDoS-Basis
Einfache Netzwerkangriffe: Wird das zugrunde liegende Host-Betriebssystem des DNS-Servers nicht richtig "gehärtet" oder durch spezielle Firewall-Technologie geschützt, kann es leicht Opfer der beschriebenen "einfachen" Netzwerkangriffe werden. So könnte beispielsweise ein SYN-Flooding-Angriff den DNS-Server daran hindern, legitime Anfragen der Clients zu beantworten und somit Anwendungen außer Gefecht setzen.
Malformed UDP Paket Storms: Ein DNS-Server wird mit fehlerhaften UDP-Paketen bombadiert. Um diese Anfragen zu beantworten und jedes UDP-Paket zu validieren, verbraucht er Hardware- und Betriebssystemressourcen. Stehen ihm diese nicht mehr zur Verfügung, startet sich der Server meist komplett neu (Reboot) oder beginnt damit, Pakete zu verwerfen und die Anfragen abzulehnen, ganz gleich, um welche Art von Anfragen es sich handelt.
Legitime Anfragen für Hosts, die nicht existieren: Bei diesem Angriff senden verteilte Clients "gefälschte" legitime Anfragen an DNS-Server. Jede Anfrage zur Namensauflösung enthält einen zufällig erstellten Hostnamen, der aber nicht existiert - beispielsweise smbvruz367498.com. Der "lokale" DNS-Server, dem ein solcher Name nicht bekannt ist und er ihn entsprechend nicht im Cache vorliegen hat, muss weitere Ressourcen einsetzen, um andere DNS-Server (authoritative DNS) zu befragen, ob der Host dort bekannt ist und so weiter. Weil nun viele Ressourcen gebunden sind, kann es zu Störungen in den DNS-Diensten kommen.
Abwehr und Minderung
Um Überlastungen von kritischer IT-Infrastruktur zu vermeiden, gibt es mehrere Möglichkeiten.
Es müssen immer genügend Hard- und Softwareressourcen vorliegen, um einen Angriff zu überstehen - aus Kosten- und Effizienzgründen ist das aber meist nicht umsetzbar;
Sollte eine Attacke bereits vonstatten gehen, sollten die IP-Adresse(n) der angreifenden Clients mithilfe der Firewall manuell gesperrt werden, um entsprechende Paketanfragen direkt zu verwerfen;
Der laufende Abgleich anfragender IP-Adressen mit Sperrlisten ist aufwändiger, aber wesentlich flexibler;
Die dynamische Filterung kann sich aber auch auf Datenmengen beziehen: Jede IP-Adresse, deren Anfragen einen einstellbaren Grenzwert (wie Datenvolumen pro Zeit) überschreitet, kann komplett gesperrt oder beschränkt werden. Zu beachten ist allerdings, dass durch den Einsatz von Proxies generell viele Clients mit der gleichen IP-Adresse am Zielserver aufschlagen und es zu "Overblocking" kommen kann;
Wer den Datenverkehr bereits beim Zugangsprovider filtern lassen möchte, kann in ein DDoS-Mitigation-System investieren;
SYN-Flooding lässt sich durch den serverseitigen Einsatz von SYN-Cookies abschwächen.
(PC-Welt)