Metody ekstrakcji danych z urządzeń „wearable” na przykładzie Google Glass

W ostatnich latach nastąpił prawdziwy wysyp nowych i interesujących technologii, które starają się zmieniać świat. Takie technologie znajdują zastosowanie w akcesoriach typu “wearable”, czyli urządzeniach elektronicznych w formie zegarków, biżuterii. Przykładami takich urządzeń są „Apple Watch” (od firmy Apple), platforma „AndroidWear” czy okulary „Google Glass”.

Wraz ze wzrostem ich popularności oraz udziału w rynku, powstaje również rosnące zapotrzebowanie na odzyskiwanie danych z tego typu urządzeń, które w istocie są niczym innym jak miniaturowymi komputerami wraz z systemem operacyjnym, aplikacjami oraz danymi.

Google Glass ujrzały światło dzienne w roku 2013, i choć dwa lata później zakończono ich produkcję, wiedza na temat ekstrakcji danych z tego typu urządzeń nie stała się bezwartościowa.

Urządzenia Google Glass pracują analogicznie jak telefony Android: warstwa sprzętowa pozostaje pod kontrolą jądra Linux, które stanowi bazę dla zmodyfikowanej wersji systemu operacyjnego Android o nazwie „Glass OS”.

Jeśli chodzi o implementację sprzętową Google Glass pracuje pod procesorem z architekturą ARM32, posiada 1 GB pamięci RAM oraz 16 GB powierzchni dyskowej typu flash (kość pamięci).

Ekstrakcja danych

Można wyróżnić dwie głowne metody ekstrakcji danych z tego typu urządzeń: ekstrakcja przy pomocy oprogramowania oraz ekstrakcja sprzętowa.

Ekstrakcja przy pomocy oprogramowania możliwa jest na kilka sposobów:

  • Poprzez użycie typowych narzędzi ekosystemu Linux – tzw. „Android Debug Bridge” (ADB). Proces polega na przeprowadzeniu po-sektorowego zrzutu zawartości kości eMMC stanowiącej powierzchnię dyskową tego urządzenia.
  • Wygenerowanie zrzutów obrazu pamięci z poziomu ADB przy pomocy dumpsys oraz odpowiednich skryptów.
  • Użycie oficjalnego narzędzia Android Debug Bridge Backup, który jednak nie zrzuca całego obrazu pamięci dyskowej a tylko jego część.

Ekstrakcja danych przy pomocy sprzętu:

  • Dokonanie zrzutu danych bezpośrednio z czipu eMMC poprzez bezpośrednie połączenie kablami odpowiednich linii wejścia/wyjścia (Command, Clock, VDD, VSS, Data0), a następnie zainicjowanie tzw. „1-bit bus Single Data Rate”, który pozwoli na transmisje danych z chipa bit po bicie.
  • Ekstrakcja przy pomocy specjalistycznego toolkita specjalnie zaprojektowanego dla przeprowadzenia zrzutów pamięci z kości. Przykładem takiego rozwiązania jest „MTKII”

Warto zaznaczyć, iż podpięcie urządzenia typu JTAG, pozwalającego na analizę informacji pochodzących zarówno z pamięci, jak i procesora nie jest w tym wypadku możliwe, gdyż Google Glass nie posiada portu JTAG.

Wyżej wymienione techniki znajdują zastosowanie przy ekstrakcji danych z urządzeń „wearable” również w laboratoriach informatyki śledczej. Kwestie dotyczące analizy wyekstraktowanych danych binarnych są tematem wartym rozprawy i z pewnością zostaną poruszone w przyszłości w osobnym artykule.

Galeria