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.