Direkt zum Inhalt wechseln
media-podcast-icon Blogpost
in
domains

SAD DNS | Das Comeback des DNS Cache Poisoning

Time to read 9 Min

Eine Reihe von Sicherheitslücken im Software Stack hat zu einer Wiederbelebung der klassischen DNS-Cache-Poisoning-Angriffe geführt. Wir haben diese neue Variante des SAD-DNS-Angriff analysiert und schildern wie diese Bedrohung im DNS-Ökosystem neutralisiert werden kann.

Published by

Author

Simone Catania

Date

27.03.2023
Mann mit Kapuze bei einer SAD DNS Attacke vor 3 Bildschirmen. Ein lila Kreis und ein Weltkugelicon ist noch im Hintergrund zu sehen.
Die Aufgabe des Domain Name System (DNS) ist es, den Hosts im Netzwerk Namen zuzuweisen. Dieses äußerst nützliche Protokoll übersetzt benutzerfreundliche Domainnamen in numerische IP-Adressen. So löst das DNS den Domainnamen www.yourdomain.com beispielsweise in eine zugehörige IP-Adresse wie z. B. 165.78.323.567 auf. Leider ist dieses System alles andere als sicher.

Das DNS entspringt den frühen Tagen des Internets, als die einzigen verbundenen Teilnehmer Universitäten und Forschungszentren waren. Zu dieser Zeit gab es keinen Grund zu der Annahme, dass jemand versuchen würde, Methoden wie Spoofing und Cache-Poisoning zu entwickeln. Das DNS-Protokoll weist eine lange Vorgeschichte von Sicherheitslücken auf.

Die wahrscheinlich bekannteste geht auf den berühmten Kaminsky-Angriff im Jahr 2008 zurück. Es war der erste DNS-Cache-Poisoning-Angriff, über den weitläufig berichtet wurde. Der Angriff ist nach seinem Entdecker Dan Kaminsky, einem US-Sicherheitsforscher, benannt.

Im Jahr 2020 entdeckten Forscher der University of California Riverside eine neue DNS-Sicherheitslücke, die die Schwäche des DNS abermals deutlich machte. Es ist auch heutzutage sehr wichtig, die mit dem DNS verbundenen Bedrohungen – und geeignete Schutzmaßnahmen – zu kennen.

Was ist DNS Caching?

Beginnen wir zunächst mit einer Erklärung des DNS Cache und seiner Funktionsweise. Der DNS Resolver Cache ist eine temporäre Datenbank mit allen Aufzeichnungen der letzten (versuchten) Besuche auf Websites und anderen Web-Domains. Die Antworten auf IP-Adressanfragen werden für einen bestimmten Zeitraum im Betriebssystem des Computers gemäß dem festgelegten TTL-Wert (Time-To-Live) gespeichert, der dieser IP-Adresse zugeordnet ist. Auf diese Weise kann der Resolver viel schneller auf zukünftige Anfragen reagieren, ohne mit den vielen Servern kommunizieren zu müssen, die normalerweise am DNS-Auflösungsprozess beteiligt sind.

Was ist DNS Cache Poisoning?

DNS Cache Poisoning zielt darauf ab, den Nameserver Cache zu modifizieren, um die IP-Adresse und/oder den Servernamen zu ändern. Diese Technik basiert v. a. darauf, einen gefälschten Cache-Datensatz mit einer TTL einzubringen. Dieser Angriff ermöglicht die Umleitung einer Domain wie www.ihredomain.com auf eine andere IP-Adresse.

DNS-Cache-Angriffe verfolgen mehrere Ziele:

  • Verbreitung eines Virus oder von Würmern, die Benutzer dazu verleiten, eine Datei herunterzuladen.
  • Man-in-the-Middle-Angriffe zur Überwachung des Datenverkehrs.
  • Phishing- und Pharming-Aktivitäten, um sensible Daten wie Passwörter, Bankkontoinformationen etc. zu sammeln.
  • Denial of Service, bei denen Benutzern vorgetäuscht wird, dass der Server nicht verfügbar ist.

Einer der bekanntesten DNS-Cache-Angriffe basiert wahrscheinlich auf dem Geburtstagsparadoxon, d. h. einem Brute-Force-Angriff, der mit Hilfe von berechenbaren Informationen darauf abzielt, die DNS-Antwort zu fälschen.

Wie funktioniert ein DNS-Cache-Angriff?

Hacker können den DNS Cache vergiften, indem sie DNS Resolver dazu verleiten, falsche Informationen zwischenzuspeichern. Auf diese Weise sendet der Resolver eine falsche IP-Adresse an den Client und der Benutzer wird auf die falsche Website umgeleitet.

Das DNS-Protokoll ist aufgrund der schwachen 16-Bit-Transaktions-IDs anfällig für Angriffe. Der DNS-Cache-Angriff nutzt während der Kommunikation genau solche DNS-Abfragefelder aus.

Eine DNS-Cache-Vergiftung betrifft nur den rekursiven DNS-Modus, d. h. wenn ein DNS-Server mit vielen anderen DNS-Servern kommuniziert, um die IP-Adresse aufzulösen. Das Vergiften des DNS Cache wird ermöglicht, da DNS-Server anstelle des sichereren Transmission Control Protocol (TCP) ein User Datagram Protocol (UDP) verwenden. Das UDP verlangt nicht, dass beide Parteien eine Kommunikationsprüfung durchführen. Darüber hinaus gibt es derzeit keine Verifizierung der DNS-Informationen. Das UDP kann nicht garantieren, dass eine Verbindung offen, der Empfänger empfangsbereit oder der Absender tatsächlich der ist, für den er sich ausgibt.

Finden Sie perfekte Domains

Sind DNS-Cache-Angriffe und DNS Spoofing identisch?

Zunächst gilt es einige Punkte klarzustellen, da die Begriffe DNS Spoofing und Cache Poisoning häufig für Verwirrung sorgen. Diese beiden Bedrohungen werden oft als gleiche Angriffsart beschrieben. Ganz im Gegenteil repräsentieren sie jedoch zwei verschiedene Angriffsmethoden, obwohl sie denselben Zweck verfolgen.

Während sich DNS Spoofing auf Angriffe bezieht, bei denen gefälschte Ressourceneinträge mithilfe von IP-Spoofing gesendet werden, bezieht sich Cache Poisoning auf Angriffe, bei denen gefälschte Ressourceneinträge in den DNS Cache des Opfers geschmuggelt werden.

SAD DNS: Die neueste Methode des DNS Cache Poisoning

Im Jahr 2008 war DNS Poisoning ein großes Problem. Diese Art von Angriff wurde unter Verwendung gefälschter IP-Adressen ausgeführt. Cyberkriminelle können den User von der in der Adressleiste angegebenen sicheren Webseite zu einer gefälschten Site umleiten, die mit Malware oder einem Phishing-Schema infiziert ist. Dieses Problem wurde jetzt in der gesamten DNS-Serversoftware behoben. Seitdem hat sich die Sicherheit der DNS-Server erhöht und Angriffe dieser Art wurden so weit reduziert, dass sie inzwischen sehr selten sind. 2020 erlebten die DNS-Cache-Vergiftungsangriffe jedoch ein Revival, das mit dem neu entdeckten SAD-DNS-Angriff eine große Bedeutung erlangte.

Der Angriff wurde zum ersten Mal im November 2020 auf der ACM-Konferenz für Computer- und Kommunikationssicherheit (CCS’20) vorgestellt und in einem Artikel mit dem Titel „DNS Cache Poisoning Attack Reloaded: Revolutions with Side Channels“ beschrieben. Es stellt ein ernstes Sicherheitsproblem dar, das große DNS-Anbieter inzwischen allerdings weitgehend gelöst haben. Das Besondere an der Bedrohung ist, dass sie grundlegende Sicherheitslücken wie den Netzwerkseitenkanal im Netzwerkstapel von Betriebssystemen ausnutzt.

Zusammen mit anfälliger DNS-Software ist möglicherweise jede Netzwerkanwendung betroffen, die DNS zum Abrufen der IP-Adresse von Peers/Servern verwendet. Laut Forschern der University of California Riverside sind 35% der offenen Resolver anfällig. Gleiches gilt für die meisten öffentlichen Resolver und Router bekannter Marken. 85% der beliebtesten kostenlosen öffentlichen DNS-Dienste waren solchen Angriffen ausgesetzt.

SAD-DNS-Angriffe können auf anfällige Software wie BIN, Unbound und dnsmasq abzielen, die unter Linux und anderen Betriebssystemen weit verbreitet sind. Eine wichtige Tatsache ist, dass die größte Sicherheitsanfälligkeit auftritt, wenn das Betriebssystem und das DNS-Servernetzwerk so konfiguriert sind, dass ICMP-Fehlermeldungen zugelassen werden. Tatsächlich kann nur der ISP oder DNS-Anbieter einen möglichen Angriff von SAD DNS erkennen.

Wie kann ein SAD-DNS-Angriff verhindert werden?

Fangen wir mit den guten Nachrichten an! Seit der Entdeckung von SAD DNS wurde diese Art des DNS Cache Poisoning durch moderne Abwehrmaßnahmen wie DANE und DNSSEC weitgehend gestoppt. Diese DNS-Sicherheitsmethoden wurden jedoch nicht überall implementiert, sodass solche Angriffen immer noch laufen.

Um den SAD-DNS-Angriff zu verhindern, kann das DNS-Cookie RFC 7873 verwendet oder die ausgehenden ICMP-Antworten deaktiviert werden. Dabei ist jedoch zu berücksichtigen, dass einige Netzwerkdiagnose- und Fehlerbehebungsfunktionen verloren gehen.

Bei korrekter Implementierung ist DNSSEC jedoch wahrscheinlich die beste Methode, um SAD DNS zu verhindern, da hierdurch sichergestellt wird, dass die DNS Responses gültig sind. Dazu signiert DNSSEC DNS-Einträge und überprüft deren Authentizität. Die Antwort wird nur digital signiert, wenn sie von einem autorisierenden DNS-Server stammt.

Als InterNetX-Kund:in können Sie DNSSEC über AutoDNS für alle TLDs nutzen, die DNSSEC anbieten.

So schützen Sie Ihre DNS-Kommunikation

Heute haben sich die Abwehrmechanismen verbessert und die DNS-Server wurden größtenteils gepatcht, um solche Angriffe zu verhindern. Darüber hinaus können Sie jedoch mehrere Gegenmaßnahmen ergreifen, um einen sicheren DNS-Raum zu gewährleisten.

Security-Maßnahmen

  • Verwenden Sie Server, die zufällige Paket-IDs und Kommunikationsport-Nummern generieren.
  • DNS-Server sind Schwachstellen ausgesetzt. Halten Sie Ihre Software auf dem neuesten Stand, damit neu entdeckte Sicherheitslücken nicht ausgenutzt werden können. Aktualisierte DNS-Versionen verfügen über eine kryptografisch sichere Port-Randomisierung und Transaktions-IDs, um DNS-Angriffe zu verhindern. Stellen Sie immer sicher, dass der von Ihnen verwendete Server auf dem neuesten Stand ist.
  • Verwenden Sie DNSSEC, das die Origin-Authentifizierung und Integritätsprüfung für jede Anforderung über digitale Signatur-Mechanismen unterstützt.
  • Überwachen Sie aktiv DNS-Daten und achten Sie auf neue Muster – z. B. das Auftreten eines neuen externen Hosts – die möglicherweise auf Aktivitäten eines Angreifers hinweisen.
  • Richten Sie Passwort-Guidelines ein und schulen Sie Ihre Mitarbeiter in der Verwendung sicherer Kennwörter. Ein einziges schwaches Router-Passwort kann jedes Gerät und jeden Benutzer in der Organisation gefährden.
  • Überprüfen Sie das HTTPS-Flag, das sich immer in der Adressleiste des Browsers befinden muss. Daran lässt sich die Authentizität einer Seite erkennen. Wenn sich das Erscheinungsbild des HTTPS-Flags ändert, ist dies ein Zeichen dafür, dass ein Cyberangriff begonnen hat.

 

DNS bildet das Rückgrat des Internets, ist aber kein absolut sicheres System

Ein Großteil des Internets stützt sich immer noch auf das DNS als Quelle der Integrität, ist jedoch Angriffen ausgesetzt, die Teile des Web-Erlebnisses ernsthaft gefährden können. Beispielsweise ist das DNS auch für TLS von entscheidender Bedeutung. TLS-Zertifikate werden auf Grundlage des rechtmäßigen Besitzes einer Domain ausgestellt. Eine Schwachstelle in der Sicherheit des DNS kann zu betrügerischen Zertifikaten führen und die Verschlüsselung mit öffentlichen Keys gefährden.

Die neu entdeckte Sicherheitslücke im Seitenkanal ist Teil einer Reihe von Fehlern in den Netzwerkprotokollen. Anfang 2021 wurde eine neue Version des NAT-Slipstreaming von Samy Kamkar entdeckt und das israelische Unternehmen JSOF wiederum deckte insgesamt sieben Fehler in dnsmasq auf: Drei davon erlauben DNS Cache Poisoning und vier machen anfällig für Buffer-Overflow-Attacken.

Die Fehler werden unter dem Begriff DNSSpooq zusammengefasst. Wie die Forscher berichten, könnten diese Sicherheitslücken zu mehrstufigen Angriffen führen und sich als äußerst effektiv erweisen, da dnsmasq ebenfalls weit verbreitet ist.

Das DNS ist ein grundlegendes Element des Internets, stellt jedoch einen unsicheren Arbeitsbereich dar – mit kritischen Schwachstellen. In den letzten Jahren gab es viele Vorschläge, auf ein anderes System umzusteigen. Beispielsweise lag der Fokus kürzlich auf einem System, das auf Blockchain-Technologie basiert. Aber zum aktuellen Zeitpunkt bleiben all diese Ideen bloße Spekulationen.

Wenn es um die sichere Authentifizierung von DNS-Daten geht, bietet InterNetX über AutoDNS DNSSEC für mehrere TLDs an, um die Authentizität der angeforderten Daten im DNS jederzeit zu gewährleisten.

Zu AutoDNS icon-arrow--right