G 5.78 DNS-Spoofing

Um im Internet mit einem anderen Rechner kommunizieren zu können, wird dessen IP-Adresse benötigt. Da solche Nummern nicht sehr einprägsam sind, ordnet das Domain Name System (DNS) einer solchen IP -Adresse einen Name zu.

Von DNS-Spoofing ist die Rede, wenn es einem Angreifer gelingt, die Zuordnung zwischen einem Rechnernamen und der zugehörigen IP-Adresse zu fälschen, also wenn ein Name in eine falsche IP-Adresse bzw. die IP-Adresse in einen falschen Namen umgewandelt wird. Beim klassischen DNS-Spoofing wird nicht der Client-PC durch Schadsoftware manipuliert, sondern es werden Schwachstellen in der DNS-Kommunikation ausgenutzt. Hierdurch sind unter anderem die folgenden Angriffe möglich:

Wie leicht es ist, DNS-Spoofing durchzuführen, hängt davon ab, wie das Netz des Angegriffenen konfiguriert ist. Da kein Rechner alle DNS-Informationen der Welt besitzen kann, ist er immer auf Informationen anderer DNS-Server angewiesen. Um die Häufigkeit von DNS-Abfragen zu verringern, speichern die meisten Resolving DNS-Server Informationen, die sie von anderen DNS-Servern erhalten haben, für eine gewisse Zeit zwischen.

Eine weitere Möglichkeit, um Schaden per DNS-Spoofing anzurichten, ist ein Einbruch in einen DNS-Server. Dieser Fall soll hier aber nicht weiter betrachtet werden. Vielmehr geht es darum, prinzipielle Gefahren beim Einsatz von DNS aufzuzeigen.

Beispiele:

Diese beiden Beispiele beruhen darauf, dass ein DNS-Server zusätzliche Daten akzeptiert, die er gar nicht angefordert hat. In neuen Versionen von DNS-Software (z. B. BIND) ist dieser Fehler beseitigt, so dass diese Art von Angriffen verhindert wird. Es ist allerdings unter Verwendung von IP-Spoofing noch immer möglich, falsche DNS-Einträge zu erzeugen. Dieser Angriff ist aber technisch anspruchsvoller, vergleiche dazu auch G 5.48 IP-Spoofing.

Beide Angriffsformen haben eines gemeinsam: Ziel ist es, dass der angegriffene Rechner falsche Zuordnungen von IP-Adressen und Namen zwischenspeichert, man spricht hierbei von Cache-Poisoning. Da DNS-Server Domain-Informationen, wie im zweiten Beispiel beschrieben, zwischenspeichern, können sich diese gefälschten Daten weit verbreiten. Werden entsprechende Anfragen an den manipulierten DNS-Server gestellt, liefert dieser als Antwort die gefälschten Daten. Der Empfänger der Antwort speichert die gefälschten Daten ebenfalls zwischen und sein Cache ist somit ebenfalls "vergiftet". Die gespeicherten Daten haben eine definierbare Haltbarkeit (Time To-Live, TTL). Wird der Resolving DNS-Server nach einer manipulierten Adresse gefragt, so wird er erst dann wieder einen anderen DNS-Server anfragen, wenn die Haltbarkeit abgelaufen ist. So ist es möglich, dass sich manipulierte DNS-Informationen lange halten können, obwohl sie auf dem ursprünglich angegriffenen DNS-Serer bereits wieder korrigiert sind.

Cache-Poisoning ist bezüglich DNS eine der gefährlichsten Angriffsformen. Gelingt es einem Angreifer beispielsweise die Namensauflösung für eine Domain zu übernehmen, indem er die Einträge so manipuliert, dass seine DNS-Server befragt werden, sind alle Subdomains automatisch mitbetroffen.