NXNSAttack attack som påverkar alla DNS-lösare

En grupp forskare från Tel Aviv University och Interdisciplinary Center i Herzliya (Israel) har utvecklats ny attackmetod NXNSAttack (PDF), vilket gör att du kan använda valfri DNS-upplösare som trafikförstärkare, vilket ger en förstärkningshastighet på upp till 1621 gånger vad gäller antalet paket (för varje begäran som skickas till upplösaren kan du få 1621 förfrågningar att skickas till offrets server) och upp till 163 gånger vad gäller trafik.

Problemet är relaterat till protokollets egenheter och påverkar alla DNS-servrar som stöder rekursiv frågebehandling, inklusive BINDA (CVE-2020-8616) Knut (CVE-2020-12667) PowerDNS (CVE-2020-10995) Windows DNS-server и Obundet (CVE-2020-12662), såväl som offentliga DNS-tjänster från Google, Cloudflare, Amazon, Quad9, ICANN och andra företag. Korrigeringen koordinerades med DNS-serverutvecklare, som samtidigt släppte uppdateringar för att åtgärda sårbarheten i sina produkter. Attackskydd implementerat i releaser
Obundet 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.

Attacken bygger på att angriparen använder förfrågningar som hänvisar till ett stort antal tidigare osynliga fiktiva NS-poster, till vilka namnbestämning delegeras, men utan att ange limposter med information om NS-servrars IP-adresser i svaret. Till exempel skickar en angripare en fråga för att lösa namnet sd1.attacker.com genom att kontrollera DNS-servern som är ansvarig för domänen attacker.com. Som svar på resolverns begäran till angriparens DNS-server, utfärdas ett svar som delegerar fastställandet av sd1.attacker.com-adressen till offrets DNS-server genom att ange NS-poster i svaret utan att specificera IP NS-servrarna. Eftersom den nämnda NS-servern inte har påträffats tidigare och dess IP-adress inte är specificerad, försöker resolvern fastställa IP-adressen för NS-servern genom att skicka en fråga till offrets DNS-server som betjänar måldomänen (victim.com).

NXNSAttack attack som påverkar alla DNS-lösare

Problemet är att angriparen kan svara med en enorm lista med icke-repeterande NS-servrar med icke-existerande fiktiva underdomännamn för offer (fake-1.victim.com, fake-2.victim.com,... fake-1000. victim.com). Upplösaren kommer att försöka skicka en begäran till offrets DNS-server, men kommer att få ett svar att domänen inte hittades, varefter den kommer att försöka fastställa nästa NS-server i listan, och så vidare tills den har provat alla NS-poster listade av angriparen. Följaktligen, för en angripares begäran kommer resolvern att skicka ett stort antal förfrågningar för att fastställa NS-värdar. Eftersom NS-servernamn genereras slumpmässigt och refererar till obefintliga underdomäner, hämtas de inte från cachen och varje begäran från angriparen resulterar i en uppsjö av förfrågningar till DNS-servern som betjänar offrets domän.

NXNSAttack attack som påverkar alla DNS-lösare

Forskare studerade graden av sårbarhet hos offentliga DNS-lösare för problemet och fastställde att när man skickar frågor till CloudFlare-resolvern (1.1.1.1) är det möjligt att öka antalet paket (PAF, Packet Amplification Factor) med 48 gånger, Google (8.8.8.8) - 30 gånger, FreeDNS (37.235.1.174) - 50 gånger, OpenDNS (208.67.222.222) - 32 gånger. Mer märkbara indikatorer observeras för
Nivå 3 (209.244.0.3) - 273 gånger, Quad9 (9.9.9.9) - 415 gånger
SafeDNS (195.46.39.39) - 274 gånger, Verisign (64.6.64.6) - 202 gånger,
Ultra (156.154.71.1) - 405 gånger, Comodo Secure (8.26.56.26) - 435 gånger, DNS.Watch (84.200.69.80) - 486 gånger, och Norton ConnectSafe (199.85.126.10) - 569 gånger. För servrar baserade på BIND 9.12.3, på grund av parallellisering av förfrågningar, kan förstärkningsnivån nå upp till 1000. I Knot Resolver 5.1.0 är förstärkningsnivån ungefär flera tiotals gånger (24-48), eftersom bestämningen av NS-namn utförs sekventiellt och vilar på den interna gränsen för antalet namnupplösningssteg som tillåts för en begäran.

Det finns två huvudsakliga försvarsstrategier. För system med DNSSEC föreslagen att använda RFC-8198 för att förhindra förbikoppling av DNS-cache eftersom förfrågningar skickas med slumpmässiga namn. Kärnan i metoden är att generera negativa svar utan att kontakta auktoritativa DNS-servrar, med hjälp av intervallkontroll via DNSSEC. Ett enklare tillvägagångssätt är att begränsa antalet namn som kan definieras vid bearbetning av en enskild delegerad begäran, men den här metoden kan orsaka problem med vissa befintliga konfigurationer eftersom gränserna inte är definierade i protokollet.

Källa: opennet.ru

Lägg en kommentar