W trakcie eksperymentu Giese i Wegemer z zaskoczeniem odkryli, że odkurzacz Xiaomi ma znacznie potężniejszy sprzęt niż niejeden smartfon: jest on wyposażony w trzy procesory ARM, z których jeden jest czterordzeniowy. Brzmi obiecująco, prawda? Aby zhakować system, badacze użyli kilku popularnych wektorów ataków.


Podczas swojego wystąpienia na Chaos Communication Congress 34, które miało niedawno miejsce w Lipsku, badacze wyjaśnili, jak działa oprogramowanie urządzenia oraz które luki zostały przez nich wykorzystane, aby złamać jego zabezpieczenia.

W trakcie eksperymentu Giese i Wegemer z zaskoczeniem odkryli, że odkurzacz Xiaomi ma znacznie potężniejszy sprzęt niż niejeden smartfon: jest on wyposażony w trzy procesory ARM, z których jeden jest czterordzeniowy. Brzmi obiecująco, prawda? Aby zhakować system, badacze użyli kilku popularnych wektorów ataków.

Najpierw sprawdzili, czy istnieje jakiś sposób podłączenia się z odkurzaczem przez port micro USB. To był jednak ślepy zaułek: Xiaomi zabezpieczył to połączenie autoryzacją. Następnie badacze rozkręcili sprzęt Mi Robot i zaczęli szukać portu szeregowego na płycie głównej. Ta próba również zakończyła się niepowodzeniem.

Druga metoda zhakowania obejmowała wykorzystanie sieci. Badacze sprawdzili porty sieciowe urządzenia — wszystkie były zamknięte. Nie pomogła również analiza ruchu sieciowego: komunikacja robota była zaszyfrowana. To zrobiło wrażenie również i na mnie: większość pozostałych urządzeń Internetu Rzeczy zostałoby już zhakowane, gdyż ich autorzy zwykle nie posuwają się aż tak daleko w kwestii bezpieczeństwa. Jak pokazało nasze niedawne badanie, urządzenia posiadające dostęp do internetu są niezwykle podatne na zagrożenia.

Wróćmy do tematu odkurzacza Xiaomi Mi Robot. W kolejnym etapie badacze obrali za cel elementy sprzętowe odkurzacza. I to był strzał w dziesiątkę — korzystając z folii aluminiowej, doprowadzili do wystąpienia zwarcia na maleńkich stykach łączących procesor z płytą główną. W efekcie procesor przeszedł w specjalny tryb, który umożliwiał odczyt i zapis w pamięci flash bezpośrednio poprzez połączenie USB.

W ten sposób Giese i Wegemer zdobyli oprogramowanie układowe odkurzacza Mi Robot, dokonali na nim inżynierii wstecznej, zmodyfikowali je oraz wgrali z powrotem, uzyskując nad nim pełną kontrolę.

Hakowanie odkurzacza Mi Robot w sposób bezprzewodowy

Jednak pokonywanie otwartego sprzętu nie jest tak fajne jak hakowanie nieinwazyjne. Po przeprowadzeniu inżynierii wstecznej oprogramowania urządzenia badacze sprawdzili, jak go zhakować przy użyciu samej sieci Wi-Fi — oraz znaleźli kilka luk w mechanizmie aktualizacji oprogramowania.

Firma Xiaomi zastosowała całkiem niezłą procedurę aktualizacji oprogramowania układowego: jest ono dostarczane poprzez połączenie szyfrowane. Co więcej, paczka zawierająca oprogramowanie także jest zaszyfrowana. Jedynym minusem był fakt, że użyto hasła statycznego — „rockrobo”, co umożliwiło badaczom utworzenie odpowiednio zaszyfrowanego pakietu zawierającego ich własne oprogramowanie.

Korzystając z klucza zabezpieczeń (który uzyskali dzięki aplikacji na smartfony Xiaomi), badacze wysłali do odkurzacza żądanie pobrania i zainstalowania nowego oprogramowania — lecz nie z chmury Xiaomi, a z ich własnego serwera. W ten sposób zhakowali urządzenie ponownie, choć tym razem bezprzewodowo.

Co zawiera oprogramowanie zastosowane w odkurzaczu Mi Robot?

Sprawdzając oprogramowanie układowe, Giese i Wegemer odkryli wiele ciekawych rzeczy. Po pierwsze, oprogramowaniem układowym odkurzacza Mi Robot jest Ubuntu Linux, które jest regularnie i szybko łatane. Po drugie, dla każdego użytkownika używane jest inne hasło superużytkownika, co eliminuje ryzyko masowego zhakowania wielu odkurzaczy naraz przy użyciu jednego hasła głównego. I po trzecie, w systemie istnieje zapora sieciowa blokująca wszystkie porty, które mogłyby potencjalnie zostać użyte przez hakerów. Czapki z głów dla Xiaomi: w standardach Internetu Rzeczy to zaskakująco dobra ochrona.

Jednak nic nie jest doskonałe — także i w tej sytuacji znalazło się to coś, co nie jest powodem do dumy. Urządzenie gromadzi i przesyła do chmury Xiaomi sporą ilość danych — kilka megabajtów dziennie. Pomijając to, co można w jakiś sposób uzasadnić, np. dane telemetryczne dotyczące działania urządzenia, wśród przesyłanych danych znajdują się też m.in. nazwy i hasła sieci Wi-Fi, z którymi urządzenie się łączy, a także mapy pomieszczeń, które tworzy przy użyciu wbudowanego laserowego czujnika odległości (lidara). Co jeszcze bardziej niepokojące, dane te zostają w systemie na zawsze, nawet po przywróceniu w ustawień fabrycznych. Zatem jeśli ktoś kupi używany odkurzacz Xiaomi w serwisie eBay i zdejmie jego zabezpieczenia, może z łatwością uzyskać te informacje.

Warto podkreślić, że obie techniki umożliwiły badaczom zhakowanie tylko tego urządzenia, którym dysponowali. Pierwszy sposób wymagał fizycznego dostępu do odkurzacza, a w przypadku drugiego — musieli uzyskać klucz zabezpieczający, aby utworzyć żądanie aktualizacji. Klucze te są unikatowe i są generowane za każdym razem, gdy urządzenie łączy się z aplikacją mobilną. Nie jest łatwo je uzyskać bez dostępu do smartfona, który jest połączony z wybranym urządzeniem Xiaomi.

Ogólnie nie wygląda na to, że Xiaomi przyczyni się do upadku Internetu Rzeczy. Przeciwnie: badanie pokazuje, że firma ta wkłada znacznie więcej wysiłku w bezpieczeństwo niż większość innych producentów urządzeń inteligentnych, a to daje nadzieję na lepszą przyszłość. Zhakować można niemal wszystko, ale jeśli wymaga to wiele wysiłku, jest mniej prawdopodobne, że ktoś się tym zainteresuje — przestępcy zwykle lubią łatwe pieniądze.

Autor: Alex Drozhzhin, z Kaspersky Lab