Skip to content

DDoS durch DNS Amplification Attacks

Haben Sie in der dritten Märzwoche etwas vom größten DDoS-Angriff aller Zeiten bemerkt? Die beinahe das Internet zerstörte? Nicht? Nun, dann liegt das wohl vor allem daran, dass die Berichte über das Ende des Internets, gelinde gesagt, etwas übertrieben sind. Es war der bisher größte Angriff auf das Opfer des Angriffs, Spamhaus. Mehr aber auch nicht. Es gab nur lokale Auswirkungen, und zwar in Großbritannien, den Niederlanden und Deutschland. Und selbst da haben die meisten Internetnutzer nichts davon bemerkt, sofern sie nicht gerade einen der angegriffenen Server besuchten.

Trotzdem ist der Angriff recht interessant, zeigt er doch, wie einfach DDoS-Angriffe heutzutage sind. Aber bevor ich zur Beschreibung des Angriffs komme gibt es erst mal einen kurzen Überblick über das Domain Name System.

Das Domain Name System

Das Domain Name System ist ein hierarchischer Verzeichnisdienst zur Verwaltung des Namensraums des Internets. Das DNS-Protokoll dient vor allem der Umwandlung von Domainnamen in die entsprechende IP-Adresse und umgekehrt. Dafür werden die sog. Nameserver verwendet, die in autoritative und nicht-autoritative Nameserver unterschieden werden.

Ein autoritativer Nameserver ist für eine bestimmte Zone verantwortlich, so dass seine Antworten für diese Zone als gesichert angesehen werden. Ein nicht-autoritativer Nameserver erhält seine Informationen über eine Zone von anderen Nameservern, also aus zweiter Hand. Seine Antworten werden daher als nicht gesichert betrachtet. Nicht-autoritative Nameserver speichern erhaltene Informationen über andere Zonen in einem lokalen Cache. Die Speicherdauer wird dabei vom zuständigen autoritativen Nameserver in Form der sog. TTL (time to live) festgelegt und ist abhängig davon, wie häufig sich die entsprechenden Daten ändern.

Die Namens-Auflösung

Zum Ermitteln von Domainnamen werden DNS-Anfragen verwendet, von denen es auch zwei Arten gibt: Rekursive und Nichtrekursive. Ein Client stellt i.d.R. eine rekursive Anfrage, d.h. er möchte die endgültige Antwort erhalten. Nameserver untereinander verwenden nichtrekursive Anfrage: Jeder Server nennt nur die IP-Adressen, die er selbst verwaltet. Kennt er die IP-Adresse eines Domainnamens nicht, nennt er einen Nameserver, der die Antwort kennen könnte. Der Anfragende wird so zum zuständigen Nameserver weiter geleitet, der ihm dann die gesuchte IP-Adresse nennt.

Wird zum Beispiel im Webbrowser ein Domainname wie www.ceilers-news.de eingegeben, wird vom Client eine entsprechende rekursive DNS-Anfrage an den 'domain'-Port (53) des lokal zuständigen Nameservers gesendet. Dieser sendet ggf. nichtrekursive DNS-Anfragen an andere Nameserver, um die zugehörige IP-Adresse zu ermitteln. Diese speichert er zur Beantwortung zukünftiger Anfragen für die Dauer der TTL in seinem Cache.

DDoS durch DNS Amplification Attacks

DNS Amplification Attacks wurden zum Beispiel 2006 von Randy Vaughn und Gadi Evron beschrieben, nachdem es zu einigen entsprechenden Angriffen gekommen war (Paper als PDF). Vereinfacht wird dabei eine Vielzahl von DNS-Anfragen mit der gefälschten Adresse des Opfers als Absender abgeschickt, die jede zu einer möglichst großen Antwort führen.

Die maximale Größe eines DNS-Response-Pakets war ursprünglich 512 Bytes. Eine typische DNS-Anfrage von 60 Bytes konnte also zu einer maximal 512 Byte großen Antwort führen, was einem Verstärkungsfaktor von 8,5 entspricht. Durch Erweiterungen des Protokolls wurde 1999 eine Vergrößerung der DNS-Antworten notwendig (siehe RFC 2671, Extension Mechanisms for DNS (EDNS0)), so dass der Absender der DNS-Anfrage nun einen ausreichend großen Puffer reservieren und dessen Größe dem befragten Nameserver mitteilen kann. Wird eine Puffergröße von 4000 Bytes verwendet, führt eine DNS-Anfrage von 60 Bytes nun zu einer um mehr als das 60-fache verstärkten Antwort.

Der Angreifer benötigt für seinen Angriff nur einen gültigen Domainnamen, zu dessen DNS-Einträgen ein großer Text-Record gehört, und eine DNS-Anfrage mit gefälschter Absenderadresse.

Für den Angriff kann der Angreifer einen eigenen Nameserver verwenden. Diesen konfiguriert er entsprechend RFC 2671 so, dass u.a. ein großer Text-Record vorhanden ist. Ein hoher TTL-Wert sorgt dafür, dass die Daten von den für den Angriff ausgenutzten Nameservern lange gecached werden, so dass sein eigener Nameserver nicht überlastet wird.

Der Angreifer konstruiert dann eine DNS-Anfrage nach allen DNS-Einträgen zu seiner Domain, gibt einen großen Puffer an und verwendet als Absenderadresse die des Opfers. Diese gefälschte DNS-Anfrage wird an eine Reihe von Nameserver, die rekursive Anfragen von beliebigen Clients entgegennehmen (sog. Open Resolver), gesendet. Für das Senden der Anfragen kann z.B. ein Botnet verwendet werden. Die Nameserver beantworten die Anfragen und senden ihre Antwort an die gefälschte Absenderadresse, wodurch es beim Opfer zum DoS durch Überflutung kommt, siehe Abb. 1.

DNS Amplification Attack
Abb. 1: DNS Amplification Attack (Klick für großes Bild)

Statt eines eigenen Nameservers und einer eigenen Domain kann der Angreifer natürlich auch Daten anderer Domains abfragen. Wichtig für ihn ist nur, dass die Antworten möglichst gross sind.

Der Angriff auf Spamhaus

Laut Cloudflare, die von Spamhaus mit der Abwehr des Angriffs beauftragt wurden, sendeten die Angreifer Anfragen nach der DNS-Zonen-Datei von ripe.net an über 30.000 offene DNS-Resolver. Die Anfrage war ca. 36 Bytes lang, zum Beispiel

dig ANY ripe.net @[IP-Adresse des Open Resolvers] +edns=0 +bufsize=4096

und führte zu einer rund 3.000 Bytes großen Antwort, was einem Verstärkungsfaktor von fast 100 ergibt. Aus ca. 750 MBit/s beim Angreifer wurden so rund 75 GBit/s beim Opfer, und das Maximum soll bei 300 GBit/s gelegen haben.

Offene DNS-Resolver sind gefährlich

Offene DNS-Resolver sind eine große Gefahr. Das Open DNS Resolver Project, dass diese Nameserver erfasst, hat mit Stand vom 30. März 2013 genau 27.200.613 Nameserver gezählt, die Anfragen "in some fashion" beantworten. 25 Millionen davon stellen eine echte Gefahr dar, d.h. sie können für DNS Amplification Attacks missbraucht werden. Jeder dieser Server muss umkonfiguriert werden, so dass er nicht mehr für DoS-Angriffe missbraucht werden kann.

Carsten Eilers

Trackbacks

Keine Trackbacks