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.

Podziel się z innymi tym artykułem!