SAD DNS: een aanval om nepgegevens in de DNS-cache te vervangen

Een groep Onderzoekers van Tsinghua University en de University of California in Riverside hebben een nieuw type aanval ontwikkeld dat maakt de vervanging van valse gegevens in de DNS-servercache mogelijk, dat kan worden gebruikt om het IP-adres van een willekeurig domein te vervalsen en oproepen naar het domein om te leiden naar de server van de aanvaller.

De aanval omzeilt extra bescherming voor DNS-servers om de klassieke DNS-cache-vergiftigingsmethode te blokkeren die in 2008 door Dan Kaminsky werd voorgesteld.

De Kaminsky-methode manipuleert de verwaarloosbare grootte van het DNS-query-ID-veld, dat is slechts 16 bit. Om de juiste identificatie te vinden die nodig is om de hostnaam te vervalsen, stuurt u ongeveer 7.000 verzoeken en simuleert u ongeveer 140.000 nepantwoorden.

De aanval komt neer op het verzenden van een groot aantal nep-IP-gebonden pakketten naar de DNS-resolver met verschillende DNS-transactie-id's. Om te voorkomen dat het eerste antwoord in de cache wordt opgeslagen, wordt in elk nepantwoord een licht gewijzigde domeinnaam gespecificeerd.

Ter bescherming tegen dit soort aanvallen, DNS-serverfabrikanten implementeerde een willekeurige verdeling van netwerkpoortnummers bron van waaruit de resolutieverzoeken worden verzonden, wat compenseerde voor de onvoldoende grote identificatiegrootte (om een ​​fictief antwoord te verzenden, moest naast het selecteren van een 16-bits identificator ook een van de 64 duizend poorten worden geselecteerd, waardoor het aantal opties voor selectie tot 2 ^ 32).

De aanval SAD DNS vereenvoudigt de poortidentificatie aanzienlijk door gebruik te maken van gefilterde activiteit op netwerkpoorten. Het probleem manifesteert zich in alle besturingssystemen (Linux, Windows, macOS en FreeBSD) en bij gebruik van verschillende DNS-servers (BIND, Unbound, dnsmasq).

Er wordt beweerd dat 34% van alle open oplossers wordt aangevallen, evenals 12 van de 14 best geteste DNS-services, waaronder 8.8.8.8 (Google), 9.9.9.9 (Quad9) en 1.1.1.1 (CloudFlare) -services, evenals 4 van de 6 geteste routers van gerenommeerde leveranciers.

Het probleem is te wijten aan de eigenaardigheid van de vorming van ICMP-responspakketten, dat geeft toegang tot actieve netwerkpoorten om te bepalen en niet gebruikt via UDP. Met deze functie kunt u zeer snel open UDP-poorten scannen en effectief de bescherming omzeilen op basis van een willekeurige selectie van bronnetwerkpoorten, waardoor het aantal brute force-opties wordt teruggebracht tot 2 ^ 16 + 2 ^ 16 in plaats van 2 ^ 32.

De bron van het probleem is het mechanisme om de intensiteit van de verzending te beperken aantal ICMP-pakketten op de netwerkstack, die een voorspelbare tellerwaarde gebruikt, van waaruit voorwaartse beperking begint. Deze teller is gebruikelijk voor al het verkeer, inclusief nepverkeer van de aanvaller en echt verkeer. Standaard, onder Linux zijn ICMP-reacties beperkt tot 1000 pakketten per seconde. Voor elk verzoek dat een gesloten netwerkpoort bereikt, verhoogt de netwerkstack de teller met 1 en verzendt een ICMP-pakket met gegevens van de onbereikbare poort.

Dus als u 1000 pakketten naar verschillende netwerkpoorten stuurt, die allemaal gesloten zijn, beperkt de server het verzenden van ICMP-antwoorden gedurende één seconde en de aanvaller kan er zeker van zijn dat er geen open poorten zijn tussen de 1000 doorzochte poorten. Als een pakket naar een open poort wordt verzonden, zal de server geen ICMP-antwoord retourneren en de waarde van de teller verandert niet, dat wil zeggen, nadat 1000 pakketten zijn verzonden, wordt de limiet van de responssnelheid niet bereikt.

Aangezien de nep-pakketten worden uitgevoerd vanaf een nep-IP, kan de aanvaller geen ICMP-antwoorden ontvangen, maar dankzij de totaalteller kan hij na elke 1000 nep-pakketten een verzoek sturen naar een niet-bestaande poort vanaf een echt IP-adres en de aankomst van het antwoord; als het antwoord kwam, dan in een van de 1000 pakketten. Elke seconde kan een aanvaller 1000 nep-pakketten naar verschillende poorten sturen en snel bepalen in welk blok de open poort zich bevindt, vervolgens de selectie verfijnen en een specifieke poort bepalen.

De Linux-kernel lost het probleem op met een patch die de parameters willekeurig verdeelt om de intensiteit van het verzenden van ICMP-pakketten te beperken, wat ruis introduceert en datalekken via zijkanalen tot een minimum beperkt.

bron: https://www.saddns.net/


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.