NXNSAttack атака, засягаща всички DNS резолвери

Група изследователи от университета в Тел Авив и Интердисциплинарния център в Херцлия (Израел) разработи нов метод за атака NXNSAttack (PDF), което ви позволява да използвате всякакви DNS резолвери като усилватели на трафика, осигурявайки скорост на усилване до 1621 пъти по отношение на броя на пакетите (за всяка заявка, изпратена до резолвера, можете да постигнете 1621 заявки, изпратени до сървъра на жертвата) и до 163 пъти по трафик.

Проблемът е свързан с особеностите на протокола и засяга всички DNS сървъри, поддържащи рекурсивна обработка на заявки, в т.ч. BIND (CVE-2020-8616) възел (CVE-2020-12667) PowerDNS (CVE-2020-10995) Windows DNS сървър и свободен (CVE-2020-12662), както и публични DNS услуги на Google, Cloudflare, Amazon, Quad9, ICANN и други компании. Корекцията беше координирана с разработчиците на DNS сървъри, които едновременно пуснаха актуализации, за да коригират уязвимостта в своите продукти. Защита от атаки, внедрена в версиите
Без ограничения 1.10.1, Разрешител на възли 5.1.1, PowerDNS рекурсор 4.3.1, 4.2.2, 4.1.16, BIND 9.11.19, 9.14.12, 9.16.3.

Атаката се основава на това, че нападателят използва заявки, които се отнасят до голям брой невиждани преди това фиктивни NS записи, на които е делегирано определяне на име, но без да се посочват слепващи записи с информация за IP адресите на NS сървъри в отговора. Например, атакуващ изпраща заявка за разрешаване на името sd1.attacker.com чрез контролиране на DNS сървъра, отговорен за домейна attacker.com. В отговор на заявката на резолвера към DNS сървъра на нападателя се издава отговор, който делегира определянето на адреса sd1.attacker.com на DNS сървъра на жертвата, като посочва NS записи в отговора, без да уточнява IP NS сървърите. Тъй като споменатият NS сървър не е бил срещан преди и неговият IP адрес не е посочен, резолверът се опитва да определи IP адреса на NS сървъра чрез изпращане на заявка до DNS сървъра на жертвата, обслужващ целевия домейн (victim.com).

NXNSAttack атака, засягаща всички DNS резолвери

Проблемът е, че атакуващият може да отговори с огромен списък от неповтарящи се NS сървъри с несъществуващи фиктивни имена на поддомейни на жертви (fake-1.victim.com, fake-2.victim.com,... fake-1000. жертва.com). Резолверът ще се опита да изпрати заявка до DNS сървъра на жертвата, но ще получи отговор, че домейнът не е намерен, след което ще се опита да определи следващия NS сървър в списъка и така нататък, докато изпробва всички NS записи, изброени от нападателя. Съответно, за една заявка на нападателя, резолверът ще изпрати огромен брой заявки за определяне на NS хостове. Тъй като имената на NS сървърите се генерират на случаен принцип и се отнасят до несъществуващи поддомейни, те не се извличат от кеша и всяка заявка от нападателя води до вълна от заявки към DNS сървъра, обслужващ домейна на жертвата.

NXNSAttack атака, засягаща всички 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 предложен да се използва RFC 8198 за предотвратяване на заобикалянето на DNS кеша, тъй като заявките се изпращат с произволни имена. Същността на метода е да генерира отрицателни отговори, без да се свързва с авторитетни DNS сървъри, като използва проверка на обхват чрез DNSSEC. По-опростен подход е да се ограничи броят на имената, които могат да бъдат дефинирани при обработката на една делегирана заявка, но този метод може да причини проблеми с някои съществуващи конфигурации, тъй като ограниченията не са дефинирани в протокола.

Източник: opennet.ru

Добавяне на нов коментар