Група изследователи от университета в Тел Авив и Интердисциплинарния център в Херцлия (Израел)
Проблемът е свързан с особеностите на протокола и засяга всички DNS сървъри, поддържащи рекурсивна обработка на заявки, в т.ч.
Атаката се основава на това, че нападателят използва заявки, които се отнасят до голям брой невиждани преди това фиктивни NS записи, на които е делегирано определяне на име, но без да се посочват слепващи записи с информация за IP адресите на NS сървъри в отговора. Например, атакуващ изпраща заявка за разрешаване на името sd1.attacker.com чрез контролиране на DNS сървъра, отговорен за домейна attacker.com. В отговор на заявката на резолвера към DNS сървъра на нападателя се издава отговор, който делегира определянето на адреса sd1.attacker.com на DNS сървъра на жертвата, като посочва NS записи в отговора, без да уточнява IP NS сървърите. Тъй като споменатият NS сървър не е бил срещан преди и неговият IP адрес не е посочен, резолверът се опитва да определи IP адреса на NS сървъра чрез изпращане на заявка до DNS сървъра на жертвата, обслужващ целевия домейн (victim.com).
Проблемът е, че атакуващият може да отговори с огромен списък от неповтарящи се NS сървъри с несъществуващи фиктивни имена на поддомейни на жертви (fake-1.victim.com, fake-2.victim.com,... fake-1000. жертва.com). Резолверът ще се опита да изпрати заявка до DNS сървъра на жертвата, но ще получи отговор, че домейнът не е намерен, след което ще се опита да определи следващия NS сървър в списъка и така нататък, докато изпробва всички NS записи, изброени от нападателя. Съответно, за една заявка на нападателя, резолверът ще изпрати огромен брой заявки за определяне на NS хостове. Тъй като имената на NS сървърите се генерират на случаен принцип и се отнасят до несъществуващи поддомейни, те не се извличат от кеша и всяка заявка от нападателя води до вълна от заявки към DNS сървъра, обслужващ домейна на жертвата.
Изследователите проучиха степента на уязвимост на публичните DNS резолвери към проблема и установиха, че при изпращане на заявки към резолвера CloudFlare (1.1.1.1) е възможно да се увеличи броят на пакетите (PAF, Packet Amplification Factor) с 48 пъти, Google (8.8.8.8) - 30 пъти, FreeDNS (37.235.1.174) - 50 пъти, OpenDNS (208.67.222.222) - 32 пъти. По-забележими показатели се наблюдават при
Ниво 3 (209.244.0.3) - 273 пъти, Quad9 (9.9.9.9) - 415 пъти
SafeDNS (195.46.39.39) - 274 пъти, Verisign (64.6.64.6) - 202 пъти,
Ultra (156.154.71.1) - 405 пъти, Comodo Secure (8.26.56.26) - 435 пъти, DNS.Watch (84.200.69.80) - 486 пъти и Norton ConnectSafe (199.85.126.10) - 569 пъти. За сървъри, базирани на BIND 9.12.3, поради паралелизиране на заявките, нивото на печалба може да достигне до 1000. В Knot Resolver 5.1.0 нивото на печалба е приблизително няколко десетки пъти (24-48), тъй като определянето на NS имената се изпълняват последователно и се основават на вътрешното ограничение за броя на стъпките за разрешаване на имена, разрешени за една заявка.
Има две основни отбранителни стратегии. За системи с DNSSEC
Източник: opennet.ru