<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>U današnje vrijeme mobilni uređaji su postali neizostavan dio svakodnevice i sve više i više privatnih podataka se nalazi na njima. Kao takvi često mogu biti prezentirani kao dokaz u nekom sudskom postupku gdje stručnjak forenzičar mora istražiti pojedinu stavku mobilnog uređaja. Kako bi to uspio mora doći do podataka na mobilnom uređaju no to nije moguće ako mobilni uređaj nije otključan. Stoga je prvi korak u akviziciji podataka u pravilu otključavanje mobilnog uređaja ako je moguće. Isto tako moguće je da lozinka bude zaboravljena od strane korisnika i korisnik jednostavno želi ostvariti pristup uređaju bez gubljenja podataka, ako je to moguće. Pošto je najkorišteniji operativni sustav za mobilne uređaje Android, prirodno se nameće kao najzanimljiviji za promatranje načina otključavanja.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Ključne riječi: android, otključavanje</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Tehnike otključavanja zaključanih android uređaja se koriste na android uređajima na koje je nemoguće ući na bilo koji način povezan sa nemogućnošću unosa ispravne lozinke. Nebitno je li došlo do zaboravljanja lozinke ili pogreške proizvedene samim operativninim sustavom ili zlonamjernim programom. Postoje dva glavna načina zaključavanja Android uređaja: zaključavanje uzorkom te zaključavanje PIN-om ili lozinkom. Zaključavanje pomoću otiska prsta neće biti razmatrano u nastavku. Forenzički istražitelj koji želi otključati uređaj mora preuzeti jednu ili dvije datoteke u pravilu.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Tehnike otključavanja mogu se koristiti za pristup čitavom uređaju ili pak za pristup datotečnom sustavu Android uređaja koji je iz nekog razloga nefunkcionalan. Treba napomenuti kako je potrebno otključati Android uređaj kako bi se moglo pristupiti podacima na uređaju. Stoga je otključavanje zaključanog Android uređaja prvi korak u akviziciji podataka sa Android uređaja. Samim time su tehnike koje se koriste za otključavanje Android uređaja ujedno i bitne za akviziciju podataka s Android uređaja. Kako je za otključavanje uređaja bitno da se pristupa jednoj ili dvije datoteke na uređaju dva glavna načina za pristup dotičnim datotekama se može obaviti pomoću „Android Debug Bridge“ alata ili pomoću flashanja proizvoljnog sustava za oporavak na uređaj. Obje metode nude relativno jednostavan način otključavanja uređaja no imaju određene restrikcije. Postoji i treća metoda koja je više fizička a sastoji se od skupa tehnika koje se nazivaju J-tag ili chip off tehnike.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Da bi razumijeli kako otključati zaključani uređaj potrebno je prvo pogledati kako samo zaključavanje Android uređaja radi. Kako bi se Android uređaj otključao potrebno je pročitati/modificirati određene datoteke unutar datotečnog sustava Androida. Kako bi se otključao uređaj zaključan uzorkom za zaključavanje potrebna je samo jedna datoteka sa Android uređaja: gesture.key. Datoteka se nalazi pod /data/system/ u datotečnom sustavu Androida. Datoteka gesture.key sadrži SHA-1 sažetak uzorka za zaključavanje uređaja gdje je uzorak zapravo niz brojeva od jedan do devet koji odgovaraju indexima točaka kojima je uzorak redom provučen. Pošto je svaku točku (od 1 do 9) moguće uvrstiti u uzorak samo jednom postoji konačan i izračunljiv broj uzoraka za zaključavanje koji iznosi 389112. Ideja iza otključavanja uređaja zapravo leži u tome da se napravi tablica svih mogućih kombinacija uzoraka i njihovih SHA-1 sažetaka te se usporedi sa vrijednošću iščitanom iz gesture.key datoteke.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Kako bi se otključao uređaj zaključan PIN-om ili lozinkom potrebne su dvije datoteke. Datoteka password.key i datoteka locksettings.db. Obje datoteke se nalaze pod /data/system/. Za Android uređaje verzije manje od 4.4 settings.db datoteka zamjenjujelocksettings.db datoteku i nalazi se pod /data/data/com.android.providers.settings/databases/. Za razliku od zaključavanja uzorkom u ovom slučaju nam je potreban i dodatak koji se dodaje na kraj lozinke ili PIN-a ( eng. salt ) prije nego se računa njihov sažetak i sprema u password.key datoteku. locksettings bazi podataka taj dodatak se može pronaći u relaciji „locksettings“ , a u settings bazi podataka u „secure“ relaciji pod nazivom „lockscreen.password_salt“. Poznajući sve navedene parametre možemo pretražiti sve moguće lozinke ( duljine od četiri do šesnaest znakova ) i njihov sažetak usporediti s onim koji se nalazi u password.key datoteci.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Osim navedenih načina za probijanje lozinka Android uređaja moguće je i jednostavno pobrisati relevantne datoteke i time otključati uređaj, no ta metoda nije forenzički čista pa se stoga ne preporučuje.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Nakon verzije Marshmallow Android koristi gatekeeper sustav za zaključavanje koji bi zahtjevao svoj poseban seminarski rad za objašnjenje tako da neće biti razmatran u ovom radu.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Android debug bridge (ADB) je jednostavan i moćan alat koji omogućava komunikaciju sa Android uređajem. Alat se koristi pomoću ljuske operativnog sustava i sposoban je obavljati mnoge stvari na uređaju kao što su instalacije i debug aplikacija na uređaju te interakciju sa samim uređajem preko naredba iz ljuske operativnog sustava.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Ovaj alat je zapravo jednostavna trokomponentna klijent-server aplikacija koja djeluje na sljedeći način: klijent je proces na računalu koji šalje naredbe, daemon je pozadinski proces na Android uređaju koji prima i izvršava naredbe, a server je pozadinski proces na računalu koji nadgleda komunikaciju između klijenta i daemona. Iako Android debug brigde može komunicirati i preko bežične mreže s uređajem, najčešće se komunikacija obavlja preko USB porta.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Kako bi se alat mogao koristiti, na uređaju je potrebno uključiti “USB debugging” opciju na sljedeći način: pod Settings→About phone→Software information potrebno je 7 puta zaredom kliknuti na Build number ako bi se uključio novi set opcija Developer options. Nakon toga potrebno je pod Settings→Developer options uključiti USB debugging opciju.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Koristeći Android debug bridge mogu se pročitati ili pobrisati datoteke potrebne za otključavanje Android uređaja objašnjene u prethodnom poglavlju.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Glavni nedostatak ove tehnike je što za korištenje Android debug bridgea na potreban način je potreban root pristup na Android uređaju. Root pristup znači da korisnik ima potpuni administrativni pristup uređaju. To je potrebno za pristupanje datotekama koje su potrebne za otključavanje uređaja.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>U nastavku je dan pregled najbitnijih naredbi Android debug bridgea.</font>
NAREDBA | OPIS |
adb devices | ispis svih trenutno spojenih uređaja |
adb root | restart daemona sa root pristupom |
adb start-server | pokreni server |
adb stop-server | zaustavi server |
adb reboot | ponovno pokretanje uređaja |
adb remount | ponovno mounta datotečni sustav uređaja |
adb push <local> <remote> | kopiranje datoteke s lokalnog računala na uređaj |
adb pull <remote> <local> | kopiranje datoteke s uređaja na lokalno računalo |
adb logcat | pokreni ispisivanje dnevnika na standardni izlaz |
adb shell | pokreni ljusku na uređaju (većina UNIX naredbi funkcionira u ljusci) |
adb shell <command> | izvrši određenu naredbu na uređaju (samo jednom) |
adb shell wm size | prikaz trenutne rezolucije uređaja |
adb shell wm size WxH | podesi rezoluciju na WxH |
adb shell pm list packages | ispis svih instaliranih paketa na uređaju |
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Sustav za oporavak je Android sustav namijenjen pomoći sa problemima s uređajem. Kao takav može napraviti sigurnu kopiju podataka podataka, obrisati sve podatke s uređaja, vratiti uređaj na tvorničke postavke, može pristupati datotečnom sustavu Androida, čitati podatke itd. Napredniji sustavi za oporavak nude i opcije instaliranja novih ROM-ova na Andorid uređaj.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Svaki Android uređaj dolazi sa svojim jednostavnim sustavom za oporavak koji nudi jednostavne opcije poput brsianja cachea i vraćanja uređaja na tvorničke postavke. Taj sustav se naziva “Android system recovery” i prikazan je na sljedećoj slici.</font>
<font 11pt/Calibri,sans-serif;;inherit;;inherit>No ovaj sustav za oporavak ne nudi pristup Android datotečnom sustavu niti pruža root pristup. Zbog toga treba obaviti flashanje proizvoljnog sustava za oporavak koji nudi opciju root pristupa. Dva najpopularnija sustava su Team Win Recovery Project (TWRP) te ClockworkMod Recovery (CWM). U nastavku će ukratko biti objašnjen rad sa TWRP-om pošto nudi lakši pregled funkcionalnosti i za razliku od CWM-a prima naredbe preko zaslona na dodir pa je stoga lakši i intuitivniji za koristiti.</font>
<font 11pt/Calibri,sans-serif;;inherit;;inherit>TWRP, kao i svaki sustav za oporavak nudi root pristup korisniku. Upravo u tome leži problem s ovom metodom. Dok, za razliku od korištenja isključivo ADB-a, nije potrebno rootati uređaj jer to za nas radi upravo sustav za oporavak, kako bi se mogao falshati sustav za oporavak potrebno je imati aktiviran bootloader na uređaju. Bez ulaženja u detalje, bootloader omogućava flashanje raznih sustava na uređaj, između ostalog i sustav za oporavak uređaja.</font>
<font 11pt/Calibri,sans-serif;;inherit;;inherit>Nakon flashanja i ulaska u TWRP dobivamo izbornik prikazan na sljedećoj slici.</font>
<font 11pt/Calibri,sans-serif;;inherit;;inherit>Sada je potrebno odabrati opciju “mount“ i odabrati particije kojima želimo pristupati preko nekog alata, primjerice ADB-a. U slučaju otključavanja uređaja potrebno je čitati iz data particije. Primjer izbornika je prikazan na idućoj slici.</font>
<font 11pt/Calibri,sans-serif;;inherit;;inherit>Nakon što je željena particija postavljena, možemo joj pristupati preko ADB-a i pomoću ADB-a preuzeti ili obrisati datoteke potrebne za otključavanje uređaja.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>JTAG i Chip off tehnike već spadaju u tehnike akvizicije podataka iako ih je bitno spomenuti i u konktestu otključavanja uređaja. Ove tehnike se baziraju na rastavljanju uređaja i skidanju memorijskih čipova sa podatkovnih pločica unutar mobitela i čitanja podataka direktno s njih. Ove tehnike se koriste kada je uređaj u fizički jako lošem stanju ili ga je na ovaj ili onaj način nemoguće pokrenuti ili otključati.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Za korištenje ove tehnike na uređajima potrebno je imati dobro znanje o arhitekturi uređaja nad kojim će se tehnika koristiti.</font>
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Vidjeli smo nekoliko tehnika otključavanja Android uređaja, svaka sa svojim nedostacima tj. sa preduvjetima da bi se te tehnike mogle zapravo izvršiti. Za otključavanje Android uređaja do verzije 5.0 Androida potrebno je samo dohvatiti ili izbrisati nekoliko datoteka koje se nalaze pod /data/system/ u Android datotečnom sustavu. Ako je uređaj zaključan sa uzorkom za zaključavanje potrebno je samo dohvatiti datoteku gesture.key i iz nje pročitati SHA-1 sažetak uzorka za zaključavanje. Nakon toga potrebno je pronači uzorak čiji sažetak odgovara pročitanom. Ako je uređaj zaključan PIN-om ili lozinkom potrebno je dohvatiti password.key datoteku u kojoj je spremljen SHA-1 sažetak lozinke s dodatkom i locksettings.db datoteku u kojoj je spremljena baza podataka iz koje se može iščitati dodatak koji se stavlja na lozinku prije računanja sažetka. Nakon toga potrebno je pronaći lozinku čiji je sažetak spremljen u spomenutoj datoteci. Za taj postupak nam treba pristup datotečnom sustavu uređaja koji se može ostvariti ili pomoću Android debug bridge alata, za što Android uređaj treba biti rootan, ili flashanjem sustava za oporavak na uređaj što zahtjeva da je bootloader uređaja otključan. Ako niti jedna tehnika ne upali jedini način da se dođe do podataka na uređaju je korištenje chip off tehnika.</font>