Teadlaste rühm Tel Avivi ülikoolist ja Interdistsiplinaarsest keskusest Herzliyas (Iisrael) uue rünnaku meetodi (), mis võimaldab kasutada mis tahes DNS-resolveereid kui liikluse tugevdamise seadmeid, mis tagavad kuni 1621 kordse tugevdamise pakettide arvu (iga saadetud päringu kohta resolverile on võimalik saata 1621 päringut sihtserverisse) ja kuni 163 korda liikluses.
Probleem on seotud protokolli töö eripäradega ja see mõjutab kõiki DNS-servereid, mis toetavad päringute rekursiivset töötlemist, sealhulgas (CVE-2020-8616), (CVE-2020-12667), (CVE-2020-10995), ja (CVE-2020-12662), samuti avalikud DNS-teenused Google, Cloudflare, Amazon, Quad9, ICANN ja teised ettevõtted. Probleemi parandamine oli kooskõlastatud DNS-serverite arendajatega, kes samal ajal vabastasid uuendused haavatavuse eemaldamiseks oma toodetest. Kaitse rünnaku eest on rakendatud väljaannetes
, , , .
Rünnak põhineb ründaja poolt esitatud päringute kasutamisel, mis viitavad suurele hulgale varem nähtamatutele vale NS-kirjadele, mille kohaselt delegeeritakse nime määramine, kuid vastuses ei ole glue-kirju NS-serverite IP-aadresside teabega. Näiteks saadab ründaja päringu sd1.attacker.com nime määramiseks, kontrollides DNS-serverit, mis vastutab domeeni attacker.com eest. Vastuseks ründaja DNS-serverile suunatud resolveri pöördumisele antakse vastus, mis delegeerib sd1.attacker.com adressi määramise ohvri DNS-serverile, märkides vastuses NS-kirjad, kuid ilma NS-serverite IP-aadresside detailideta. Kuna nimetatud NS-server ei ole varem teada ja tema IP-aadress ei ole toodud, üritab resolver määrata NS-serveri IP-aadressi, suunates päringu ohvri DNS-serverile, mis teenindab sihtdomeeni (victim.com).
Probleem on selles, et ründaja võib vastuses esitada tohutu loendi mitte korduvatest NS-serveritest koos puuduvate vale alamdomeeninimedega ohvri nime all (fake-1.victim.com, fake-2.victim.com,… fake-1000.victim.com). Resolver proovib saata päringu DNS-serverile, kuid saab vastuse, et domeeni ei leitud, pärast mida proovib ta määrata järgmise NS-serveri nimekirjast ja nii edasi, kuni on proovinud kõiki ründaja loetletud NS-kirjeid. Sellest tulenevalt saadab ründaja ühe päringu korral resolver tohutu hulga päringuid NS-hostide määramiseks. Kuna NS-serverite nimed genereeritakse juhuslikult ja viitavad mitteolevatele alamdomeenidele, ei salvesta neid vahemälu ja iga ründaja päring põhjustab DNS-serverile, mis teenindab ohvri domeeni, tohutu päringute voo.
Uurijad uurisid avalike DNS-resolverite haavatavuse ulatust ja määrasid, et CloudFlare'i (1.1.1.1) resolverile päringute edastamisel saavutatakse pakettide arvu (PAF, Packet Amplification Factor) 48-kordne suurenemine, Google'i (8.8.8.8) puhul 30 korda, FreeDNS-i (37.235.1.174) puhul 50 korda, OpenDNS-i (208.67.222.222) puhul 32 korda. Märgatavamad näitajad on täheldatud
Level3 (209.244.0.3) — 273 korda, Quad9 (9.9.9.9) — 415 korda
SafeDNS (195.46.39.39) — 274 korda, Verisign (64.6.64.6) — 202 korda,
Ultra (156.154.71.1) — 405 korda, Comodo Secure (8.26.56.26) — 435 korda, DNS.Watch (84.200.69.80) — 486 korda, ja Norton ConnectSafe (199.85.126.10) — 569 korda. BIND 9.12.3 baasil serverite puhul võib päringute paralleelsete töötlemise tõttu tugevuse tase ulatuda kuni 1000. Knot Resolver 5.1.0 puhul on tugevuse tase umbes paarikümne korra (24-48), kuna NS-nimede määramine toimub järjestikku ja on piiratud ühes päringus lubatud nime lahendamise sammude arvu tõttu.
Määratletakse kaks peamist kaitsestrateegiat. DNSSEC-iga süsteemide jaoks kasutada kuna päringud saadetakse juhuslike nimedega, et vältida DNS vahemälu ümbersõitu. Meetodi põhiolemus on negatiivsete vastuste genereerimine ilma volitatud DNS-serveritele pöördumata, kasutades DNSSEC-i kaudu vahemike kontrollimist. Lihtsam viis on piirata nime hulka, mida saab ühes volitatud päringus määrata, kuid see viis võib teatud olemasolevate konfiguratsioonide tõttu probleeme tekitada, kuna protokollis ei ole määratud limiite.
Allikas: opennet.ru
