NXNSAttack-angreb, der berører alle DNS-opløsere

En gruppe forskere fra Tel Aviv Universitet og Interdisciplinære Center i Herzliya (Israel) har udviklet en ny angrebsmetode NXNSAttack (PDF), som gør det muligt at bruge enhver DNS-opløsere som trafikforstærkere, hvilket giver en forstærkningsgrad på op til 1621 gange i antallet af pakker (for hver anmodning sendt til opløseren, kan man opnå sendingen af 1621 anmodninger til offerets server) og op til 163 gange i trafik.

Problemet skyldes funktionerne i protokollen og påvirker alle DNS-servere, der understøtter rekursiv behandling af anmodninger, herunder BIND (CVE-2020-8616), Knot (CVE-2020-12667), PowerDNS (CVE-2020-10995), Windows DNS Server og Unbound (CVE-2020-12662), samt offentlige DNS-tjenester fra Google, Cloudflare, Amazon, Quad9, ICANN og andre virksomheder. Løsningen på problemet blev koordineret med udviklerne af DNS-servere, som samtidig udsendte opdateringer, der løste sårbarheden i deres produkter. Beskyttelse mod angrebet er implementeret i versionerne
Unbound 1.10.1, Knot Resolver 5.1.1, PowerDNS Recursor 4.3.1, 4.2.2, 4.1.16, BIND 9.11.19, 9.14.12, 9.16.3.

Angrebet er baseret på, at angriberen bruger anmodninger, der henviser til et stort antal tidligere ukendte falske NS-poster, der får tildelt navnedefinition, men uden at angive glue-poster med oplysninger om IP-adresserne for NS-serverne i svaret. For eksempel sender angriberen en anmodning om at bestemme navnet sd1.attacker.com, mens han kontrollerer DNS-serveren, der er ansvarlig for domænet attacker.com. Som svar på anmodningen fra opløseren til angriberens DNS-server gives der et svar, der delegere definitionen af adressen sd1.attacker.com til offerets DNS-server ved at angive NS-poster i svaret uden detaljer om IP for NS-serverne. Da den nævnte NS-server ikke er set før, og dens IP-adresse ikke er angivet, forsøger opløseren at bestemme IP-adressen på NS-serveren ved at sende en anmodning til offerets DNS-server, der betjener det målrettede domæne (victim.com).

NXNSAttack-angreb, der berører alle DNS-opløsere

Problemet er, at en angriber kan returnere en enorm liste af unikke NS-servere med ikke-eksisterende falske underdomænenavne fra offeret (fake-1.victim.com, fake-2.victim.com,… fake-1000.victim.com). Resolveren vil forsøge at sende en anmodning til offerets DNS-server, men vil få svaret om, at domænet ikke findes, hvorefter den vil forsøge at identificere næste NS-server i listen og fortsætte, indtil alle angrebne NS-poster er gennemgået. Derfor vil en enkelt anmodning fra angriberen resultere i et enormt antal anmodninger til bestemmelse af NS-hosts. Da navnene på NS-serverne genereres tilfældigt og henviser til ikke-eksisterende underdomæner, gemmes de ikke i cachen, og hver anmodning fra angriberen medfører en bølge af anmodninger til DNS-serveren, der betjener offerets domæne.

NXNSAttack-angreb, der berører alle DNS-opløsere

Forskere har undersøgt, hvor udsatte offentlige DNS-resolvere er for denne problematik og fundet ud af, at ved at sende anmodninger til CloudFlare-resolveren (1.1.1.1) kan antallet af pakker multipliceres (PAF, Packet Amplification Factor) med 48 gange, Google (8.8.8.8) — 30 gange, FreeDNS (37.235.1.174) — 50 gange, OpenDNS (208.67.222.222) — 32 gange. Mere markante resultater observeres for
Level3 (209.244.0.3) — 273 gange, Quad9 (9.9.9.9) — 415 gange
SafeDNS (195.46.39.39) — 274 gange, Verisign (64.6.64.6) — 202 gange,
Ultra (156.154.71.1) — 405 gange, Comodo Secure (8.26.56.26) — 435 gange, DNS.Watch (84.200.69.80) — 486 gange, og Norton ConnectSafe (199.85.126.10) — 569 gange. For servere baseret på BIND 9.12.3 kan niveauet af forstærkning nå op til 1000 gennem parallelisering af anmodninger. I Knot Resolver 5.1.0 er forstærkningsniveauet cirka flere dusin gange (24-48), da bestemmelsen af NS-navne udføres sekventielt og er begrænset af det interne loft over antallet af navneopløsningstrin, der er tilladt for en enkelt anmodning.

Der skelnes mellem to hovedstrategier for beskyttelse. For systemer med DNSSEC er det blevet foreslået til PostgreSQL-udviklerne bruges RFC-8198 for at forhindre cache-bypass af DNS, da anmodninger sendes med tilfældige navne. Metoden går ud på at generere negative svar uden at konsultere autoritative DNS-servere, ved hjælp af range-checking via DNSSEC. En mere simpel metode er at begrænse antallet af navne, der kan bestemmes under behandling af en enkelt delegeret anmodning, men denne metode kan føre til problemer med nogle eksisterende konfigurationer, da grænserne ikke er defineret i protokollen.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster