Jeśli masz urządzenie Google Home, ale martwisz się o zawsze włączone mikrofony, Twoje obawy są uzasadnione.
Posiadanie w domu urządzenia, które zawsze słucha, jest obecnie dość częstym zjawiskiem, szczególnie w obliczu rosnącej liczby urządzeń Amazon Echo i serii Google Home. Chociaż są to niezwykle przydatne elementy technologii, nie są pozbawione obaw związanych z prywatnością. Mają zawsze aktywne mikrofony i łącze internetowe, co dla niektórych osób stanowi zbyt duże naruszenie prywatności, aby przebywać w domu. Badacz bezpieczeństwa Matt Kunze udowodnił, że te obawy mogą być uzasadnione, ponieważ udało mu się zamienić Google Home Mini w coś, co można w zasadzie określić jako podsłuch.
Chociaż lukę tę odkryto i przetestowano na urządzeniu Google Home Mini, Kunze twierdzi, że zakłada, że atak zadziałał podobnie w przypadku innych modeli inteligentnych głośników Google.
Inżynieria wsteczna Google Home Mini
Żądanie POST do punktu końcowego /deviceuserlinksbatch zidentyfikowane za pośrednictwem mitmproxy.
Połączenie konta z urządzeniem Google Home zapewnia nad nim dużą kontrolę, a „Procedury” urządzenia umożliwiają zdalne wykonywanie poleceń. Procedury są przydatne do wstępnego definiowania funkcjonalności w oparciu o określone warunki, ale mogą zostać nadużyte, jeśli istnieje możliwość zdalnego dostępu do urządzenia i kontrolowania go. Przykładem rutyny może być powiedzenie „Hej, Google, dzień dobry”, co spowoduje włączenie świateł i podanie pogody na dany dzień.
Kunze postanowił sprawdzić, czy osoba atakująca może powiązać własne konto Google z czyimś domem Google. Zasadniczo umożliwiłoby mu to wykorzystanie kontroli zapewnianej przez połączenie konta z urządzeniem i umożliwienie mu zdalnego wykonywania poleceń w czyjejś sieci.
Korzystanie z narzędzi takich jak proxy typu man-in-the-middle (mitmproxy) I Frida, mógł obserwować ruch pomiędzy aplikacją Google Home na smartfonie, a urządzeniem Google Home. Stamtąd odkrył, że można powiązać konto Google z urządzeniem, pobierając informacje o nim za pośrednictwem lokalnego interfejsu API, a następnie wysyłając żądanie do serwerów Google z informacjami umożliwiającymi połączenie. Kunze napisał skrypt w języku Python, który pobiera dane uwierzytelniające Google i adres IP, a następnie łączy konto Google z urządzeniem o podanym adresie IP.
Kiedy już miał kontrolę nad danym urządzeniem, mógł stworzyć dowolną procedurę i aktywować ją na połączonym urządzeniu. Można przywołać Asystenta, aby zadzwonił pod numer telefonu, co mógł zrobić w każdej chwili. Aby atak był jak najbardziej dyskretny, Kunze włączył także „tryb nocny”, który zmniejsza maksymalną głośność i jasność diody LED. Głośność muzyki pozostaje całkowicie niezmieniona, co zmniejsza prawdopodobieństwo, że użytkownik ją zauważy.
Jest jednak coraz gorzej, ponieważ nie musisz nawet znajdować się w tej samej sieci Wi-Fi, aby ten atak zadziałał: wystarczy bliskość urządzenia. Jeśli wyślesz pakiety cofnięcia uwierzytelnienia do urządzenia Google Home, zostanie ono uznane za awarię sieci i tworzy sieć Wi-Fi, dzięki czemu można się z nią ponownie połączyć i ponownie skonfigurować ją dla nowej sieci Wi-Fi sieć. Ramki cofania uwierzytelnienia (które są rodzajem ramek zarządzania) mogą być wysyłane poprzez wąchanie adresu IP i są trudne do zabezpieczenia, ponieważ sieci WPA2 nie szyfrują ramek zarządzania.
Jednak w ten sam sposób, w jaki możesz nadużyć lokalnego API urządzenia Google Home i połączyć je z Google konto, będąc w tej samej sieci Wi-Fi, możesz zrobić to samo po podłączeniu się do niej podczas konfiguracji tryb.
Zdalne słuchanie mikrofonu Google Home
Kunze napisał i przetestował szczegółowy dowód koncepcji wykorzystania Google Home Mini do szpiegowania kogoś.
- Utwórz konto Google „atakującego”.
- Znajdź się w bezprzewodowej bliskości Google Home.
- Rozpocznij wysyłanie pakietów cofnięcia uwierzytelnienia do Google Home.
- Połącz się z siecią konfiguracyjną Google Home.
- Wykonaj skrypt w języku Python, aby połączyć urządzenie z kontem Google atakującego.
- Zatrzymaj wysyłanie pakietów cofających uwierzytelnienie i poczekaj, aż urządzenie połączy się z Internetem.
- Możesz teraz wykonywać polecenia na urządzeniu Google Home, w tym nawiązywać połączenie z Twoim numerem telefonu.
Osoba atakująca może również zmusić urządzenie do wysyłania dowolnych żądań HTTP w sieci właściciela. Zwiększa to powierzchnię ataku, ponieważ osoba atakująca może próbować połączyć się z innymi urządzeniami w sieci, w tym z routerem.
Google naprawiło problem
Z drugiej strony, po tym, jak Kunze zgłosił to 8 stycznia 2021 r., Google w końcu to naprawił. Nie możesz już połączyć konta z urządzeniem Google Home bez zaproszenia z konta już z nim powiązanego i nie możesz już zdalnie dzwonić na numer telefonu za pomocą rutyny. Ponadto na urządzeniach z wyświetlaczem sieć utworzona przez urządzenie do konfiguracji jest chroniona przez WPA2 i do przyłączenia się wymagane jest hasło.
Chociaż luka ta została dopiero teraz ujawniona, nie jest wykluczone, że odkrył ją ktoś inny i sam ją wykorzystał. Jeśli martwisz się o urządzenia, które zawsze podsłuchują, jest to z pewnością uzasadnienie. Choćby Ten dany problem został naprawiony, nie oznacza to jednak, że w przyszłości nie będzie więcej luk w zabezpieczeniach.
Źródło: Matt Kunze