Cache Poisoning (DNS-Cache-Poisoning)

Beim Cache Poisoning bringt ein Angreifer einen DNS-Resolver dazu, eine gefälschte Antwort zwischenzuspeichern und sie an alle seine Nutzer weiterzugeben.

So funktioniert’s

Rekursive Resolver, etwa die des Internetproviders, eines Unternehmens oder öffentliche wie Google Public DNS, speichern Antworten für die Dauer der TTL zwischen. Fragt ein Resolver bei einem autoritativen Nameserver an, akzeptiert er die erste Antwort, die zu Anfrage-ID, Port und Frage passt.

Der Angreifer flutet den Resolver in genau diesem Moment mit gefälschten Antworten und hofft, vor dem echten Nameserver die richtige Kombination zu treffen. Die 2008 veröffentlichte Kaminsky-Attacke zeigte, dass sich so mit zufälligen Subdomains die Zuständigkeit für eine ganze Domain kapern ließ. Seitdem nutzen Resolver zufällige Quellports; spätere Angriffe wie SAD DNS (2020) fanden dennoch Wege, diese Zufälligkeit auszuhebeln.

Ist die gefälschte Antwort einmal im Cache, liefert der Resolver sie aus, bis der Eintrag abläuft – die TTL bestimmt dabei der Angreifer mit, begrenzt nur durch die Obergrenze des Resolvers. Zuverlässig verhindert das nur DNSSEC: Ein validierender Resolver verwirft für signierte Zonen jede Antwort ohne gültige Signatur.

Warum gefährlich

Anders als ein Angriff im lokalen Netz trifft eine vergiftete Antwort alle Nutzer des Resolvers, bei einem großen Provider also sehr viele Menschen auf einmal. Sie landen auf einer fremden Website, oder ihre Mailserver stellen an einen falschen MX zu, ohne dass an deiner Zone etwas geändert wurde.

Für dich als Betreiber ist das besonders tückisch: Deine eigenen Abfragen zeigen korrekte Werte, die Logs deiner Server bleiben ruhig, und die Umleitung verschwindet erst, wenn der Eintrag im betroffenen Resolver abläuft.

So vermeidest du es

  1. DNSSEC für deine Domains aktivieren; das ist der Schutz, den du als Domaininhaber selbst in der Hand hast.
  2. Eigene Resolver im Unternehmensnetz oder auf Servern aktuell halten, die DNSSEC-Validierung einschalten und sie nicht als offene Resolver ins Internet stellen.
  3. HTTPS mit HSTS und für Mail MTA-STS oder DANE einsetzen, damit umgeleitete Verbindungen am Zertifikat scheitern.
  4. Bei Verdacht die Antworten mehrerer öffentlicher Resolver mit denen der autoritativen Nameserver vergleichen, etwa mit dem kostenlosen Tool für die DNS-Propagation.

So erkennt DomainWarn es

Eine vergiftete Antwort im Cache eines fremden Resolvers prüft DomainWarn nicht direkt; sie ist nur aus dem Netz dieses Resolvers sichtbar. Der Check DNSSEC prüft stattdessen den wirksamen Schutz: ob die Domain einen DS-Record hat, ob die Signaturkette bei einem validierenden Resolver durchgeht, ob Signaturen bald ablaufen und ob abgekündigte Algorithmen im Einsatz sind.

Der Check DNS fragt bevorzugt die autoritativen Nameserver ab und erkennt so Änderungen an der Zone selbst, nicht aber vergiftete Kopien bei Dritten. Für eine Stichprobe über mehrere öffentliche Resolver gibt es das kostenlose Tool für die DNS-Propagation auf der Website.

DomainWarn prüft das für alle deine Domains regelmäßig und meldet sich, wenn etwas fehlt oder sich ändert.

Diese Domain dauerhaft überwachen14 Tage kostenlos testen, keine Kreditkarte.