Firmware miliardów kart WiFi ma lukę. Można przejąć laptopy, routery, smartfony, konsole…
Moduł WiFi znajdziemy obecnie w niemal każdym urządzeniu elektronicznym, od laptopów po pralki. Możliwe, że urządzenia te będą przyczyną poważnych problemów. W oprogramowaniu systemowym popularnych czipsetów WiFi znaleziona została poważna luka. Zagrożone są laptopy, smartfony, konsole, routery i mnóstwo większych i mniejszych urządzeń z kategorii internetu rzeczy.
19.01.2019 16:05
Lukę odkrył Denis Selianin z Embedi i opisał w raporcie. Podatność znajduje się w systemie czasu rzeczywistego ThreadX, używanego jako podstawa firmware'u w miliardach układów WiFi, montowanych w przeróżnych urządzeniach.
Selianin wziął na warsztat firmware ThreadX instalowany na bardzo popularnym SoC-u Marvell Avastar 88W8897. Korzystając z luki, udało mu się zdalnie wykonać szkodliwy kod bez żadnej interakcji ze strony użytkownika. Analityk wykrył w oprogramowaniu układu 4 różne błędy, powodujące uszkodzenie zawartości pamięci (memory Corruption).
Jeden z błędów można łatwo wywołać podczas skanowania dostępnych sieci. Oprogramowanie układu WiFi robi to automatycznie co kilka minut, przez co wykorzystanie luki jest banalnie proste. Wystarczy wysłać do każdego urządzenia z kartą WiFi z serii Marvell Avastar odpowiednio przygotowany pakiet i poczekać, aż zostanie uruchomione skanowanie. Zachodzi wtedy wyjątkowa sytuacja, w której ThreadX stara się zapobiec przepełnieniu puli. Atak można przeprowadzić bez pomocy „z wewnątrz”, nie trzeba więc szykować dodatkowych zabiegów socjotechnicznych, by przekonać użytkownika sieci do jakichś szkodliwych czynności. Oprogramowanie samo wykona szkodliwy kod i odda kontrolę nad urządzeniem w ręce atakującego.
Zaprezentowany przez Selianina atak można przeprowadzić na urządzenie z włączonym WiFi bez względu na to, że jest akurat podłączone do jakiejś sieci i w dowolnym momencie połączenia.
Analityk znalazł dwa sposoby na wykorzystanie znalezionej luki. Jeden z ataków wykorzystuje typowe cechy oprogramowania Marvella, drugi zaś można przeprowadzić przeciwko dowolnemu firmware'owi, bazującemu na systemie ThreadX. Oznacza to, że na świecie jest jakieś 6,2 miliarda urządzeń podatnych na ten atak.
Z oczywistych powodów Selianin nie pokazał kodu przykładowego ataku w swoim raporcie. Producenci pracują nad łatkami, ale możliwe, że wiele urządzeń nigdy nie zostanie zaktualizowanych.