Acest articol prezintă criminalistica Android și tehnicile utilizate pentru a efectua investigații criminalistice Android. Vom discuta despre sistemele de fișiere Android, achiziția de date, analiza și diverse instrumente disponibile pentru extragerea datelor Android.
Introducere
Piața telefoanelor inteligente crește din ce în ce mai mult. Odată cu schimbările drastice din tehnologie, telefoanele inteligente devin țintele infractorilor. Din cauza faptului că majoritatea oamenilor sunt complet dependenți de dispozitivele mobile pentru a ne îndeplini sarcinile zilnice, de la setarea unui memento pentru a le ura succes celor dragi la ocazii speciale, până la tranzacții bancare online, dispozitivele mobile conțin o mulțime de date sensibile care prezintă interes pentru un investigator. Deoarece Android este unul dintre cele mai importante sisteme de operare pentru telefoane inteligente, este important să avem cunoștințe de criminalistică Android.
Cercetarea criminalisticii Android este diferită de criminalistica obișnuită a discurilor din diverse motive. Acesta suportă diverse sisteme de fișiere care sunt specifice Android. Putem căuta următoarele date pe dispozitivele Android: SMS, MMS, e-mailuri, jurnale de apeluri, contacte, fotografii, calendare, note, istoricul browserului, locații GPS, parole, date stocate pe carduri SD etc.
Este important să înțelegem sistemele de fișiere, structurile de directoare și cum și unde sunt stocate datele pe dispozitive înainte de a intra în criminalistica propriu-zisă.
Structura directoarelor Android
Android are o structură de directoare care îi este specifică. Ne putem uita la structura de directoare a dispozitivului folosind „adb shell”. De asemenea, este posibil să vedem structura de directoare a dispozitivului folosind DDMS. Următoarea figură arată sistemul de fișiere al dispozitivului meu „Sony Xperia E” folosind „adb shell”.
Figura de mai sus arată multe fișiere și foldere de pe dispozitivul curent. Cele mai importante locații pentru un analist criminalistic sunt /system, /data, /sdcard, /ext_card.
/system: Conține date specifice sistemului de operare.
După cum putem vedea în figura de mai sus, acest director conține diverse subdirectoare care conțin informații despre aplicațiile de sistem, fonturi, biblioteci, executabile etc.
/data: Acesta conține date specifice utilizatorului, cum ar fi datele stocate de o aplicație SMS. Putem vedea fișierele executabile ale fiecărei aplicații instalate în directorul „/data/app”. Acest lucru necesită privilegii de root, ceea ce înseamnă că un utilizator care nu are un dispozitiv înrădăcinat nu poate vedea conținutul acestui director. Următoarea figură arată modul în care poate fi văzut binarul fiecărei aplicații instalate pe dispozitiv (ieșirea este trunchiată).
Datele utilizatorului rezidă în directorul „/data/data//”. Din motive de securitate, datele din fiecare director nu pot fi accesate de alte aplicații.
/sdcard și /ext_card: În acest caz specific, avem sdcard pentru stocare internă și ext_card pentru stocare externă. De obicei, sdcard este dat pentru stocarea externă. Acestea sunt utilizate pentru a stoca date ale utilizatorului, cum ar fi imagini, fișiere muzicale, videoclipuri etc.
Sistemele de fișiere Android
Averea unor cunoștințe de bază despre sistemele de fișiere Android este întotdeauna bună înainte de a te scufunda în criminalistica Android. Acest lucru se datorează faptului că Android are suport pentru diferite sisteme de fișiere. Partiția principală a sistemului de fișiere Android este adesea partiționată ca YAFFS2 (Yet Another Flash File System). YAFFS2 este conceput special pentru sistemele încorporate, cum ar fi telefoanele inteligente. Acesta oferă o mai mare eficiență și performanță.
Pentru a vedea lista sistemelor de fișiere acceptate, putem utiliza următoarea comandă pe „adb shell”.
„cat /proc/filesystems”
După cum putem vedea în figura de mai sus, am obținut o listă a sistemelor de fișiere acceptate de dispozitiv. Intrarea „nodev” de lângă sistemul de fișiere indică faptul că nu există un dispozitiv fizic asociat cu acel sistem de fișiere specific. Android acceptă sistemele de fișiere ext2, ext3 și ext4 (utilizate de sistemele Linux) și sistemul de fișiere vfat utilizat de sistemele bazate pe Windows. Deoarece este destinat dispozitivelor mobile, Android suportă sistemele de fișiere YAFFS și YAFFS2, deoarece necesită suportul cipurilor NAND utilizate în aceste dispozitive.
Sistemul de fișiere al lui Android este împărțit în diferite partiții. Pentru a vedea diferitele partiții care sunt montate pe un dispozitiv Android, putem obține un shell pe dispozitiv și executa următoarea comandă: „mount”. Acest lucru este prezentat în figura următoare.
După cum putem vedea în figura de mai sus, există diferite partiții montate pe dispozitiv.
Dacă observăm figura de mai sus, există câteva partiții importante ale sistemului de fișiere, cum ar fi /system, /cache, /data, care utilizează ext4 ca tip de sistem de fișiere, mai degrabă decât YAFFS. Acest lucru se datorează faptului că, începând cu Gingerbread, Android a înlocuit sistemul de fișiere YAFFS cu ext4.
Metode de achiziție a datelor
Achiziția datelor este procesul de extragere a datelor din probe. După cum am discutat anterior, achiziția de date pe dispozitivele mobile nu este la fel de simplă ca achiziția criminalistică standard de pe un hard disk. Aceste tehnici de achiziție a datelor sunt împărțite, în linii mari, în următoarele tipuri:
Achiziția manuală:
Examinatorul utilizează interfața de utilizator a dispozitivului mobil pentru a investiga conținutul. În timp ce navighează pe dispozitiv, examinatorul face fotografii ale fiecărui ecran. Această metodă nu necesită niciun instrument pentru a efectua achiziția de date. În afară de avantaje, cel mai mare dezavantaj al acestei metode este că pot fi recuperate doar datele vizibile pentru utilizatori de pe telefon și, evident, necesită mult timp.
Achiziția fizică:
Similar cu procesul de achiziție fizică în cazul criminalisticii digitale standard, procesul de achiziție fizică pe dispozitive mobile creează o copie bit cu bit a unui întreg sistem de fișiere. Acesta creează o copie a întregului sistem de fișiere care conține datele prezente pe un dispozitiv, inclusiv datele șterse și spațiul nealocat.
Achiziția logică:
Extragerea logică dobândește informații de pe dispozitiv folosind interfața de programare a aplicațiilor producătorului original al echipamentului pentru sincronizarea conținutului telefonului cu un computer personal.
Majoritatea instrumentelor disponibile gratuit realizează achiziția logică. Achiziția logică este procesul de extragere a datelor care sunt accesibile utilizatorilor dispozitivului și, prin urmare, nu poate achiziționa date șterse sau date din spațiul nealocat. Afirmația de mai sus are limitări în unele cazuri.
Imagazinarea unui card SD cu FTK Imager
FTK Imager poate fi descărcat de la următorul link. http://www.accessdata.com/support/product-downloads
Este important să obțineți o copie bit cu bit a cardului SD al telefonului, deoarece acesta poate fi folosit ca o comoară valoroasă de date în timpul investigațiilor. Ca o bună practică, trebuie să folosim un blocant de scriere pentru a menține integritatea probelor.
Cardurile SD sunt, în general, din sistemul de fișiere FAT32. Așadar, putem utiliza instrumente tradiționale de imagistică și putem achiziționa imaginea cardului SD. În această secțiune, vom folosi un instrument popular cunoscut sub numele de FTK Imager pentru a obține imaginea cardului SD.
Iată pașii:
- Îndepărtați în siguranță cardul SD de pe dispozitivul mobil și conectați-l la stația de lucru folosind un cititor de carduri.
-
Lansați instrumentul FTK Imager. Acesta apare așa cum se arată în figura de mai jos.
-
Acum, navigați la „File” și faceți clic pe „Create Disk Image”, așa cum se arată mai jos.
Pasul de mai sus deschide o nouă fereastră pentru a selecta tipul de achiziție.
Din moment ce încercăm să creăm o imagine a cardului SD complet, am ales „Physical Drive”. Se deschide o nouă fereastră pentru a selecta unitatea fizică, după cum se arată mai jos.
Am ales „PHYSICALDRIVE 2” de 1GB, care în cazul nostru este cardul SD. După selectarea opțiunii corespunzătoare, faceți clic pe Terminare. Se afișează o altă fereastră în care putem adăuga destinația, precum și tipul de imagine care urmează să fie creată.
După ce facem clic pe butonul „Add” (Adaugă), se deschide o nouă fereastră pentru a selecta tipul de imagine de destinație.
În cazul nostru, am ales „Raw” care oferă o imagine „dd”. Spre deosebire de alte formate de imagine, cum ar fi „E01”, imaginea „dd” nu va stoca metadatele sale în imagine. La apăsarea butonului „Next” (Următorul), se afișează o altă fereastră în care FTK Imager solicită informații despre elementul de probă. Putem să completăm detaliile corespunzătoare și să facem clic pe „next” (Următorul) sau să o sărim dacă o facem ca traseu.
După cum putem vedea în figura de mai sus, am furnizat calea de destinație și numele fișierului de ieșire. În cele din urmă, faceți clic pe „finish” pentru a începe crearea imaginii.
Clic pe „start” pentru a începe procesul.
-
După finalizarea procesului, FTK Imager afișează o nouă fereastră în care prezintă rezultatele verificării hash. Aceasta este prezentată în figura de mai jos.
Acum, imaginea creată poate fi analizată în continuare cu ajutorul instrumentelor tradiționale de analiză criminalistică.
Imaginea sistemului de fișiere Android:
În această secțiune, vom vedea cum să realizăm achiziția de date a partițiilor sistemului de fișiere Android.
Nota: pentru a urma procesul de mai jos, dispozitivul trebuie să fie înrădăcinat.
Vom folosi popularul instrument „dd” pentru a ne face treaba. „dd” este prezent în Android în mod implicit în locația „/system/bin”. Acest lucru este prezentat în figura următoare.
Acum, să ne uităm la locațiile partițiilor care ne interesează folosind comanda mount.
În cele ce urmează este intrarea asociată cu partiția „/data” din ieșirea de mai sus.
/dev/block/platform/msm_sdcc.3/by-num/p16 /data ext4 ext4 rw,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
Deci, să folosim următoarea comandă pentru a extrage această partiție particulară folosind „dd”.
dd if=/dev/block/platform/msm_sdcc.3/by-num/p16 of=/mnt/sdcard/output.img
Comanda de mai sus este explicată mai jos.
if = fișierul de intrare
of = fișierul de ieșire care urmează să fie creat
output.img = numele imaginii de ieșire care urmează să fie creată.
Potem chiar să specificăm dimensiunea blocului folosind opțiunea „bs” din dd.
După finalizarea procesului de mai sus, putem extrage acest fișier folosind instrumente precum Droid Explorer. Putem chiar să o facem folosind comanda adb pull.
Captura de ecran de mai jos arată comanda de extragere a imaginii pe stația noastră de lucru folosind comanda adb pull.
Acum, putem folosi această imagine pentru a face analiza noastră ulterioară pe dispozitiv.