Freitag, 3. September 2010


News

Donnerstag, 10. Juli 2008 | News

Design-Schwachstelle in der DNS-Spezifikation gefährdet Internet

(Link zum Artikel: http://www.entwickler.de/entwicklerde/kolumnen/044149)

Das US-CERT warnt in einer Vulnerability Note vor einem Design-Fehler in der DNS-Spezifikation, der für Cache-Poisoning-Angriffe ausgenutzt werden kann.

Das Domain Name System und Angriffe darauf

Für eine ausführliche Beschreibung siehe About Security #61 und #62, im folgenden folgt nur eine kurze Zusammenfassung.

Das DNS-Protokoll (Domain Name System) dient der Umwandlung von Domain-Namen in die entsprechende IP-Adresse und umgekehrt. Dabei gibt es zwei Arten von DNS-Anfragen: rekursive und nichtrekursive. Ein Client stellt i.d.R. eine rekursive Anfrage, d.h. er möchte die endgültige Antwort erhalten. Name-Server untereinander verwenden nichtrekursive Anfragen: Jeder Server nennt nur die IP-Adressen, die er selbst verwaltet. Kennt er die IP-Adresse eines Domain-Namens nicht, nennt er einen Name-Server, der die Antwort kennen könnte. Der Anfragende wird so zum zuständigen Name-Server vermittelt, der dann die gewünschte IP-Adresse nennt.

Wird ein Domain-Name, z.B. entwickler.com, aufgerufen, wird vom Client eine entsprechende rekursive DNS-Anfrage an den 'domain'-Port (53) des lokal zuständigen Name-Servers gesendet. Dieser sendet ggf. nichtrekursive DNS-Anfragen an andere Name-Server, um die zugehörige IP-Adresse zu ermitteln. Diese speichert er zur Beantwortung zukünftiger Anfragen für eine gewisse Zeit in seinem Cache.

Gelingt es einem Angreifer, gefälschte Informationen in den Cache einzuschleusen, kann er damit Anfragen an einen bestimmten Server (den, dessen Eintrag er verfälscht hat) zu einem Server unter seiner Kontrolle umleiten. Darüber sind dann z.B. Phishing-Angriffe oder das Einschleusen von Schadsoftware möglich.

Der Header eines DNS-Pakets enthält ein Identifikations-Feld (die 16 Bit lange Transaction-ID), das für die Zuordnung empfangener Antworten zur entsprechenden Anfrage verwendet wird. Will ein Angreifer eine falsche Antwort auf eine DNS-Anfrage einschleusen, muss er die korrekte ID kennen oder erraten. Sofern der Netzwerkverkehr des Opfers oder seines Name-Servers belauscht werden kann, ist dies kein Problem. Aber auch ohne Belauschen der ID ist ein Angriff nicht unmöglich, da immer wieder Schwachstellen gefunden werden, die die eigentlich zufällig erzeugte Transaction-ID vorhersagbar machen.

Die neue Schwachstelle

Laut der Vulnerability Note des US-CERT wurde von Dan Kaminsky eine neue Methode entdeckt, um die richtige ID zu ermitteln und dadurch auch ohne weitere Schwachstelle Cache-Poisoning durchzuführen. Details sollen erst auf der Sicherheitskonferenz Blackhat im August vorgestellt werden.

Als zusätzliche Hürde für den Angreifer wurden als erste Gegenmaßnahme zufällig ausgewählte Quellports für die DNS-Abfragen eingebaut, so dass für einen erfolgreichen Angriff außer der richtigen ID auch der richtige Port bestimmt werden muss. Laut des BIND-Entwicklers ISC beseitigt aber nur die DNS-Erweiterung DNSSEC die Schwachstelle wirklich zuverlässig.

Katze aus dem Sack...

Nachdem nun bekannt ist, das es eine neue Angriffsmethode gibt, ist damit zu rechnen, das auch weniger wohlmeinende Personen die Methode von Dan Kaminsky nachvollziehen und diese dann für ihren Vorteil ausnutzen. Oder unhöflich ausgedrückt: Kriminelle könnten die Methode ebenfalls entwickeln und für großmaßstäbliche Angriffe nutzen. Sofern Sie betroffene DNS-Server betreiben, sollten Sie daher die veröffentlichten Patches so schnell wie möglich installieren und über den Rat von ISC nachdenken, DNSSEC zu implementieren.

Carsten Eilers


Weiterführende Links:

Kommentare

Folgende Links könnten Sie auch interessieren