Екип от изследователи от Калифорнийския университет в Ървайн и Университета Цинхуа е разработил нова мощна атака за отравяне на кеша, наречена „MaginotDNS“, която е насочена към условните DNS (CDNS) резолвери и може да компрометира цели домейни от първо ниво на TLD.
Атаката е възможна благодарение на несъответствията при прилагането на проверките за сигурност в различните режими на DNS софтуера и сървърите (рекурсивни резолвери и препращачи), което прави уязвими около една трета от всички CDNS сървъри.
Изследователите представиха атаката и документа по-рано тази седмица на Black Hat 2023, като съобщиха, че установените проблеми вече са отстранени на софтуерно ниво.
Предистория на отравянето на кеша на DNS
DNS (Domain Name System) е йерархична и разпределена система за именуване на интернет ресурсите и мрежите, която помага за преобразуването на разбираеми от човека имена на домейни в цифрови IP адреси, за да може да се осъществи мрежова връзка.
Процесът на разрешаване на DNS използва UDP, TCP и DNSSEC, за да извършва заявки и да получава отговори. Той може да бъде повтарящ се и рекурсивен, включващ множество стъпки и обмен с коренови сървъри, сървъри на ДПН, авторитетни сървъри, кеширащи записи по пътя и т.н.
Концепцията за отравяне на DNS кеша е инжектиране на фалшиви отговори в кеша на DNS резолвера, което кара сървъра да насочва потребителите, които въвеждат даден домейн, към неправилни IP адреси, потенциално насочвайки ги към злонамерени уебсайтове без тяхно знание.
В миналото са демонстрирани много атаки от този тип, като например атаката Kashpureff през 1997 г., която се възползва от липсата на проверка на данните (правила за байлинга), и атаката Kaminsky през 2008 г., която се възползва от липсата на система за рандомизиране на изходните портове.
Тези атаки са смекчени чрез добавяне на защити в изпълнението на резолверите, което прави атаките извън пътя трудни.
Атаката „MaginotDNS“ обаче може да преодолее тези защити, като атакува режима на препращане на CDNS както по пътя, така и извън него.
Атаката на MaginotDNS
CDNS резолверите поддържат както рекурсивни, така и пренасочващи режими на заявка, използвани от доставчиците на интернет услуги и предприятията за намаляване на разходите и по-добър контрол на достъпа.
Изследователите са установили, че проверките за право на достъп се прилагат адекватно в рекурсивния режим; въпреки това препращачът е уязвим.
Тъй като двата режима споделят един и същ глобален DNS кеш, атака срещу режима на forwarder може да отвори пътя към пробив на рекурсивния режим, като по същество да наруши границата на защита на DNS кеша.
Изследователите установиха несъответствия в проверката на байлинга на известен DNS софтуер, включително BIND9 (CVE-2021-25220), Knot Resolver (CVE-2022-32983), Microsoft DNS и Technitium (CVE-2021-43105).
В някои случаи са забелязани конфигурации, които третират всички записи така, сякаш са под коренния домейн, което е изключително уязвима настройка.
Примерите, показани от изследователите по време на презентацията им на BlackHat, включват както атаки по пътя, така и атаки извън пътя, като вторите са по-сложни, но и много по-ценни за участниците в заплахите.
При тези атаки извършителят трябва да предвиди порта на източника и идентификатора на трансакцията, използвани от рекурсивните DNS сървъри на целта при генериране на заявка, и след това да използва злонамерен DNS сървър, за да изпрати фалшиви отговори с правилните параметри.
Предполагането на порта на източника и отгатването на идентификаторите на транзакциите може да се извърши чрез груба сила или чрез използване на SADDNS (атакуван по странични канали DNS).
За BIND9 двата параметъра могат да бъдат успешно извлечени след 3600 рунда на заявката, докато за Microsoft DNS този брой пада до 720 рунда.
За да увеличи шансовете за успех, нападателят трябва да контролира времето за отговор на злонамерените DNS отговори, за да гарантира, че подправеният отговор ще достигне до сървъра на жертвата преди легитимния.
Сканиране за уязвими CDNS
Изследователите са сканирали интернет и са открили 1 200 000 DNS резолвера, от които 154 955 са CDNS сървъри.
След това, използвайки отпечатъци на софтуера за идентифициране на уязвими версии, те откриха 54 949 уязвими CDNS сървъри, всички от които са податливи на атаки по пътя, а 88,3 % са засегнати от атаки извън пътя.
Всички засегнати производители на софтуер, споменати по-горе, са потвърдили и отстранили недостатъците, а Microsoft е предоставила награда на изследователите за техния доклад.
Въпреки това, за да бъдат напълно намалени проблемите, администраторите на CDNS трябва да приложат кръпките и да следват правилните насоки за конфигуриране, предоставени от доставчиците.
Инфографики и базова информация: Black Hat
Източник: e-security.bg