Ny SAD DNS-attack för att infoga falska data i DNS-cachen

En grupp forskare från University of California, Riverside, har publicerat en ny variant av SAD DNS-attacken (CVE-2021-20322) som fungerar trots det skydd som lades till förra året för att blockera sårbarheten CVE-2020-25705. Den nya metoden liknar i allmänhet förra årets sårbarhet, förutom att den använder en annan typ av ICMP-paket för att kontrollera aktiva UDP-portar. Den föreslagna attacken möjliggör substitution av fiktiva data i DNS-serverns cache, vilket kan användas för att ersätta IP-adressen för en godtycklig domän i cachen och omdirigera förfrågningar till domänen till angriparens server.

Den föreslagna metoden fungerar endast i nätverksstacken. Linux på grund av kopplingen till särdragen i driften av ICMP-paketbehandlingsmekanismen i Linux, vilket fungerar som en källa till dataläckage som förenklar bestämningen av det använda UDP-portnumret server att skicka en extern begäran. Ändringar som blockerar informationsläckor har accepterats i kärnan. Linux I slutet av augusti (fixen inkluderades i kärna 5.15 och septemberuppdateringarna av LTS-kärnan). Fixen innebär att man byter till SipHash-hashalgoritmen för nätverkscacher istället för Jenkins Hash. Statusen för sårbarhetsfixen i distributioner kan bedömas på dessa sidor: Debian, RHEL, Fedora, SUSE, Ubuntu.

Enligt forskarna som identifierade problemet är cirka 38 % av öppna resolvrar i nätverket sårbara, inklusive populära DNS-tjänster som OpenDNS och Quad9 (9.9.9.9). När det gäller serverprogramvara kan attacken utföras med hjälp av Linux-server-paket som BIND, Unbound och dnsmasq. På DNS-servrar som körs med Windows och BSD-system, problemet uppstår inte. En lyckad attack kräver IP-förfalskning, vilket innebär att angriparens internetleverantör inte får blockera paket med en förfalskad käll-IP-adress.

Låt oss komma ihåg att SAD DNS-attacken gör det möjligt att kringgå det skydd som lagts till DNS-servrar för att blockera den klassiska DNS-cacheförgiftningsmetoden som föreslogs 2008 av Dan Kaminsky. Kaminskys metod manipulerar den obetydliga storleken på fältet med DNS-begärans identifieringsnummer, vilket bara är 16 bitar. För att välja rätt DNS-transaktionsidentifierare som krävs för att förfalska värdnamnet räcker det att skicka cirka 7000 140 förfrågningar och simulera cirka 1 tusen fiktiva svar. Attacken går ut på att skicka ett stort antal paket med en fiktiv IP-bindning och med olika DNS-transaktionsidentifierare till DNS-resolvern. För att förhindra cachning av det första svaret anger varje fiktivt svar ett något modifierat domännamn (2.example.com, 3.example.com, XNUMX.example.com, etc.).

För att skydda mot den här typen av attacker implementerade DNS-servertillverkare en slumpmässig fördelning av numren på källnätverksportarna från vilka lösningsförfrågningar skickas, vilket kompenserade för identifierarens otillräckligt stora storlek. Efter att skyddet implementerats, för att skicka ett fiktivt svar, blev det nödvändigt att, utöver att välja en 16-bitars identifierare, välja en av 64 tusen portar, vilket ökade antalet valmöjligheter till 2^32.

SAD DNS-metoden gör det möjligt att drastiskt förenkla bestämningen av nätverksportnumret och reducera attacken till den klassiska Kaminsky-metoden. Angriparen kan fastställa åtkomsten till oanvända och aktiva UDP-portar genom att använda informationsläckor om nätverksportarnas aktivitet vid bearbetning av ICMP-svarspaket. Metoden gör det möjligt att minska antalet uppräkningsalternativ med fyra storleksordningar - 4 ^ 2 + 16 ^ 2 istället för 16 ^ 2 (32_131 istället för 072_4_294_967). Informationsläckan som gör det möjligt att snabbt fastställa aktiva UDP-portar orsakas av en felaktig kod för bearbetning av ICMP-paket med fragmenteringsförfrågningar (ICMP Fragmentation Needed-flagga) eller omdirigering (ICMP Redirect-flagga). Att skicka sådana paket ändrar cachens tillstånd i nätverksstacken, vilket gör det möjligt att avgöra vilken av UDP-portarna som är aktiv och vilken som inte är baserat på serverns svar.

Attackscenario: När en DNS-resolver försöker matcha ett domännamn skickar den en UDP-fråga till DNS-servern som hanterar domänen. Medan resolvern väntar på ett svar kan en angripare snabbt fastställa källportnumret som användes för att skicka frågan och skicka ett förfalskat svar, genom att utge sig för att vara DNS-servern som hanterar domänen med hjälp av förfalskning. IP-adresserDNS-resolvern cachar data som överförs i det förfalskade svaret och returnerar under en viss tid den IP-adress som angriparen ersatt med i alla andra DNS-frågor för domännamnet.

Källa: opennet.ru

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster