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.
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.