Luka w DJI: Jeden badacz przejął kontrolę nad 7000 robotów

W czymś, co można określić mianem najbardziej spektakularnego „samobója” w historii bezpieczeństwa IoT, pewien inżynier oprogramowania niechcący uzyskał uprawnienia niemal boskie nad około 7 000 robotów sprzątających DJI w 24 krajach. Badacz, Sammy Azdoufal, wcale nie planował buntu maszyn; chciał po prostu sterować swoim nowym, absurdalnie drogim odkurzaczem DJI Romo za pomocą kontrolera do PlayStation 5. Bo w sumie, dlaczego by nie?

Aby zrealizować to marzenie każdego geeka, Azdoufal wykorzystał asystenta kodowania AI, który pomógł mu w inżynierii wstecznej protokołów komunikacyjnych robota. Po udanym wyodrębnieniu tokenu uwierzytelniającego własne urządzenie, połączył się z serwerami DJI. Jednak zamiast odpowiedzi od swojego samotnego, szorującego podłogi sługi, na wezwanie odpowiedziała mu armia blisko 7 000 robotów. Luka ta dała mu dostęp do podglądu z kamer i mikrofonów na żywo, planów mieszkań 2D w czasie rzeczywistym oraz statusu urządzeń tysięcy niczego niepodejrzewających właścicieli.

U podstaw problemu leżało komicznie proste, a jednocześnie katastrofalne niedopatrzenie w zabezpieczeniach. Serwery backendowe DJI poprawnie uwierzytelniały token użytkownika, ale najwyraźniej zapominały o kluczowym kolejnym kroku: weryfikacji, czy dany użytkownik faktycznie jest właścicielem konkretnego urządzenia, do którego próbuje się dobrać. W efekcie dowolny ważny klucz mógł otworzyć każde drzwi na planecie. Azdoufal zauważył, że „nie złamał żadnych zasad, niczego nie omijał, nie crackował ani nie używał brute force”, podkreślając, że po prostu przeszedł przez otwarte na oścież cyfrowe wrota.

Dlaczego to jest ważne?

Ten incydent to podręcznikowy przykład zagrożeń płynących z nowoczesnych urządzeń IoT, gdzie produkty mające intymny wgląd w nasze życie domowe – wyposażone w kamery i mikrofony – bywają zabezpieczone cyfrowym odpowiednikiem zamka na zapałkę. Choć potencjał gigantycznego, globalnego naruszenia prywatności był ogromny, Azdoufal zachował się odpowiedzialnie i zgłosił lukę producentowi.

Trzeba oddać firmie DJI, że zareagowała z imponującą prędkością. Po otrzymaniu zgłoszenia producent podobno załatał krytyczną lukę po stronie serwera w ciągu zaledwie dwóch dni, co nie wymagało żadnej interakcji ze strony użytkowników. Choć wciąż pozostają pytania o to, jak tak fundamentalny błąd w ogóle trafił do wersji produkcyjnej, błyskawiczna reakcja zapobiegła potencjalnej katastrofie. To cenna lekcja dla innych producentów IoT: zamykajcie drzwi i upewnijcie się, że wasze klucze nie pasują do zamków w całej dzielnicy.