Атака NXNSAttack, затрагивающая все DNS-резолверы

Группa исслeдoвaтeлeй изо Тeль-Aвивскoгo унивeрситeтa и Мeждисциплинaрнoгo цeнтрa в Гeрцлии (Изрaиль) рaзрaбoтaлa нoвый мeтoд aтaки NXNSAttack (PDF), пoзвoляющий испoльзoвaть любыe DNS-рeзoлвeры в кaчeствe усилитeлeй трaфикa, oбeспeчивaющиx стeпeнь усилeния дo 1621 рaз пo числу пакетов (в каждый отправленный к резолверу запрос, дозволяется добиться отправки на сервер жертвы 1621 радиозапрос. Ant. ответ) и до 163 раз по трафику. Заколупка связана с особенностями работы протокола и затрагивает до сей поры DNS-серверы, поддерживающие рекурсивную обработку запросов, в книжка числе BIND (CVE-2020-8616), Knot (CVE-2020-12667), PowerDNS (CVE-2020-10995), Windows DNS Server и Unbound (CVE-2020-12662), а да публичные DNS-сервисы Google, Cloudflare, Amazon, Quad9, ICANN и других компаний. Ремонт проблемы было скоординировано с разработчиками DNS-серверов, которые сразу выпустили обновления с устранением уязвимости в своих продуктах. Форсинг основывается на использовании атакующим запросов, ссылающихся для большое число ранее не встречавшихся фиктивных NS-записей, которым делегируется атрибуция имени, но без указания в ответе glue-записей с информацией об 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.victim.com). Резолвер попытается отослать запрос DNS-серверу жертвы, но получит ответственность, что домен не найден, впоследств чего попытается определить следующий NS-сервер в списке и (до до тех пор пока маловыгодный переберёт все перечисленные атакующим NS-ежедневник. Соответственно, на один запрос атакующего резолвером достаточно отправлено огромное число запросов во (избежание определения NS-хостов. Так как имена NS-серверов формируются волею судеб и ссылаются на несуществующие поддомены, они безграмотный извлекаются из кэша и каждый запрашивание атакующего приводит к шквалу запросов к DNS-серверу, обслуживающему владение жертвы. Исследователи изучили степень подверженности публичных DNS-резолверов и определили, по какой причине при отправке запросов резолверу CloudFlare (1.1.1.1) годится. Ant. нельзя добиться коэффициента усиления 48 единожды, Google (8.8.8.8) - 30 раз, FreeDNS (37.235.1.174) - 50 нечасто, OpenDNS (208.67.222.222) - 32 раза. Более заметные цифры наблюдаются для Level3 (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. Более простым способом является ограничения числа имён, которые только и остается определить при обработке одного делегирвоанного запроса, хотя такой метод может привести к проблемам с некоторыми существующими конфигурациями, манером) как лимиты не определены в протоколе. Очаг: http://www.opennet.ru/opennews/art.shtml?num=52995