W komponencie systemu nazw domen (DNS), popularnej standardowej biblioteki C, znajdującej się w wielu znanych produktach IoT, wykryto niezałataną lukę w zabezpieczeniach. Błąd jest ciekawy i poważny, dlatego zalecamy jak najszybsze zaktualizowanie systemów.


Opis problemu

Problem, który został zgłoszony we wrześniu 2021 r., dotyczy implementacji systemu nazw domen (DNS), dwóch popularnych bibliotek C o nazwie: uClibc i uClibc-ng, które są wykorzystywane w systemach Linux.

Za jego odkrycie odpowiedzialni są badacze z Nozomi Networks Lab, którzy stwierdzili:

„Wada była spowodowana przewidywalnością identyfikatorów transakcji zawartych w żądaniach DNS generowanych przez bibliotekę, co może umożliwić atakującym przeprowadzanie ataków zatruwania DNS przeciwko docelowym urządzeniom”.

Zródło: Nozomi Networks

uClibc jest używany przez głównych dostawców, takich jak Linksys, Netgear i Axis, lub dystrybucje Linuksa, takie jak Embedded Gentoo. Jest to jedna z możliwych dostępnych standardowych bibliotek C i skupia się w szczególności na systemach wbudowanych.

uClibc-ng to fork (widelec) zaprojektowany specjalnie dla OpenWRT, wspólnego systemu operacyjnego dla routerów, które mogą być wdrażane w różnych krytycznych sektorach infrastruktury.

Badacze twierdzą, że „wada mająca wpływ na standardową bibliotekę C może być nieco skomplikowana, ponieważ w wielu punktach pojedynczego programu byłyby setki lub tysiące wywołań zagrożonej funkcji, a luka miałaby wpływ na nieskończoną liczbę innych programów od wielu dostawców korzystających z tej biblioteki”.


Skutki przeprowadzenia ataku

Luka w uClibc i uClibc-ng wynika z posiadania przewidywalnego identyfikatora transakcji przypisanego do każdego wyszukiwania DNS i statycznego użycia portu źródłowego 53, skutecznie pokonując zabezpieczenia randomizacji portu źródłowego.

Pomyślne wykorzystanie błędu może umożliwić przeciwnikowi przeprowadzanie ataków Man-in-the-Middle (MitM) i uszkodzenie pamięci podręcznej DNS, skutecznie przekierowując ruch internetowy do serwera pod kontrolą atakującego.

Nozomi Networks ostrzegło, że luka może zostać w trywialny sposób wykorzystana, jeśli system operacyjny zostanie skonfigurowany do korzystania ze stałego lub przewidywalnego portu źródłowego.

„Atakujący może następnie ukraść i/lub manipulować informacjami przesyłanymi przez użytkowników oraz wykonać inne ataki na te urządzenia, aby całkowicie je złamać” – powiedzieli naukowcy.


Atak Poisoning DNS

O kilku innych atakach DNS pisaliśmy wcześniej na Hacku tutaj. Przypominamy, że atak DNS Poisoning, określany również jako fałszowanie DNS, to technika uszkadzania pamięci podręcznej modułu rozpoznawania nazw DNS — która zapewnia klientom adres IP powiązany z nazwą domeny w celu przekierowywania użytkowników do złośliwych witryn internetowych.

W ataku zatrucia DNS napastnik jest w stanie skłonić klienta DNS do zaakceptowania sfałszowanej odpowiedzi, w wyniku czego program będzie wykonywał komunikację sieciową z arbitralnie zdefiniowanym punktem końcowym, a nie z prawidłowym.

Pomyślne wykorzystanie luki może umożliwić atak typu Man-in-the-Middle, ponieważ atakujący, zatruwając rekordy DNS, jest w stanie przekierować komunikację sieciową do serwera będącego pod jego kontrolą.

Osoba atakująca może następnie ukraść lub manipulować informacjami przesyłanymi przez użytkowników oraz wykonać inne ataki na te urządzenia, aby całkowicie je złamać.


Analiza techniczna problemu

Eksperci z Nozomi Networks Labs zauważyli ślad żądań DNS wykonywanych przez podłączone urządzenie przy użyciu biblioteki uClibc i odkryli pewne nieprawidłowości spowodowane wewnętrzną funkcją wyszukiwania.

Zródło: Nozomi Networks

Odkryli, że identyfikator transakcji żądania wyszukiwania DNS jest przewidywalny i w takich okolicznościach możliwe jest przeprowadzenie ataku (DNS Poisoning).

Możliwość wykorzystania luki (exploitacja) zależy od zdolności atakującego do przeprowadzenia ataku bruteforce wartości 16-bitowego portu źródłowego poprzez wysyłanie wielu odpowiedzi DNS, jednocześnie wygrywając wyścig z uzasadnioną odpowiedzią DNS. W takiej sytuacji możliwość wykorzystania zależy od takich czynników, jak przepustowość do dyspozycji atakującego lub czas odpowiedzi na zapytanie DNS. Ponadto jest bardziej prawdopodobne, że atakującemu uda się przynajmniej raz przeprowadzić atak zatrucia DNS, jeśli urządzenie docelowe wykona dużą liczbę identycznych zapytań w danym przedziale czasowym, w porównaniu z celem, który wykonuje sporadyczne zapytania.


Środki zaradcze

Według naukowców, urządzenia ponad 200 dostawców są obecnie zagrożone atakiem zatrucia DNS lub atakiem DNS spoofing. Dlatego zaleca się zwiększenie widoczności i bezpieczeństwa sieci zarówno w środowiskach IT, jak i OT. Na swoim blogu naukowcy zamieścili poniższą informację:

„Zgodnie z przewidywaniami, na dzień publikacji tego bloga luka w zabezpieczeniach nie została jeszcze naprawiona. Jak stwierdzono w publicznej rozmowie, opiekun nie był w stanie opracować poprawki dla tej luki, mając nadzieję na pomoc społeczności. Luka została ujawniona ponad 200 sprzedawcom zaproszonym do sprawy VINCE przez CERT/CC od stycznia 2022 r., a przed publikacją udostępniono im 30-dniowe powiadomienie.”

Szczegóły znajdziecie tez tutaj.

Podziel się z innymi tym artykułem!