W module Wi-Fi Realtek RTL8195A wykryto poważne luki, które mogą zostać wykorzystane do uzyskania dostępu na poziomie root i przejęcia pełnej kontroli nad komunikacją bezprzewodową urządzenia.
Podatności jest aż 6, a zostały one zgłoszone i opisane przez izraelskich specjalistów z firmy Vdoo zajmującej się bezpieczeństwem urządzeń IoT.
Realtek RTL8195A to samodzielny, energooszczędny moduł sprzętowy Wi-Fi przeznaczony do urządzeń wbudowanych używanych w kilku branżach, takich jak rolnictwo, inteligentny dom, opieka zdrowotna, gry i motoryzacja. Przykładami urządzeń wyposażonymi w taki moduł WiFi mogą być autonomiczne odkurzacze, niektóre drony, inteligentne głośniki czy nawet nowoczesne sprzęty medyczne.
Moduł wykorzystuje również interfejs API „Ameba”, umożliwiający programistom komunikację z urządzeniem za pośrednictwem Wi-Fi, HTTP i MQTT – lekkiego protokołu komunikacyjnego dla małych czujników i urządzeń mobilnych.
Chociaż problemy odkryte przez Vdoo zostały zweryfikowane tylko na RTL8195A, naukowcy powiedzieli, że obejmują również inne moduły, w tym RTL8711AM, RTL8711AF i RTL8710AF.
Luki dotyczą połączeń przepełnienia stosu oraz odczytów poza zakresem, które wynikają z czterokierunkowego mechanizmu uzgadniania WPA2 modułu Wi-Fi podczas uwierzytelniania:
Najważniejszą z podatności jest luka w zabezpieczeniach przepełnienia bufora (CVE-2020-9395), która pozwala atakującemu znajdującemu się w pobliżu modułu RTL8195 na całkowite przejęcie modułu bez konieczności znajomości hasła do sieci Wi-Fi (lub klucza wstępnego) i niezależnie od tego, czy moduł działa jako punkt dostępu Wi-Fi czy klient!
Dwie inne wady mogą zostać wykorzystane do przeprowadzenia ataku odmowy usługi, podczas gdy inny zestaw trzech podatności, w tym CVE-2020-25854, może pozwolić na exploitacje urządzeń klienckich Wi-Fi i wykonanie na nich dowolnego kodu.
Tak więc w jednym z potencjalnych scenariuszy ataku przeciwnik posiadający wcześniejszą wiedzę o haśle dostępu do sieci Wi-Fi WPA2, do której podłączone jest urządzenie ofiary, może stworzyć złośliwy punkt dostępowy poprzez podsłuchiwanie SSID sieci i klucza tranzytowego (PTK). Dzięki temu wymusi na celu połączenie się z nowym punktem dostępu i uruchomienie złośliwego kodu.
Realtek wydało również oficjalne oświadczenie w tej sprawie:
„W urządzeniach Realtek RTL8195AM, RTL8711AM, RTL8711AF i RTL8710AF przed 2.0.6 wykryto problem. W kodzie klienta występuje przepełnienie bufora oparte na stosie, które zajmuje się czterostronnym uzgadnianiem WPA2 za pośrednictwem zniekształconego pakietu klucza EAPOL z długim buforem danych kluczy”.
Skąd mam wiedzieć, czy moje urządzenie jest podatne na atak?
Każda wersja wypuszczona po 21.04.2020 jest w pełni załatana i uwzględnia poprawki wszystkich powyższe problemów. Każda wersja stworzona po 03.03.2020 jest odporna na najgroźniejszą z podatności (CVE-2020-9395), ale nadal jest podatna na wszystkie inne problemy. Datę kompilacji można zwykle wyodrębnić jako prosty ciąg z binarnego oprogramowania firmware. Na przykład uruchamiając następujące polecenie na firmware i obserwując podobne dane wyjściowe:
Które poprawki mogę zastosować, aby rozwiązać problem?
Zaktualizowane wersje Ameba SDK można pobrać z witryny internetowej firmy Realtek. W odpowiedzi Realtek wydał Ameba Arduino 2.0.8 z łatami na wszystkie sześć luk wykrytych przez Vdoo.
Jak zmniejszyć ryzyko, jeśli nie mogę zaktualizować oprogramowania sprzętowego urządzenia?
Używanie silnego, prywatnego hasła WPA2 i chronienie dostępu do sieci WiFi zapobiegnie wykorzystywaniu problemów 4/6 wykrytych podatności. Inne niestety wymagają instalacji poprawek.