ATKforged replyCACHEbank.com → 10.0.evilexample.com → real IPUSERgets poisoned answer

DNS-cacheforgiftning

10 min læstSikkerhed

DNS-cacheforgiftning er angrebet, hvor dårlige data bliver gemt i en resolvers cache, hvilket får legitime forespørgsler til at returnere forkerte svar, så længe cachen lever. Kaminsky-angrebet i 2008 brød næsten den globale DNS; rettelserne implementeret siden er holdbare, men ikke fuldstændige. Kategorien forbliver relevant.

Hele artiklens krop findes på engelsk nedenfor.

DNS-cacheforgiftning (nogle gange kaldet DNS-spoofing) er angrebet, hvor en angriber injicerer forfalskede DNS-data i en resolvers cache. Efterfølgende forespørgsler om den forgiftede post returnerer det forkerte svar, indtil cachen udløber. Fordi resolvere cacher aggressivt for ydeevne, kan en vellykket forgiftning påvirke mange brugere i timevis.

Sådan fungerer DNS-opløsning normalt

Uden at gå gennem hele flowet (se vores DNS-serverartikel), er nøglepunktet: en resolver foretager en forespørgsel til en upstream-navneserver og accepterer navneserveren. DNS plejede at bruge UDP udelukkende til dette - ingen håndtryk, ingen godkendelse, bare "send forespørgsel, accepter første matchende svar."

Hvis en angriber kan sende et forfalsket svar, før det legitime ankommer, cacher resolveren det forfalskede svar. For alle forespørgsler i cachens levetid (typisk minutter til timer) returnerer resolveren de forgiftede data.

Kaminsky-angrebet

I 2008 offentliggjorde Dan Kaminsky en ødelæggende udvidelse af klassisk DNS-cacheforgiftning. Det oprindelige angreb var afhængig af at gætte et 16-bit transaktions-id - 1 ud af 65.536 odds, ikke fantastisk. Kaminskys twist: angriberen behøver ikke at vente på legitime forespørgsler. De kan trigger dem ved at spørge resolveren om et undernavn, de kontrollerer, og derefter race forfalskede svar til det overordnede domænes autoritetsposter. Med mindre optimeringer blev udnyttelsen praktisk.

Oplysningen udløste en koordineret patch-indsats på tværs af alle større DNS-implementeringer i 2008. Rettelsen: randomiser kildeporten, som resolveren bruger. Kombineret med transaktions-id'et udvider dette entropien til ~32 bits, hvilket dramatisk reducerer chancen for en vellykket forfalskning.

Hvordan ser moderne forsvar ud

  • Kildeportrandomisering. Standard siden 2008, der er vokset nok. infeasible.
  • DNS over HTTPS (DoH) og DNS over TLS (DoT). Kryptografisk transport eliminerer det on-path-injektionsangreb fuldstændigt. Resolveren og autoriteten har en krypteret kanal.
  • DNSSEC. Kryptografiske signaturer på DNS-poster registrerer manipulation. Forfalskede svar mislykkes signaturbekræftelse. Se vores DNSSEC-artikel.
  • Source-IP-filtrering. Netværk, der dropper forfalskede kildeadressepakker (BCP38/validering af kildeadresse) gør angrebet sværere ved at begrænse, hvor forfalskede svar kan stamme fra. harding. 0x20-kodning (randomisering af store og små bogstaver i forespørgselsnavne) tilføjer bits af entropi. EDNS0-cookies giver yderligere anti-spoofing.

2020 SAD DNS-angrebet

I 2020 udgav forskere en ny angrebsklasse kaldet SAD DNS, der omgik portrandomisering i specifikke scenarier ved hjælp af sidekanalinformation om resolverens netværksstack. Angrebet virker mod større resolvere, inklusive nogle Linux-standardindstillinger. Linux 5.10+ har begrænsninger; ældre systemer forbliver sårbare.

Kategorien "DNS-forgiftning er løst" når aldrig helt frem. Forsvaret bliver bedre; nye sidekanaler vises. Moderne bedste praksis kombinerer flere lag.

Hvad det betyder for slutbrugere

For almindelige brugere:

  • Brug en større offentlig resolver (1.1.1.1, 8.8.8.8, 9.9.9.9) – de er hårde mod de gyldige angreb DNSSEC.
  • Brug DoH eller DoT — krypterer opslag, besejrer de fleste on-path angribere.
  • HTTPS i sig selv er en fallback: Selv hvis DNS lyver og sender dig til en angribers IP, vil TLS-certifikatet ikke matche, og browseren vil advare. brugere er ikke cacheforgiftning af velkørende resolvere; det er resolver-kapring på router- eller internetudbyderniveau. Konfiguration af din enhed til at bruge en kendt god resolver (med krypteret transport) lukker dette hul.

    Hvad betyder det for operatører

    For DNS-operatører:

    • Aktiver DNSSEC på dine autoritative servere.XZsol73XUPLse avalider DNSSEC.
    • Patch omgående. 2008-rettelserne, SAD DNS-reduktionerne og eventuelle fremtidige meddelelser.
    • Implementer validering af kildeadresse, hvis du driver et netværk.

    DNS-infrastrukturen er mere sikker, end den var for ti år siden; truslerne har udviklet sig parallelt.

Ofte stillede spørgsmål

Kan jeg blive ramt af cacheforgiftning?
Indirekte. Slutbrugere betjener typisk ikke de caches, der bliver forgiftet. Hvis din DNS-resolver er kompromitteret, ser du forkerte svar på det, der er blevet forgiftet. Brug af større hærdede resolvere (1.1.1.1, 8.8.8.8) reducerer risikoen væsentligt.
Hvordan forhindrer DNSSEC dette?
Registreringer, der er underskrevet af det autoritative domæne, kan verificeres kryptografisk. Et forfalsket svar mislykkes bekræftelsen og afvises. DNSSEC har eksisteret siden 1997, men adoptionen er ujævn; store resolvere validerer, mindre gør det ofte ikke.
Er DNS over HTTPS det samme som DNSSEC?
Nej. DNSSEC tilføjer signaturer til registreringer og verificerer ægtheden. DoH krypterer transporten mellem klient og resolver, hvilket forhindrer aflytning eller manipulation undervejs. De er komplementære; du kan have enten eller begge dele.
Hvad er forskellen mellem cache-forgiftning og DNS-kapring?
Cacheforgiftning injicerer dårlige data i en resolvers cache via et angreb på netværksniveau. DNS-kapring dækker stort set ændring af selve resolveren (routerkompromis, ondsindet app, overtagelse af registrarkonto). Cacheforgiftning er en specifik teknik inden for den bredere kapringskategori.
Er der berømte cache-forgiftningshændelser?
Masseforgiftningen i Kaminsky-stil blev aldrig til virkelighed, fordi plastrene blev indsat hurtigt nok. Specifikke mindre forgiftninger er sket - en hændelse i 2019, der påvirker dele af den kinesiske DNS-infrastruktur, omdirigerede kortvarigt store amerikanske tjenester til brugere i Kina. De fleste store DNS-angreb siden 2008 har involveret BGP-kapringer eller registratorkompromiser frem for klassisk cacheforgiftning.
DNS-cacheforgiftning forklaret: Når resolveren lyver