DNS spoofing is a security attack where attackers supply falsified DNS answers to redirect domain names to attacker-controlled IP addresses, affecting recursive resolvers and their cached data so that one successful attack can compromise many users simultaneously. The attack works by forging responses that match query details or by altering DNS data directly, and it succeeds when resolvers accept forged answers as genuine, potentially exposing users to phishing pages, malware downloads, and email interception without any visible indication in the domain name displayed. Organizations can mitigate DNS spoofing risk through DNSSEC validation, randomized source ports and query IDs, restricted recursion policies, encrypted transport mechanisms like DNS over TLS, and comprehensive logging to detect unexpected DNS answer changes.
So funktioniert DNS-Spoofing
DNS-Spoofing ist erfolgreich, wenn ein Resolver oder Client eine gefälschte Antwort als echt akzeptiert. Die häufigste Form zielt auf einen rekursiven Resolver und dessen Cache ab, sodass eine einzige falsche Antwort jeden Client betreffen kann, der diesen Resolver nutzt.
- Eine Abfrage auslösen: Der Angreifer veranlasst einen Ziel-Resolver, einen Namen nachzuschlagen, entweder durch direkte Abfrage oder indem er einen Nutzer oder eine Anwendung dazu verleitet, diese Abfrage zu stellen.
- Eine Antwort fälschen: Der Angreifer sendet gefälschte Antworten, die scheinbar vom autoritativen Server stammen. Um akzeptiert zu werden, muss die Antwort mit den Details der ausstehenden Anfrage übereinstimmen, wie beispielsweise der Abfrage-ID, dem Quellport und der Frage.
- Das Rennen gewinnen: Wenn die gefälschte Antwort vor der echten eintrifft und übereinstimmt, akzeptiert der Resolver sie. Eine schwache Zufallsgenerierung von Abfrage-IDs und Quellports erleichtert den Abgleich.
- Cache und Bereitstellung der gefälschten Daten: Der Resolver speichert den gefälschten Eintrag für die Dauer seiner Gültigkeit und gibt ihn an Clients zurück, die sich mit der Adresse des Angreifers verbinden.
Spoofing kann auch ohne „Racing Responses“ erfolgen, beispielsweise durch die Kompromittierung eines DNS-Servers, die Änderung von Zonendaten oder das Abfangen von Datenverkehr auf dem Netzwerkpfad. Die Validierung von Antworten mit DNSSEC, die Randomisierung von Quellports und Abfrage-IDs sowie die Einschränkung der Berechtigungen zum Ändern von DNS-Daten verringern das Risiko.
Häufige Missverständnisse zum Thema DNS-Spoofing
Spoofing kann auch auf rekursive Resolver, Forwarder und interne Caches abzielen. Ein Unternehmens-Resolver, der fehlerhafte Daten akzeptiert, kann jeden dahinter liegenden Client beeinträchtigen.
TLS mit Überprüfung gültiger Zertifikate begrenzt den Schaden einer Umleitung, verhindert jedoch nicht die falsche DNS-Antwort. Nutzer, die Zertifikatswarnungen wegklicken, oder Anwendungen, die die Validierung überspringen, bleiben gefährdet, und Nicht-Web-Datenverkehr wie E-Mails ist möglicherweise nicht geschützt.
DNSSEC ermöglicht es einem validierenden Resolver, gefälschte Daten für signierte Zonen zurückzuweisen. Bei nicht signierten Zonen hat es keine Wirkung, und es schützt Clients nur, wenn der Resolver validiert und der Pfad zwischen Client und Resolver vertrauenswürdig ist.
Das Löschen eines manipulierten Caches entfernt zwar den fehlerhaften Eintrag, nicht jedoch die Ursache. Solange der Resolver weiterhin angreifbar ist – beispielsweise durch vorhersehbare Abfrageattribute oder offene Rekursion –, kann der Angreifer ihn erneut manipulieren.
Der Nutzer sieht in der Regel den korrekten Namen in der Adressleiste. Nur die dahinterliegende IP-Adresse ist falsch, sodass der Angriff bei einer visuellen Überprüfung der Domain selten auffällt.