Cache Poisoning


Cache Poisoning

Cache Poisoning (dt. Temporärspeichervergiftung) ist ein Internet-Angriff, bei dem ein Angreifer in den Cache eines DNS-Servers gefälschte Daten einbringt. Ziel ist es, Clients, die unwissentlich auf diese gefälschten Daten zugreifen, auf manipulierte Webseiten zu lenken. Eine wirksame Gegenmaßnahme ist der Einsatz von DNSSEC, dieses ist aber noch nicht sehr weit verbreitet.

Inhaltsverzeichnis

Methoden

Antworten vor dem zuständigen Server

Bei dieser auch DNS Forgery genannten Methode wird der angegriffene DNS-Server zuerst aufgefordert, eine rekursive Anfrage zu stellen. Mit dem Ziel, vor dem zuständigen Server die Antwort zu liefern, schickt der Angreifer gefälschte Antworten an den DNS-Server. Um dies zu erschweren, werden DNS-Anfragen mit einer 16 bit langen Transaktionsnummer versehen, die ein Angreifer erraten müsste, um einen erfolgreichen Angriff durchführen zu können. Da dies im statistischen Mittel 32.768 Versuche erfordert, ist dieser Angriff sowohl aufwändig als auch auffällig.

Angriff über zusätzliche Daten

Im öffentlichen DNS sind einzelne DNS-Server nur für Teilbereiche des gesamten DNS autoritativ. Bekommt ein DNS-Server eine Anfrage für einen Bereich, in dem er nicht autoritativ ist, kann er die Anfrage an den nächsten DNS-Server weiterleiten. Um unnötige Last zu vermeiden, können DNS-Server die Antworten anderer Server auf Anfragen lokal in einem Cache speichern. In diesem Fall könnte die Weiterleitung der o. g. Anfrage an einen weiteren Server wegfallen und sofort eine Antwort gesendet werden. Ein DNS-Teilnehmer, der an einen Nameserver eine Anfrage sendet, übernimmt die erhaltene Antwort ungeprüft eine vorgegebene Zeit lang in seinen Cache. Neben der eigentlichen Antwort werden oft auch zusätzliche (legitime) Daten (Glue Records) übermittelt, die ebenfalls im Cache gespeichert werden. Das Cache Poisoning beruht darauf, in diesen zusätzlichen Daten ein oder mehrere gefälschte Resource Records zu verstecken.

Genauer formuliert: In der Authority Section des Antwortpakets wird der umzuleitende Name (z. B. de.wikipedia.org) als angeblicher DNS-Server eingetragen und in der Additional Section die IP-Adresse (z. B. 1.2.3.4) eines vom Angreifer kontrollierten Servers.

Ablaufbeispiel

  1. Ein Cracker bringt den Nameserver XX unter seine Kontrolle. Er manipuliert diesen derart, dass jedes Mal, wenn nach einem Namen aus der Domain example.com gefragt wird, ungefragt der gefälschte Record de.wikipedia.org 192.0.2.1 mitgeliefert wird.
  2. Der öffentliche Nameserver YY möchte den Namen test.example.com auflösen. Er sendet eine entsprechende Anfrage an den zuständigen (vom Cracker kontrollierten) Nameserver XX. Dieser manipulierte Nameserver antwortet mit der korrekten IP-Adresse, liefert aber zusätzlich den gefälschten Record de.wikipedia.org 192.0.2.1 mit. Dieser wird vom anfragenden Server YY ungeprüft in den Cache übernommen.
  3. Zu einem späteren Zeitpunkt versucht ein User, den Namen de.wikipedia.org aufzulösen und wendet sich an den öffentlichen Nameserver YY. Der Nameserver findet den (gefälschten) Record in seinem Cache und sendet dem User gutgläubig die IP-Adresse 192.0.2.1 zurück.
  4. Der User möchte auf de.wikipedia.org zugreifen, wird aber – für ihn nicht erkennbar – auf eine falsche Web-Seite mit der IP-Adresse 192.0.2.1 geleitet.

Aktuelle Nameserver akzeptieren keine ungefragt mitgelieferten Records mehr. Akzeptiert werden nur noch Records aus der tatsächlich angefragten Domain (sogenannte in-bailiwick-Records).

Auswirkungen

Ein erfolgreicher Cache-Poisoning-Angriff hat sehr weitreichende Auswirkungen, da er praktisch die Kontrolle des Internetverkehrs eines durch einen DNS-Servers versorgten Netzbereiches ermöglicht, indem Netzverkehr, der sich auf DNS-Namen stützt, an andere Stelle umgeleitet oder unterdrückt werden kann. Dies ist insbesondere im Rahmen von Phishing- und Pharming-Angriffen interessant.

Angriffsdruck bis 2008

Cache-Poisoning-Angriffe sind durch die Erschwerungsmaßnahmen (Transaktionsnummer, Prüfung auf in-bailiwickness) seit der Jahrtausendwende selten geworden. Dies ist dadurch begründet, dass der Angriff trotz des sehr effektiven Ergebnisses mit sehr viel Aufwand verbunden ist und daher gegenüber anderen, weniger aufwendigen Methoden immer mehr an Bedeutung verloren hat.

Neue Angriffsvariante aus dem Jahr 2008

Im Juli 2008 wurde eine Angriffsvariante vorgestellt, die beide oben beschriebenen Methoden kombiniert und gleichzeitig den Aufwand drastisch reduziert[1]. Unter Verwendung eines Geburtstagsangriffs vereinfacht die Methode um Größenordnungen, zufällige Treffer beim Raten der Transaktionsnummer zu erzielen, und wendet gleichzeitig einen Trick an, der dazu führt, dass ein anzugreifendes System Anfragen genau in der Domain stellt, für die falsche Daten im Cache platziert werden sollen. So wird erreicht, dass untergeschobene Glue-Records in-bailiwick sind[2] .
Um auch diese Angriffsmethode zu erschweren und für Angreifer unattraktiv zu machen, wurde direkt nach Bekanntwerden der Schwachstelle bei fast allen Herstellern von DNS-Server-Software die Source Port Randomization eingeführt. Diese zusätzliche Funktion führt neben der Transaktionsnummer zusätzlich den zu beschickenden Port als variable Größe ein.

Siehe auch

Einzelnachweise

  1. Heise.de: Massives DNS-Sicherheitsproblem gefährdet das Internet, 9. Juli 2008
  2. RUS-CERT-Meldung#1476: [Generic/DNS] Schwachstelle im DNS-Protokoll vereinfacht cache poisoning, 8. Juli 2008

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Cache-Poisoning — (dt. Temporärspeichervergiftung) ist ein Internet Angriff, bei dem ein Angreifer in den Cache eines Nameservers gefälschte Daten einbringt. Ziel ist es, Clients, die unwissentlich auf diese gefälschten Daten zugreifen, auf manipulierte Webseiten… …   Deutsch Wikipedia

  • DNS cache poisoning — is a security or data integrity compromise in the Domain Name System (DNS). The compromise occurs when data is introduced into a DNS name server s cache database that did not originate from authoritative DNS sources. It may be a deliberate… …   Wikipedia

  • DNS cache poisoning — Empoisonnement du cache DNS L empoisonnement du cache DNS ou pollution de cache DNS (DNS cache poisoning ou DNS cache pollution en anglais) est une technique permettant de leurrer les serveurs DNS afin de leur faire croire qu ils reçoivent une… …   Wikipédia en Français

  • URL cache poisoning — L URL cache poisoning ou « empoisonnement de cache URL » est une technique d attaque dérivée des failles cross site scripting pouvant être utilisée comme payload à l intérieur d un attribut d une balise HTML dans le but d usurper l url… …   Wikipédia en Français

  • Caché — Caché, también escrito cache puede referirse a: Informática Caché (informática), es un conjunto de datos duplicados de otros originales. Caché web, es la que almacena documentos web. Caché Robson Caché de disco DNS cache poisoning Coherencia de… …   Wikipedia Español

  • DNS Poisoning — Saltar a navegación, búsqueda DNS cache poisoning / DNS Poisoning / Pharming es una situación creada de manera maliciosa o no deseada que provee datos de un Servidor de Nombres de Dominio (DNS) que no se origina de fuentes autoritativas DNS. Esto …   Wikipedia Español

  • Empoisonnement Du Cache DNS — L empoisonnement du cache DNS ou pollution de cache DNS (DNS cache poisoning ou DNS cache pollution en anglais) est une technique permettant de leurrer les serveurs DNS afin de leur faire croire qu ils reçoivent une requête valide tandis qu elle… …   Wikipédia en Français

  • Empoisonnement du cache dns — L empoisonnement du cache DNS ou pollution de cache DNS (DNS cache poisoning ou DNS cache pollution en anglais) est une technique permettant de leurrer les serveurs DNS afin de leur faire croire qu ils reçoivent une requête valide tandis qu elle… …   Wikipédia en Français

  • Empoisonnement du cache DNS — L empoisonnement du cache DNS ou pollution de cache DNS (DNS cache poisoning ou DNS cache pollution en anglais) est une technique permettant de leurrer les serveurs DNS afin de leur faire croire qu ils reçoivent une requête valide tandis qu elle… …   Wikipédia en Français

  • DNS-Poisoning — DNS Spoofing bezeichnet einen Angriff, bei dem es einem Angreifer gelingt die Zuordnung zwischen einem URL und der zugehörigen IP Adresse zu fälschen. Dies kann durch unterschiedliche Vorgehensweisen erreicht werden: Ausnutzen von… …   Deutsch Wikipedia