SAD DNS: Ein Angriff, um gefälschte Daten im DNS-Cache zu ersetzen

Eine Gruppe von Forscher der Tsinghua University und der University of California in Riverside haben eine neue Art von Angriff entwickelt dass ermöglicht das Ersetzen falscher Daten im DNS-Server-Cache, Dies kann verwendet werden, um die IP-Adresse einer beliebigen Domäne zu fälschen und Anrufe an die Domäne an den Server des Angreifers umzuleiten.

Der Angriff umgeht den zusätzlichen Schutz für DNS-Server die 2008 von Dan Kaminsky vorgeschlagene klassische DNS-Cache-Vergiftungsmethode zu blockieren.

Die Kaminsky-Methode manipuliert die vernachlässigbare Größe des DNS-Abfrage-ID-Felds. Das ist nur 16 Bit. Um die richtige Kennung zu finden, die zum Fälschen des Hostnamens erforderlich ist, senden Sie einfach etwa 7.000 Anfragen und simulieren Sie etwa 140.000 falsche Antworten.

Der Angriff läuft darauf hinaus, eine große Anzahl gefälschter IP-gebundener Pakete zu senden an den DNS-Resolver mit unterschiedlichen DNS-Transaktions-IDs. Um zu verhindern, dass die erste Antwort zwischengespeichert wird, wird in jeder falschen Antwort ein leicht geänderter Domänenname angegeben.

Zum Schutz vor dieser Art von AngriffHersteller von DNS-Servern implementierte eine zufällige Verteilung der Netzwerkportnummern Quelle, von der die Auflösungsanforderungen gesendet werden, wodurch die unzureichend große Kennung kompensiert wurde (um eine fiktive Antwort zu senden, musste zusätzlich zur Auswahl einer 16-Bit-Kennung einer von 64 Ports ausgewählt werden, wodurch sich die Anzahl der Ports erhöhte Auswahlmöglichkeiten bis 2 ^ 32).

Der Angriff SAD DNS vereinfacht die Portidentifikation erheblich durch Ausnutzen der gefilterten Aktivität an Netzwerkports. Das Problem tritt in allen Betriebssystemen auf (Linux, Windows, macOS und FreeBSD) und bei Verwendung verschiedener DNS-Server (BIND, Unbound, dnsmasq).

Es wird behauptet, dass 34% aller offenen Löser angegriffen werden, sowie 12 der 14 am häufigsten getesteten DNS-Dienste, darunter die Dienste 8.8.8.8 (Google), 9.9.9.9 (Quad9) und 1.1.1.1 (CloudFlare) sowie 4 von 6 getesteten Routern seriöser Anbieter.

Das Problem ist auf die Besonderheit der Bildung von ICMP-Antwortpaketen zurückzuführen. dass ermöglicht die Bestimmung des Zugriffs auf aktive Netzwerkports und nicht über UDP verwendet. Mit dieser Funktion können Sie offene UDP-Ports sehr schnell scannen und den Schutz basierend auf einer zufälligen Auswahl von Quellnetzwerkports effektiv umgehen, wodurch die Anzahl der Brute-Force-Optionen auf 2 ^ 16 + 2 ^ 16 anstelle von 2 ^ 32 reduziert wird.

Die Ursache des Problems ist der Mechanismus zur Begrenzung der Intensität der Sendung Anzahl der ICMP-Pakete auf dem Netzwerkstapel, die einen vorhersagbaren Zählerwert verwenden, ab dem die Vorwärtsdrosselung beginnt. Dieser Zähler ist für den gesamten Verkehr gleich, einschließlich gefälschten Verkehrs vom Angreifer und echtem Verkehr. Standardmäßig, Unter Linux sind ICMP-Antworten auf 1000 Pakete pro Sekunde begrenzt. Für jede Anforderung, die einen geschlossenen Netzwerkport erreicht, erhöht der Netzwerkstapel den Zähler um 1 und sendet ein ICMP-Paket mit Daten vom nicht erreichbaren Port.

Wenn Sie also 1000 Pakete an verschiedene Netzwerkports senden, Wenn alle geschlossen sind, beschränkt der Server das Senden von ICMP-Antworten für eine Sekunde und der Angreifer kann sicher sein, dass es unter den 1000 gesuchten Ports keine offenen Ports gibt. Wenn ein Paket an einen offenen Port gesendet wird, gibt der Server keine ICMP-Antwort zurück und es wird den Zählerwert nicht ändern, das heißt, nachdem 1000 Pakete gesendet wurden, wird das Antwortratenlimit nicht erreicht.

Da die gefälschten Pakete von einer gefälschten IP ausgeführt werden, kann der Angreifer keine ICMP-Antworten empfangen. Dank des Gesamtzählers kann er jedoch nach jeweils 1000 gefälschten Paketen eine Anforderung von einer realen IP an einen nicht vorhandenen Port senden und die auswerten Ankunft der Antwort; Wenn die Antwort kam, dann in einem der 1000 Pakete. Jede Sekunde kann ein Angreifer 1000 gefälschte Pakete an verschiedene Ports senden und schnell feststellen, in welchem ​​Block sich der offene Port befindet. Anschließend kann er die Auswahl eingrenzen und einen bestimmten Port bestimmen.

Der Linux-Kernel löst das Problem mit einem Patch, der die Parameter zufällig sortiert um die Intensität des Sendens von ICMP-Paketen zu begrenzen, was Rauschen einführt und Datenlecks durch Seitenkanäle minimiert.

Quelle: https://www.saddns.net/


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.