NXNSAttack-hyökkäys, joka vaikuttaa kaikkiin DNS-ratkaisuihin

Ryhmä tutkijoita Tel Avivin yliopistosta ja monitieteisestä keskuksesta Herzliyassa (Israel) on kehittynyt uusi hyökkäystapa NXNSAttack (PDF), jonka avulla voit käyttää mitä tahansa DNS-selvittäjiä liikenteen vahvistimina, mikä tarjoaa jopa 1621-kertaisen vahvistusnopeuden pakettien lukumäärän suhteen (jokaisella ratkaisijalle lähetetyllä pyynnöllä voit saada 1621 pyyntöä lähetettäväksi uhrin palvelimelle) ja jopa 163 kertaa liikenteessä mitattuna.

Ongelma liittyy protokollan erityispiirteisiin ja vaikuttaa kaikkiin DNS-palvelimiin, jotka tukevat rekursiivista kyselynkäsittelyä, mukaan lukien SITOA (CVE-2020-8616) Solmu (CVE-2020-12667) PowerDNS (CVE-2020-10995) Windowsin DNS-palvelin и sitomaton (CVE-2020-12662), sekä Googlen, Cloudflaren, Amazonin, Quad9:n, ICANNin ja muiden yritysten julkiset DNS-palvelut. Korjaus koordinoitiin DNS-palvelinkehittäjien kanssa, jotka julkaisivat samanaikaisesti päivityksiä tuotteidensa haavoittuvuuden korjaamiseksi. Hyökkäyssuojaus toteutettu julkaisuissa
Ei sitoumuksia 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.

Hyökkäys perustuu siihen, että hyökkääjä käyttää pyyntöjä, jotka viittaavat suureen määrään aiemmin näkemättömiä kuvitteellisia NS-tietueita, joille on delegoitu nimenmääritys, mutta ei määritä vastauksessa liimatietueita, joissa on tietoa NS-palvelimien IP-osoitteista. Hyökkääjä esimerkiksi lähettää kyselyn ratkaistakseen nimen sd1.attacker.com ohjaamalla DNS-palvelinta, joka on vastuussa DNS-palvelimesta, joka vastaa verkkotunnuksesta attacker.com. Vastauksena ratkaisijan pyyntöön hyökkääjän DNS-palvelimelle lähetetään vastaus, joka delegoi sd1.attacker.com-osoitteen määrittämisen uhrin DNS-palvelimelle osoittamalla vastauksessa NS-tietueet tarkentamatta IP NS -palvelimia. Koska mainittua NS-palvelinta ei ole aiemmin tavattu eikä sen IP-osoitetta ole määritelty, ratkaiseja yrittää määrittää NS-palvelimen IP-osoitteen lähettämällä kyselyn uhrin kohdealuetta palvelevalle DNS-palvelimelle (victim.com).

NXNSAttack-hyökkäys, joka vaikuttaa kaikkiin DNS-ratkaisuihin

Ongelmana on, että hyökkääjä voi vastata valtavalla luettelolla ei-toistuvista NS-palvelimista, joissa ei ole olemassa kuvitteellisia uhrien aliverkkotunnuksia (fake-1.victim.com, fake-2.victim.com,... fake-1000. uhri.com). Ratkaisija yrittää lähettää pyynnön uhrin DNS-palvelimelle, mutta saa vastauksen, että verkkotunnusta ei löytynyt, minkä jälkeen se yrittää määrittää luettelon seuraavan NS-palvelimen ja niin edelleen, kunnes se on kokeillut kaikkia Hyökkääjän listaamat NS-tietueet. Vastaavasti yhden hyökkääjän pyynnöstä ratkaisija lähettää valtavan määrän pyyntöjä määrittääkseen NS-isännät. Koska NS-palvelinten nimet luodaan satunnaisesti ja viittaavat olemattomiin aliverkkotunnuksiin, niitä ei haeta välimuistista ja jokainen hyökkääjän pyyntö johtaa pyyntöjen tulvaan uhrin toimialuetta palvelevalle DNS-palvelimelle.

NXNSAttack-hyökkäys, joka vaikuttaa kaikkiin DNS-ratkaisuihin

Tutkijat tutkivat julkisten DNS-ratkaisijoiden haavoittuvuuden astetta ongelmalle ja totesivat, että lähetettäessä kyselyitä CloudFlare-ratkaisuun (1.1.1.1) on mahdollista lisätä pakettien määrää (PAF, Packet Amplification Factor) 48-kertaiseksi, Google (8.8.8.8) - 30 kertaa, FreeDNS (37.235.1.174) - 50 kertaa, OpenDNS (208.67.222.222) - 32 kertaa. Huomattavampia indikaattoreita havaitaan
Taso 3 (209.244.0.3) - 273 kertaa, Quad9 (9.9.9.9) - 415 kertaa
SafeDNS (195.46.39.39) - 274 kertaa, Verisign (64.6.64.6) - 202 kertaa,
Ultra (156.154.71.1) - 405 kertaa, Comodo Secure (8.26.56.26) - 435 kertaa, DNS.Watch (84.200.69.80) - 486 kertaa ja Norton ConnectSafe (199.85.126.10) - 569 kertaa BIND 9.12.3:een perustuvilla palvelimilla pyyntöjen rinnakkaisuuden vuoksi vahvistustaso voi nousta jopa 1000:aan. Knot Resolver 5.1.0:ssa vahvistustaso on noin useita kymmeniä kertoja (24-48), koska NS-nimet suoritetaan peräkkäin, ja se perustuu yhdelle pyynnölle sallittujen nimenselvitysvaiheiden lukumäärään.

On olemassa kaksi pääpuolustusstrategiaa. Järjestelmät, joissa on DNSSEC ehdotettu käyttää RFC 8198 estämään DNS-välimuistin ohituksen, koska pyynnöt lähetetään satunnaisilla nimillä. Menetelmän ydin on tuottaa kielteisiä vastauksia ottamatta yhteyttä arvovaltaisiin DNS-palvelimiin käyttämällä DNSSEC:n kautta tapahtuvaa etäisyyden tarkistusta. Yksinkertaisempi tapa on rajoittaa määritettävissä olevien nimien määrää, kun käsitellään yhtä delegoitua pyyntöä, mutta tämä menetelmä voi aiheuttaa ongelmia joissakin olemassa olevissa kokoonpanoissa, koska rajoituksia ei ole määritetty protokollassa.

Lähde: opennet.ru

Lisää kommentti