Ten artykuł wprowadza Android Forensics i techniki używane do przeprowadzania dochodzeń Android Forensic. Omówimy systemy plików Androida, pozyskiwanie danych, analizę i różne narzędzia dostępne do ekstrakcji danych Androida.
Wprowadzenie
Rynek smartfonów rośnie coraz wyżej. Z drastycznych zmian w technologii, smartfony stają się celem przestępców. Ze względu na fakt, że większość ludzi jest całkowicie uzależniona od urządzeń mobilnych, aby wykonywać nasze codzienne zadania, począwszy od ustawienia przypomnienia, aby życzyć naszym drogim dobrze na specjalne okazje, do transakcji bankowych online, urządzenia mobilne zawierają wiele wrażliwych danych, które są przedmiotem zainteresowania śledczych. Ponieważ Android jest jednym z wiodących systemów operacyjnych smartfonów, ważne jest, aby mieć wiedzę na temat Android forensics.
Android forensics różni się od zwykłego dysku forensics z różnych powodów. Obsługuje on różne systemy plików, które są specyficzne dla Androida. Możemy szukać następujących danych na urządzeniach z systemem Android: SMS, MMS, e-maile, dzienniki połączeń, kontakty, zdjęcia, kalendarze, notatki, historia przeglądarki, lokalizacje GPS, hasła, dane przechowywane na kartach SD, itp.
Ważne jest, aby zrozumieć systemy plików, struktury katalogów oraz jak i gdzie dane są przechowywane na urządzeniach, zanim przejdziemy do rzeczywistej forensics.
Struktura katalogów Androida
Android ma strukturę katalogów specyficzną dla niego. Możemy spojrzeć na strukturę katalogów urządzenia za pomocą „adb shell”. Możliwe jest również obejrzenie struktury katalogów urządzenia za pomocą DDMS. Poniższy rysunek pokazuje system plików mojego urządzenia „Sony Xperia E” przy użyciu „adb shell”.
Powyższy rysunek pokazuje wiele plików i folderów na bieżącym urządzeniu. Najważniejsze lokalizacje dla analityka kryminalistycznego to /system, /data, /sdcard, /ext_card.
/system: Zawiera dane specyficzne dla systemu operacyjnego.
Jak widzimy na powyższym rysunku, katalog ten zawiera różne podkatalogi przechowujące informacje o aplikacjach systemowych, czcionkach, bibliotekach, plikach wykonywalnych itp.
/data: Zawiera dane specyficzne dla użytkownika, takie jak dane przechowywane przez aplikację SMS. Możemy zobaczyć pliki wykonywalne każdej aplikacji zainstalowanej w katalogu „/data/app”. Wymaga to uprawnień roota, co oznacza, że użytkownik bez zrootowanego urządzenia nie może zobaczyć zawartości tego katalogu. Poniższy rysunek pokazuje, jak pliki binarne każdej zainstalowanej aplikacji mogą być widoczne na urządzeniu (dane wyjściowe są obcięte).
Dane użytkownika znajdują się w katalogu „/data/data//”. Ze względów bezpieczeństwa, dane w każdym z tych katalogów nie są dostępne dla innych aplikacji.
/sdcard i /ext_card: W tym konkretnym przypadku dostaliśmy sdcard dla wewnętrznej pamięci masowej i ext_card dla zewnętrznej pamięci masowej. Zazwyczaj, sdcard jest podana do zewnętrznej pamięci masowej. Są one używane do przechowywania danych użytkownika, takich jak obrazy, pliki muzyczne, filmy itp.
Systemy plików Androida
Mając podstawową wiedzę na temat systemów plików Android jest zawsze dobry przed nurkowaniem w Android forensics. To dlatego, że Android ma wsparcie dla różnych systemów plików. Główna partycja systemu plików Androida jest często partycjonowana jako YAFFS2 (Yet Another Flash File System). YAFFS2 jest specjalnie zaprojektowany dla systemów wbudowanych, takich jak smartfony. Zapewnia on większą efektywność i wydajność.
Aby zobaczyć listę obsługiwanych systemów plików, możemy użyć następującego polecenia na „adb shell”.
„cat /proc/filesystems”
Jak widać na powyższym rysunku, dostaliśmy listę systemów plików obsługiwanych przez urządzenie. Wpis „nodev” obok systemu plików oznacza, że nie ma fizycznego urządzenia powiązanego z tym konkretnym systemem plików. Android obsługuje systemy plików ext2, ext3 i ext4 (używane przez systemy Linux) oraz system plików vfat używany przez systemy oparte na Windows. Ponieważ jest skierowany do urządzeń mobilnych, Android obsługuje systemy plików YAFFS i YAFFS2, ponieważ wymaga obsługi chipów NAND używanych w tych urządzeniach.
System plików Androida jest podzielony na różne partycje. Aby zobaczyć różne partycje, które są zamontowane na urządzeniu z systemem Android, możemy uzyskać powłokę na urządzeniu i wykonać następujące polecenie: „mount”. Jest to pokazane na poniższym rysunku.
Jak widzimy na powyższym rysunku, istnieją różne partycje zamontowane na urządzeniu.
Jeśli obserwujemy powyższy rysunek, istnieje kilka ważnych partycji systemu plików, takich jak /system, /cache, /data używających ext4 jako typ systemu plików, a nie YAFFS. Jest to spowodowane tym, że począwszy od Gingerbread, Android zastąpił system plików YAFFS systemem plików ext4.
Metody pozyskiwania danych
Pozyskiwanie danych jest procesem wyodrębniania danych z dowodów. Jak omówiliśmy wcześniej, akwizycja danych na urządzeniach mobilnych nie jest tak prosta jak standardowa akwizycja kryminalistyczna z dysku twardego. Techniki pozyskiwania danych są szeroko podzielone na następujące rodzaje.
Akwizycja manualna:
Badacz korzysta z interfejsu użytkownika urządzenia mobilnego w celu zbadania zawartości. Podczas przeglądania urządzenia, egzaminator robi zdjęcia każdego ekranu. Metoda ta nie wymaga żadnych narzędzi do pozyskiwania danych. Oprócz zalet, największą wadą tej metody jest to, że można odzyskać tylko dane widoczne dla użytkowników w telefonie i oczywiście jest ona czasochłonna.
Akwizycja fizyczna:
Podobny do procesu fizycznej akwizycji w standardowej cyfrowej kryminalistyce, proces fizycznej akwizycji na urządzeniach mobilnych tworzy bit po bicie kopię całego systemu plików. Tworzy kopię całego systemu plików, który zawiera dane obecne na urządzeniu, w tym usunięte dane i nieprzydzielone miejsce.
Pozyskiwanie logiczne:
Pozyskiwanie logiczne pozyskuje informacje z urządzenia przy użyciu interfejsu programowania aplikacji producenta oryginalnego sprzętu do synchronizacji zawartości telefonu z komputerem osobistym.
Większość narzędzi dostępnych za darmo wykonuje Pozyskiwanie logiczne. Pozyskiwanie Logiczne jest procesem wydobywania danych dostępnych dla użytkowników urządzenia, a więc nie może pozyskiwać danych usuniętych lub znajdujących się w nieprzydzielonej przestrzeni. Powyższe stwierdzenie ma ograniczenia w niektórych przypadkach.
Imaging an SD card with FTK Imager
FTK Imager można pobrać z następującego linku. http://www.accessdata.com/support/product-downloads
Ważne jest, aby uzyskać kopię karty SD telefonu bit po bicie, ponieważ może ona być wykorzystana jako cenny skarb danych podczas śledztwa. Jako najlepszą praktykę, musimy użyć blokady zapisu, aby zachować integralność dowodów.
Karty SD zazwyczaj mają system plików FAT32. Tak więc, możemy użyć tradycyjnych narzędzi do obrazowania i uzyskać obraz karty SD. W tej sekcji, mamy zamiar użyć popularnego narzędzia znany jako FTK Imager, aby uzyskać obraz karty SD.
Oto kroki:
- Bezpiecznie usunąć kartę SD z urządzenia mobilnego i podłączyć go do stacji roboczej za pomocą czytnika kart.
-
Uruchom FTK Imager narzędzie. Pojawia się ono w sposób pokazany na rysunku poniżej.
-
Teraz przejdź do „Plik” i kliknij „Utwórz obraz dysku”, jak pokazano poniżej.
Powyższy krok otwiera nowe okno, aby wybrać typ akwizycji.
Ponieważ próbujemy utworzyć obraz całej karty SD, wybrałem „Dysk fizyczny”. To otwiera nowe okno, aby wybrać dysk fizyczny, jak pokazano poniżej.
Wybrałem „PHYSICALDRIVE 2” z 1GB, który w naszym przypadku jest karta SD. Po wybraniu odpowiedniej opcji klikamy finish. Wyświetla kolejne okno, w którym możemy dodać miejsce docelowe, jak również typ obrazu do utworzenia.
Po kliknięciu przycisku „Add”, otwiera nowe okno do wyboru typu obrazu docelowego.
W naszym przypadku wybieramy „Raw”, co daje obraz „dd”. W przeciwieństwie do innych formatów obrazu, takich jak „E01”, „dd” obraz nie będzie przechowywać swoje metadane w obrazie. Po kliknięciu na przycisk „Next” pojawia się kolejne okno, w którym FTK Imager prosi o podanie informacji o materiale dowodowym. Możemy wypełnić odpowiednie dane i kliknąć „next” lub pominąć je, jeśli robimy to jako ślad.
Jak widać na powyższym rysunku, podaliśmy ścieżkę docelową i nazwę pliku wyjściowego. Na koniec klikamy finish, aby rozpocząć obrazowanie.
Klikamy „start”, aby rozpocząć proces.
-
Po zakończeniu procesu, FTK Imager wyświetla nowe okno, w którym pokazuje wyniki weryfikacji hash. Jest to pokazane na poniższym rysunku.
Teraz utworzony obraz może być dalej analizowany przy użyciu tradycyjnych narzędzi analizy kryminalistycznej.
Obrazowanie systemu plików Androida:
W tej sekcji zobaczymy, jak przeprowadzić akwizycję danych partycji systemu plików Androida.
Uwaga: aby wykonać poniższy proces, urządzenie musi być zrootowane.
Do wykonania naszej pracy wykorzystamy popularne narzędzie „dd”. „dd” jest obecne w Androidzie domyślnie w lokalizacji „/system/bin”. Pokazuje to poniższy rysunek.
Spójrzmy teraz na lokalizacje interesujących nas partycji używając polecenia mount.
Poniżej znajduje się wpis związany z partycją „/data” z powyższego wyjścia.
/dev/block/platform/msm_sdcc.3/by-num/p16 /data ext4 rw,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
Więc, użyjmy następującego polecenia, aby wyodrębnić tę konkretną partycję używając „dd”.
dd if=/dev/block/platform/msm_sdcc.3/by-num/p16 of=/mnt/sdcard/output.img
Powyższe polecenie jest wyjaśnione poniżej.
if = plik wejściowy
of = plik wyjściowy do utworzenia
output.img = nazwa obrazu wyjściowego, który ma zostać utworzony.
Możemy nawet określić rozmiar bloku używając opcji „bs” w dd.
Po zakończeniu powyższego procesu, możemy wyciągnąć ten plik za pomocą narzędzi takich jak Droid Explorer. Możemy to nawet zrobić używając polecenia adb pull.
Poniższy zrzut ekranu pokazuje polecenie wyciągnięcia obrazu na naszą stację roboczą używając polecenia adb pull.
Teraz, możemy użyć tego obrazu do dalszej analizy urządzenia.