Angreifer können den DNS-Cache „vergiften“, indem sie die DNS-Resolver dazu bringen, falsche Informationen im Cache zu speichern. Das führt dazu, dass der Resolver den Clients die falsche IP-Adresse sendet und Benutzer, die zu einer Website navigieren möchten, werden zur falschen Adresse geleitet.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Mit einem DNS-Cacheangriff werden falsche Informationen in einen DNS-Cache eingeschleust, sodass DNS-Abfragen eine falsche Antwort liefern und die Nutzer zu falschen Websites geleitet werden. DNS-Cacheangriffe werden auch als „DNS-Spoofing“ bezeichnet. IP-Adressen sind die „Telefonnummern“ im Internet, die es dem Internet-Traffic ermöglichen, an den richtigen Orten anzukommen. DNS-Resolver-Caches sind wie ein Verzeichnis, das diese Telefonnummern auflistet. Wenn sie fehlerhafte Informationen speichern, wird der Traffic an die falschen Stellen geleitet, bis die gecachten Informationen korrigiert werden. (Beachten Sie, dass die reale Website damit nicht von der zugehörigen realen IP-Adresse getrennt wird.)
Weil die DNS-Resolver für gewöhnlich die Daten in ihrem Cache nicht verifizieren können, bleiben die falschen DNS-Informationen im Cache, bis die TTL (Time To Live) abgelaufen ist oder sie manuell entfernt werden. Eine Reihe von Schwachstellen ermöglichen DNS-Cacheangriffe. Das Hauptproblem ist jedoch, dass DNS für ein viel kleineres Internet konzipiert wurde und auf einem Vertrauensgrundsatz basiert (ähnlich wie BGP). Ein sichereres DNS-Protokoll namens DNSSEC zielt darauf ab, einige dieser Probleme zu lösen, ist aber noch nicht weit verbreitet.
DNS-Resolver liefern Clients die IP-Adresse, die mit einem Domain-Namen verknüpft ist. Mit anderen Worten, sie übersetzen für Menschen lesbare Websiteadressen wie „cloudflare.com“ in maschinenlesbare IP-Adressen. Wenn ein Nutzer versucht, zu einer Website zu navigieren, sendet ein Betriebssystem eine Anfrage an einen DNS-Resolver. Der DNS-Resolver antwortet mit einer IP-Adresse. Der Webbrowser liest diese Adresse und beginnt mit dem Laden der Website.
DNS-Resolver speichern die Antworten auf IP-Adressabfragen über einen bestimmten Zeitraum. Daher kann der Resolver künftige Abfragen viel schneller beantworten, ohne mit den vielen Servern, die an einer typischen DNS-Auflösung beteiligt sind, kommunizieren zu müssen. Wie lange DNS-Resolver die Antworten in ihrem Cache speichern, wird durch die festgelegte Gültigkeitsdauer (TTL, Time To Live) der betreffenden IP-Adresse bestimmt.
DNS Nicht gecachte Antwort:
DNS Gecachte Antwort:
Angreifer können DNS-Caches manipulieren, indem sie sich für DNS-Nameserver ausgeben, eine Anfrage an einen DNS-Resolver senden und die Antwort fälschen, wenn der DNS-Resolver einen Nameserver abfragt. Das ist möglich, weil DNS-Server UDP statt TCP verwenden und weil DNS-Informationen derzeit nicht verifiziert werden.
DNS-Cacheangriffsverfahren:
Manipulierter DNS-Cache:
Statt TCP, bei dem beide Kommunikationspartner durch einen „Handshake“ die Kommunikation einleiten, wird für DNS-Anfragen und -Antworten das UPD-Protokoll (User Datagram Protocol) verwendet. Bei UDP gibt es keine Garantie, dass eine Verbindung offen oder dass der Empfänger empfangsbereit ist. UDP ist aus diesem Grund anfällig für Fälschungen – ein Angreifer kann eine Nachricht über UDP senden und so tun, als sei es eine Antwort von einem legitimen Server, indem er die Daten des Headers fälscht.
Wenn ein DNS-Resolver eine gefälschte Antwort erhält, akzeptiert er die Daten kritiklos und speichert sie im Cache, weil er nicht verifizieren kann, ob die Informationen korrekt sind und von einer legitimen Quelle stammen. DNS wurde in den Anfangstagen des Internet entwickelt, als nur Universitäten und Forschungszentren mit dem Internet verbunden waren. Es gab keinen Grund zu erwarten, dass irgendjemand falsche DNS-Informationen streuen würde.
Trotz dieser wichtigen Schwachstellen im DNS-Cachingverfahren sind DNS-Cacheangriffe nicht einfach durchzuführen. Weil der DNS-Resolver den autoritativen Nameserver tatsächlich abfragt, haben Angreifer nur einige Millisekunden Zeit zum Senden einer falschen Antwort, bevor die echte Antwort vom autoritativen Nameserver ankommt.
Angreifer müssen eine Reihe von Faktoren kennen oder erraten, um DNS-Spoofing-Angriffe ausführen zu können:
Angreifer könnten auch auf andere Weise Zugriff auf den DNS-Resolver erlangen. Wenn eine böswillige Person einen DNS-Resolver betreibt, hackt oder sich physischen Zugriff dazu verschafft, kann sie die gecachten Daten einfacher manipulieren.
*Im Netzwerkbereich ist ein Port eine virtuelle Nachrichtenempfangsstelle. Computer verfügen über mehrere Ports mit jeweils einer eigenen Nummer. Damit Computer miteinander kommunizieren können, müssen bestimmte Ports für bestimmte Arten der Kommunikation benannt werden. Beispielsweise erfolgt die HTTP-Kommunikation immer über Port 80 und für HTTPS wird immer Port 443 verwendet.
Verschiedene Regierungen haben absichtlich DNS-Caches in ihren Ländern manipuliert, um den Zugriff auf bestimmte Websites oder Webressourcen zu verhindern.
DNSSEC steht für Domain Name System Security Extensions und dient zum Verifizieren der Integrität und des Ursprungs von DNS-Daten. Da DNS ursprünglich ohne einen solchen Verifizierungsmechanismus konzipiert wurde, sind DNS-Cacheangriffe möglich.
Ähnlich wie TLS/SSL, verwendet DNSSEC Verschlüsselung mit öffentlichen Schlüsseln (eine Methode zum digitalen Signieren von Informationen), um Daten zu verifizieren und zu authentifizieren. DNSSEC-Erweiterungen wurden im Jahr 2005 veröffentlicht. Allerdings ist DNSSEC noch nicht allgemein üblich, sodass DNS immer noch anfällig für Angriffe ist.