Tel Avivi ülikooli ja Herzliya interdistsiplinaarse keskuse teadlaste grupp (Iisrael) uus rünnakumeetod (), mis võimaldab kasutada mis tahes DNS-i lahendajaid liikluse tugevdamiseks, tagades kuni 1621-kordse tugevuse pakettide arvu osas (iga saadetud päringu kohta lahendajale saab saavutada 1621 päringu saatmise sihtmärgi serverisse) ja kuni 163-kordse tugevuse andmevoos.
Probleem on seotud protokolli tööspetsiifika ning see puudutab kõiki DNS-servereid, mis toetavad rekursiivset päringute 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 lahendamine oli koordineeritud DNS-serverite arendajatega, kes väljastasid samal ajal oma toodete haavatavuse kõrvaldamiseks uuendusi. Rünnaku kaitse on rakendatud väljaannetes
, , , .
Rünnak põhineb rünnakutegija poolt saadetud päringutel, mis viitavad suurele hulgale varem mittekohtunud vale NS-kirjadele, millele antakse volitus nime määramiseks, kuid vastuses ei esitada glue-kirjeid NS-serverite IP-aadresside kohta. Näiteks saadab rünnakutegija päringu nime määramiseks sd1.attacker.com, kontrollides DNS-serverit, mis vastutab domeeni attacker.com eest. Vastuseks rünnavale DNS-serverile antud lahendaja päringule väljastatakse vastus, mis volitab sd1.attacker.com aadressi määramist sihtmärgi DNS-serverile, osutades vastuses NS-kirjetele, ilma et oleks detailide esitamist NS-serverite IP-de kohta. Kuna nimetatud NS-serverit pole varem kohatud ja selle IP-aadress ei ole märgitud, üritab lahendaja määrata NS-serveri IP-aadressi, suunates päringu sihtmärgi domeeni haldava DNS-serveri poole (victim.com).
Probleem on selles, et ründaja võib vastuses edastada tohutu hulga mittetulemuslikke NS-serverite nimesid, mis viitavad mitteolevatele vale alamdomeenidele (fake-1.victim.com, fake-2.victim.com,… fake-1000.victim.com). Resolver püüab saata päringu ohvri DNS-serverisse, kuid saab vastuse, et domeeni ei leitud, pärast mida püüab määrata järgmise NS-serveri nimekirjast ja nii edasi, kuni on läbinud kõik ründaja loetletud NS-kirjed. Seega saadab ründaja ühe päringu korral resolver tohutu hulga päringuid NS-hostide tuvastamiseks. Kuna NS-serverite nimed on juhuslikud ja viitavad mitteolevatele alamdomeenidele, ei ole need vahemälust kätte saadud ja iga ründaja päring toob kaasa suurte päringute laviini ohvri domeeni teenindavale DNS-serverile.
Uurijad on uurinud avalike DNS-resolverite probleemide haavatavust ja tuvastanud, et CloudFlare'i resolveri (1.1.1.1) puhul võib pakettide arvu suurendamine (PAF, Packet Amplification Factor) ulatuda 48 korda, Google'i (8.8.8.8) puhul 30 korda, FreeDNS (37.235.1.174) puhul 50 korda, OpenDNS (208.67.222.222) puhul 32 korda. Silmapaistvamat näitajat 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 põhiste serverite puhul võib paralleelse päringute korralduse abil tugevdamise tase ulatuda 1000, Knot Resolver 5.1.0 puhul on tugevdamise tase umbes paarikümne korra (24-48), kuna NS-nimede määramine toimub järjestikku ja puudub sisemine piirang, kui palju samme nimede lahendamisel on lubatud ühe päringu jaoks.
Esile tõstetakse kahte peamist kaitsestrateegiat. DNSSEC-i süsteemide jaoks kasutama kuna päringud saadetakse juhuslike nimedega. Meetodi olemus seisneb negatiivsete vastuste genereerimises ilma autoriteetsetele DNS-serveritele pöördumata, rakendades vahemike kontrollimist DNSSEC-i kaudu. Lihtsam viis oleks piirata nimede arvu, mida saab ühe volitatud päringu töötlemisel määrata, kuid see meetod võib põhjustada probleeme mõnede olemasolevate konfiguratsioonidega, kuna piirangud ei ole protokollis määratletud.
Allikas: opennet.ru
