Izraelscy badacze ds. bezpieczeństwa cybernetycznego ujawnili szczegółowe informacje na temat nowego błędu wpływającego na protokół DNS, który można wykorzystać do przeprowadzenia wzmocnionych ataków DDoS na dużą skalę. Takie ataki pozwalają na czasowe lub trwałe spowodowanie niedostępności atakowanej usługi internetowej.

Podatność ta, nazywana NXNSAttack, opiera się na mechanizmie delegacji DNS, który zmusza resolvery DNS do generowania większej liczby zapytań do autorytatywnych serwerów wybranych przez atakującego, potencjalnie powodując zakłócanie usług internetowych na skalę podobną do botnetu.

Odkrywcy podatności stwierdzili, że liczba komunikatów DNS wymienianych w typowym procesie rozwiązywania nazw, może być w praktyce znacznie większa niż spodziewano się w teorii, głównie ze względu na proaktywne rozwiazywanie adresów IP. Specjaliści pokazali jak ta wrodzona wada DNS może stać się wąskim gardłem i być wykorzystana w do przeprowadzenia niszczycielskiego ataku zarówno na resolver DNS jak i serwer pierwotny przechowujący rekord z danymi.

Po ujawnieniu NXNSAttack, kilka firm odpowiedzialnych za infrastrukturę internetową, w tym PowerDNS (CVE-2020-10995), CZ.NIC (CVE-2020-12667), Cloudflare, Google, Amazon, Microsoft, Dyn należący do Oracle, Verisign i IBM Quad9, załatały swoje serwery, aby rozwiązać ten problem.


Zasada działania NXNSAttack

Rekursywne wyszukiwanie DNS ma miejsce, gdy serwer DNS komunikuje się z wieloma autorytatywnymi serwerami DNS w hierarchicznej sekwencji, aby zlokalizować adres IP powiązany z domeną (np. www.kapitanhack.pl) i zwrócić go klientowi.
Komunikacja zwykle rozpoczyna się od resolvera DNS kontrolowanego przez dostawców usług internetowych lub publiczne serwery DNS, takie jak Cloudflare (1.1.1.1) lub Google (8.8.8.8), w zależności od tego, jak wygląda konfiguracja sieci lokalnej. Resolver przekazuje żądanie do pierwotnego serwera DNS, jeśli nie jest w stanie sam zlokalizować adresu IP dla danej nazwy domeny. Jeśli pierwszy główny serwer nazw DNS również nie przechowuje żądanych rekordów, zwraca komunikat o delegacji z adresami do następnych serwerów, które może odpytać. Innymi słowy, serwer pierwotny mówi rekurencyjnemu resolverowi: „Nie znam odpowiedzi, idź i zapytaj te i te serwery nazw, np. Ns1, ns2 itp.”. Ten hierarchiczny proces trwa do momentu, gdy resolver DNS dotrze do właściwego autorytatywnego serwera, który udostępnia adres IP domeny, umożliwiając użytkownikowi dostęp do pożądanej witryny.

Naukowcy odkryli, że słabość mechanizmu działania infrastruktury DNS polegającą na tworzeniu wielu hierarchicznych zapytań, można wykorzystać do oszukiwania rekurencyjnych resolverów w celu ciągłego wysyłania dużej liczby pakietów do docelowej domeny zamiast legalnych serwerów DNS.
Aby przeprowadzić taki atak, atakujący musi posiadać autorytatywny serwer. Można to łatwo osiągnąć, kupując nazwę domeny. „Atakujący, który posiada taki serwer, może stworzyć każdą odpowiedź NS jako odpowiedź na różne zapytania DNS” – twierdzą naukowcy.

NXNSAttack działa poprzez wysłanie żądania o domenę kontrolowaną przez atakującego (np. „attacker.com”) do wrażliwego serwera DNS, który przekazałby zapytanie DNS do nadrzędnego serwera kontrolowanego przez atakującego. Zamiast zwracać adresy do rzeczywistych nadrzędnych serwerów, serwer kontrolowany przez atakującego odpowiada na zapytanie DNS listą fałszywych nazw serwerów lub poddomen kontrolowanych przez hackera, które wskazują na domenę ofiary. Serwer DNS przesyła potem zapytanie do wszystkich nieistniejących poddomen, powodując gwałtowny wzrost ruchu na stronie ofiary.

Naukowcy stwierdzili, że atak może zwiększyć liczbę pakietów wymienianych przez rekurencyjny resolver ponad 1620-krotnie, tym samym przytłaczając nie tylko resolvery DNS większą liczbą żądań niż mogą obsłużyć, ale także zalewając domenę docelową zbędnymi żądaniami powodując jej niedostępność.

NXNSAttack przeprowadzony na serwer autorytatywny ofiary (1) oraz na rekurencyjny resolver (2)

Co więcej, użycie botnetu takiego jak np. Mirai jako klienta DNS może dodatkowo zwiększyć skalę tego ataku.
„Kontrola i pozyskiwanie ogromnej liczby klientów oraz dużej liczby autorytatywnych NS przez atakującego jest w praktyce łatwa i tania” – powiedzieli naukowcy.
„Naszym początkowym celem było zbadanie wydajności rekurencyjnych resolverów i ich zachowania podczas różnych ataków, a my znaleźliśmy nową poważnie wyglądającą lukę, NXNSAttack” – podsumowali odkrywcy podatności.

Kluczowymi aspektami nowego ataku są:

  • łatwość, z jaką atakujący mogą stworzyć i kontrolować autorytatywny serwer DNS
  • możliwość używania nieistniejących nazw domen dla serwerów DNS
  • możliwość używania nieistniejących nazw domen dla serwerów DNS

Te rzeczy powodują, że NXNSAttack jest możliwy do wykonania oraz prosty i skuteczny do przeprowadzenia.

Łatki uniemożliwiające wykonanie tego ataku są już wypuszczane. Zaleca się, aby administratorzy sieci, którzy prowadzą własne serwery DNS, zaktualizowali swoje oprogramowanie rozpoznawania nazw do najnowszej wersji.