Nowoujawniona luka w zabezpieczeniach mechanizmu DNS może narazić dostawców usługi na ataki na ich serwery.

Keyu Man, Xin’an Zhou i Zhiyun Qian z Uniwersytetu Kalifornijskiego Riverside napisali w niedawno opublikowanym artykule, że osoby atakujące, które wykorzystają tę lukę, mogą potencjalnie dostać się między połączenie resolwera DNS z serwerem nazw, co umożliwi im modyfikacje adresów IP serwerów podłączonych do różnych domen w Internecie. Badanie dotyczące luki, oznaczonej jako CVE-2021-20322, zostało zaprezentowane w środę na konferencji ACM poświęconej bezpieczeństwu komputerowemu i komunikacyjnemu w Korei Południowej.

Kluczowym elementem ataku jest sposób, w jaki Linux obsługuje zapytania DNS na serwerach, w szczególności pakiety protokołu ICMP (Internet Control Message Protocol). Zespół badaczy odkrył, że takie zachowania można wykorzystać do odgadnięcia numeru portu protokołu UDP między resolwerem, a serwerem nazw, co w innym przypadku jest losowe i niezwykle trudne do przeprowadzenia. Przy okazji, warto zapoznać się z naszą kampanią artykułów o atakach na usługę DNS, gdzie wyjaśniamy, co najczęściej atakujący biorą za cel oraz jak możemy się chronić przed takim zachowaniem.

W nowym ataku, hackerzy mogą stworzyć specjalnie spreparowane pakiety ICMP, odpalając je masowo na blok potencjalnych numerów portów, a następnie analizując treść odpowiedzi na komunikaty o błędach, mogą zawęzić liczbę potencjalnych połączeń do punktu, w którym można ustalić numer portu prywatnego.

Stamtąd osoba atakująca może sfałszować połączenie między serwerem nazw a resolwerem, poinstruować resolwer, aby ustawił dowolne adresy IP dla popularnych domen i umożliwić wszystko, od ataków phishingowych po pobieranie drive-by.

„Odkrywamy nowe kanały boczne, które czają się w stosie sieciowym Linuksa przez ponad dekadę, a jednak nie były wcześniej znane” – napisali naukowcy w swoim artykule, dodając, że aż 38% resolwerów DNS jest podatnych na ataki.

Zespół ostrzegł jednak, że Linux nie jest jedynym wektorem zagrożeń dla tego ataku. „Kanały boczne dotyczą nie tylko corowego systemu Linuksa, ale także szerokiej gamy oprogramowania DNS działającego na nim, w tym BIND, Unbound i dnsmasq”.

Badania opierają się na poprzednim zestawie ataków, które badacze odkryli i nazwali „SADDNS”. Badanie SADDNS pokazało, w jaki sposób można wykorzystać limit szybkości w systemie UDP do wywnioskowania portu dla połączenia z serwerem nazw.

W SADDNS kluczowym spostrzeżeniem jest to, że współdzielony zasób, tj. globalny limit szybkości ICMP dzielony między atakującego i ofiarę poza ścieżką, może być wykorzystany do wysyłania sfałszowanych sond UDP i wnioskowania, który port efemeryczny jest używany. Poniżej widzimy, proste porównanie skanów serwerów DNS.

źródło: dl.acm.org/doi

Praca nawiązuje również do badań przeprowadzonych przez Dana Kaminsky’ego, znanego badacza bezpieczeństwa, który w 2008 roku wywołał poważne poruszenie w branży, ujawniając możliwość ataków zatruwania pamięci podręcznej DNS (ang. DNS cache poisoning) na dużą skalę. Kaminsky zmarł na początku tego roku w wieku 42 lat.

Zespół zgłosił już usterkę prywatnie i chociaż jądro Linuksa, BIND i Unbound mają poprawki usuwające błędy, Man powiedział SearchSecurity, że nie jest jasne, gdzie sami dostawcy DNS są w procesie aktualizacji.

„Zgłosiliśmy nasze ustalenia wielu dostawcom DNS, takim jak AdGuard, OpenDNS i Quad9, a oni potwierdzili luki” — powiedział Man. „Ale zgodnie z naszą najlepszą wiedzą, tylko OpenDNS powiedział nam, że naprawił problem”.

Jeśli chodzi o administratorów i użytkowników końcowych, zespół zaleca upewnienie się, że ich jądro Linux i BIND/Unbound są zaktualizowane do najnowszej wersji. Administratorzy mogą również nałożyć dalsze ograniczenia na sposób obsługi ruchu ICMP w swojej sieci.

Łatwym do wdrożenia obejściem byłoby odrzucenie pakietów ICMP wymagających fragmentacji oraz odrzucenie przekierowanych pakietów ICMP za pomocą iptables i ip6tables, co można zrobić w czasie wykonywania bez ponownego uruchamiania usługi. Jednak jak się domyślamy, spowoduje to zakłócenie w legalnym korzystaniu z ICMP, co w niektórych sieciach jest wymagane.

Podziel się z innymi tym artykułem!