08/06/2018

Eksperyment: czy trudno jest szpiegować przy użyciu smartwatcha?

Projekt specjalny

Czy smartwatch może zostać użyty do szpiegowania swojego właściciela? Tak, niedawno to sprawdziliśmy: zainstalowana na smartfonie aplikacja szpiegująca może wysyłać dane pochodzące z wbudowanych czujników ruchu (np. akcelerometru i żyroskopu) na zdalny serwer, a następnie na podstawie tych danych tych można rozpoznać działania użytkownika — czy chodzi, siedzi, pisze itp.

Jak duże jest to zagrożenie w praktyce i jakie dane można uzyskać? Postanowiliśmy dowiedzieć się tego na własną rękę.

Eksperyment: czy na podstawie sposobu poruszania się smartwatcha można odczytać hasło?

Na początku zdecydowaliśmy się sprawdzić smartwatcha z Androidem. Napisaliśmy prostą aplikację służącą do przetwarzania i przesyłania danych z akcelerometru, a następnie przeanalizowaliśmy, co moglibyśmy z nich uzyskać. Więcej informacji na ten temat umieściliśmy w naszym pełnym raporcie (w języku angielskim).

Okazało się, że danych tych naprawdę można użyć do wywnioskowania, czy osoba, która nosi gadżet, chodzi czy siedzi. Co więcej, badając temat głębiej, można dowiedzieć się, czy osoba ta jest na spacerze, czy przesiada się do innego środka transportu — a to dlatego, że w każdym przypadku wzorce akcelerometru nieznacznie się różnią. Tak właśnie opaski fitnessowe rozróżniają np. chodzenie od jeżdżenia na rowerze.

Ponadto nietrudno można zorientować się, kiedy ktoś pisze na komputerze. Ale wywnioskowanie, co jest pisane, jest znacznie bardziej komplikowane, bo każdy ma własny sposób pisania. Ta sama fraza pisana przez różne osoby utworzy różne wykresy akcelerometru — a jedna osoba wprowadzająca hasło kilka razy z rzędu utworzy bardzo podobne grafy.

Skoro tak, to sieć neuronowa wytrenowana do rozpoznawania, jak dana osoba wprowadza tekst, może odczytać, co jest pisane. A jeśli ta sieć neuronowa zostanie wyszkolona do rozpoznawania akurat Twojego sposobu pisania, dane zbierane przez akcelerometr w smartwatchu na Twoim nadgarstku mogą zostać użyte do rozpoznania hasła na podstawie ruchów Twojej ręki.

Jednak aby proces uczenia był skuteczny, sieć neuronowa musiałaby śledzić Cię przez dosyć długi czas. Procesory umieszczane w nowoczesnych gadżetach przenośnych nie są wystarczająco mocne, aby bezpośrednio mogła na nich działać sieć neuronowa, dlatego dane muszą zostać wysłane na serwer.

I tu pojawia się kłopot dla potencjalnego szpiega: nieustanne przesyłanie odczytów akcelerometru zużywa sporo transferu i wyczerpuje baterię smartwatcha w zaledwie kilka godzin (a mówiąc dokładniej — 6 w naszym przypadku). Oba te charakterystyczne znaki łatwo dostrzec, co z pewnością wzbudzi podejrzenia właściciela. Jednak obie oznaki można łatwo zminimalizować poprzez selektywne zbieranie danych, np. gdy obserwowana osoba przybywa do pracy, gdzie z pewnością będzie wprowadzać hasło.

Mówiąc w skrócie, Twój smartwatch może zostać wykorzystany do zidentyfikowania, co wpisujesz. Ale jest to trudne zadanie, a dokładne wytypowanie wymaga powtarzania wprowadzanego tekstu. W naszym eksperymencie mogliśmy odgadnąć hasło do komputera z 96% dokładnością oraz kod PIN wprowadzany w bankomacie z 87% dokładnością.

Mogło być gorzej

Jednak dla cyberprzestępców takie dane nie są byt przydatne. Aby je wykorzystać, potrzebowaliby dostępu do komputera lub karty kredytowej. Określenie numeru karty kredytowej czy kodu CVC jest znacznie trudniejsze.

Dlaczego? Po powrocie do miejsca pracy pierwszą rzeczą, jaką wpisuje właściciel smartwatcha, jest niemal na pewno hasło służące do odblokowania komputera. Wykres akcelerometru wskaże najpierw chodzenie, a potem wprowadzanie tekstu. Na podstawie danych uzyskanych tylko dla tego krótkiego czasu można potencjalnie odgadnąć hasło.

Ale osoba ta nie wprowadzi numeru  karty kredytowej, dopóki nie usiądzie — albo wstanie i odejdzie natychmiast po wprowadzeniu tych danych. Co więcej, nikt nie poda takich informacji kilka razy w krótkim przedziale czasu.

Aby ukraść wprowadzane informacje przy użyciu smartwatcha, atakujący potrzebują przewidywalnej aktywności oraz kilkukrotnego wprowadzania danych. Nawiasem mówiąc, właśnie dlatego nie warto używać tego samego hasła dla różnych serwisów.

Kto powinien zainteresować się wynikami naszego badania?

Jak pokazali nasi badacze, dane uzyskane z czujnika akcelerometru smartwatcha mogą zostać wykorzystane do odgadnięcia informacji o osobie, która nosi urządzenie: jej poruszaniu się, zwyczajach, niektórych wprowadzanych informacjach (np. haśle do laptopa).

Zainfekowanie smartwatcha szkodliwym programem wydobywającym dane może umożliwić cyberprzestępcom zdobycie tych informacji w dosyć prosty sposób. Muszą tylko napisać aplikację (np. modny zegar lub program śledzący aktywność fitnessową), dodać do niej funkcję odczytu danych akcelerometru, a następnie umieścić ją w sklepie Google Play. Teoretycznie taka aplikacja nie zostanie wykryta przez skanowanie jako szkodliwe oprogramowanie, gdyż w sposobie jej działania nie ma z pozoru nic szkodliwego.

Czy trzeba się przejmować tym, że ktoś może nas szpiegować w ten sposób? Tylko wtedy, jeśli ten ktoś naprawdę może mieć ku temu powody. Zwykli oszuści wolą raczej łatwiejsze zadania.

Jeśli jednak hasło do Twojego komputera lub informacje o drodze do pracy są dla kogoś cenne, smartwatch może stać się narzędziem do śledzenia. W takim przypadku podpowiadamy, jak się chronić:

  • Zwracaj uwagę, czy Twój smartwatch zużywa sporo danych oraz czy bateria nie rozładowuje się zbyt szybko.
  • Nie nadawaj aplikacjom zbyt wielu uprawnień. Zwłaszcza uważaj na takie, które chcą uzyskać informacje o koncie i współrzędne geograficzne. Jeśli nie udostępnisz atakującym tych danych, utrudnisz im ustalenie, że smartwatch, który zainfekowali, należy właśnie do Ciebie.
  • Zainstaluj rozwiązanie bezpieczeństwa na swoim smartfonie, które wykryje szpiegujące szkodliwe oprogramowanie, zanim zacznie ono swoje działania.