Ovo je stara izmjena dokumenta!
Mobilne aplikacije u današnje vrijeme imaju vrlo široku primjenu u svakom aspektu našeg svakodnevnog života te rukuju vrlo osjetljivim informacijama. Sigurnost mobilnih aplikacija vrlo je bitna kako bi osobni podaci korisnika bili sigurni.
Digitalna forenzika je područje koje može imati snažan utjecaj u različitim situacijama, uključujući interne korporativne istrage, građanske parnice, kaznene istrage, prikupljanje obavještajnih podataka i pitanja koja uključuju nacionalnu sigurnost. Najveći izazov Android forenzike je prikupljanje relevantnih podataka.
Platforma Revolut alternativa je bankarskim uslugama, gotovo neovisna o tradicionalnim bankama. Mobilna aplikacija nalik je na klasično mobilno bankarstvo i pruža korisnicima izvršavanje raznih novčanih transakcija.
Forenzička analiza izvršena na dostupnom neroot-anom uređaju i Revolut aplikaciji nije bila prilično uspješna i podaci prikupljeni alatima ADB Shell, Andriller, Android Studio i Genymotion Emulator rezultirali su prilično slabom analizom.
Ključne riječi: Digitalna forenzika, Revolut, Android, bankarske usluge, sigurnost mobilnih aplikacija, osobni podaci, forenzička analiza, Android Studio, ADB, Andriller, Genymotion Emulator
Uporaba mobilnih uređaja u suvremenom svijetu iznimno je velika i sveobuhvatna te je stoga teško zamisliti život bez njih. Zbog svoje iskoristivosti i različitih funkcionalnosti primjena mobilnih aplikacija moguća je u gotovo svakom aspektu našeg svakodnevnog života pa se tako može reci da one uvelike utječu na navike ljudi. Upravo zbog takve vrste odnosa koje ljudi imaju sa svojim pametnim telefonima, mobilne aplikacije imaju pristup velikoj količini različitih osobnih podataka. Ako aplikacije nisu ispravno osigurane, narušava se sigurnost korisničkih podataka i privatnost samog korisnika. Takve ranjive mobilne aplikacije meta su računalnih kriminalaca. Dodatna bitna opasnost vezana uz obradu i pohranu osjetljivih podataka na mobilnom uređaju je ta da mobilni uređaji često bivaju izgubljeni ili ukradeni pa tako osobni podaci više ne ostaju u posjedu vlasnika mobilnog uređaja nego dolaze u ruke napadača [1]. Napadačima bi potencijalno mogli biti zanimljivi podaci poput elektroničke pošte, bankovnih/financijskih podataka kao što su broj bankovnog računa, broja kreditne kartice ili korisnikovog PIN-a te podataka vezanih uz registraciju i autentifikaciju korisnika za određene usluge [2]. Zbog navedenih sigurnosnih razloga sigurnost mobilnih aplikacija odnosno općenito mobilna sigurnost postaje sve važniji faktor [3].
Cilj ovog seminarskog rada je izraditi forenzičku analizu aplikacije za pružanje bankarskih usluga - Revolut, odnosno istražiti i analizirati podatke koje na Android pametnom telefonu ostavlja spomenuta aplikacija te kako odabrana metoda utječe na sigurnost mobilne aplikacije i korisničkih podataka.
Revolut platforma je alternativa bankarskim uslugama u obliku mobilne aplikacije. Revlout korisnicima omogućuje slobodu raspolaganja novcem pomoću viševalutne kartice i mobilne aplikacije nalik na već postojeće aplikacije mobilnih bankarstava. Mobilna aplikacija Revolut nudi korisnicima podršku za izvođenje različitih novčanih transakcija poput slanja i primanja novca, plaćanja, konvertiranja valuta, kupovinu kriptovaluta i slično [4].
Razlog zašto je odabrana bankarska aplikacija je taj što se broj osoba koje koriste neku od vrsta usluga mobilnog bankarstva, prema istraživanjima Erste banke iz 2017. godine, iz dana u dan znatno povećava [6]. Sama Revolut mobilna aplikacija ima više od 8 milijuna korisnika u cijelome svijetu i ta je brojka u konstantnom porastu [4]. Prema tome sigurnost takvih aplikacija iznimno je bitna jer narušavanjem njihove sigurnosti značajna financijska šteta može biti uzrokovana za vrlo velik broj korisnika.
Kao što je već u uvodu spomenuto, platforma Revolut alternativa je bankarskim uslugama, gotovo neovisna o tradicionalnim bankama. Jedini preduvjet za otvaranje korisničkog racuna i aktivaciju aplikacije je posjedovanje bankovne kartice s čijeg će se računa prebacivati novac u samu mobilnu aplikaciju. Mobilna aplikacija Revolut nalik je na aplikacije mobilnog bankarstva poput primjerice mZabe ili mPBZ-a. Platforma se dakle sastoji od mobilne aplikacije i fizicke kartice [4]. Također unutar aplikacije nalazi se i virtualna reprezentacija fizičke kartice.
Glavna funkcionalnost mobilne aplikacije je pružanje podrške za različite novčane transakcije poput slanja i primanja (internacionalnih) uplata, plaćanja, prebacivanje novaca osobama iz liste kontakata, konverzija valuta, trgovanje kriptovalutama, otvaranje štednje neovisne o bankama i slično.
Mobilna aplikacija zahtjeva sljedeće podatke :
Za stvaranje korisničkog računa i aktivacije aplikacije potreban je poprilično velik broj osobnih podataka, no time se štite korisnici od lažnog predstavljanja, krađe identiteta ili nekih sličnih prevara [4].
S obzirom na vrstu podataka kojima rukuje aplikacija, pokušat će se analizirati baza podataka koju stvara aplikacija Revolut na mobilnog uređaju. Gore navedeni podaci su osjetljivi i svakako ne bi bilo poželjno da se spremaju na uređaj u obliku u kojem bi mogli stvoriti rizik za korisnika ili uzrokovati financijsku štetu.
Android je brzorastuća, funkcionalno raznolika i open-source mobilna platforma koje se temelji na Linux 2.6 kernelu. Kombinacija funkcionalnosti, povezanosti i popularnosti prirodno dovodi do sve veće potrebe za forenzičkom analizom podataka kojima se rukuje na Android uređajima. Digitalna forenzika uzbudljivo je područje koje može imati snažan utjecaj u različitim situacijama, uključujući interne korporativne istrage, građanske parnice, kaznene istrage, prikupljanje obavještajnih podataka i pitanja koja uključuju nacionalnu sigurnost. Mobilna forenzika, vjerojatno najbrže rastuća i razvijajuća digitalna forenzička disciplina, nudi značajne mogućnosti kao i brojne izazove. Iako možda najveći dio Android forenzike uključuje prikupljanje i analizu podataka s uređaja, vrlo je važno široko i temeljito razumijevanje Android platforme te alata koji će se koristiti tijekom analize. Stoga postoje brojna razmatranja o tome koju je tehniku najučinkovitije koristiti prilikom forenzičke analize [5].
Najveći izazov Android forenzike je prikupljanje relevantnih podataka. Korištenjem postojećih forenzičkih alata, Linux naredbi ili hex analiza, može se doći do velikog broja podataka relevantnih za istragu ili analizu. Primjerice, analiza SD kartica može biti “zlatni rudnik” ukoliko je cilj analizirati multimedijski sadržaj koji se nalazi na uređaju ili je kreiran od strane samog uređaja [5].
S obzirom na već prije spomenute podatke s kojim rukuje Revolut mobilna aplikacija, korisno bi bilo analizirati bazu podataka koju aplikacija stvara na uređaju. U odabiru strategije za dohvat baze podataka, veliku ulogu igraju prava pristupa i root privilegije korisnika.
Kada govorimo o root-anju Android uređaja, govorimo o načinu na koji korisnik zaobilazi inicijalno postavljene sigurnosne postavke operacijskog sustava s ciljem dobivanja većih prava tj. privilegija administratorskog korisnika. Privilegije administratorskog korisnika mogu se poistovjetiti s administrativnim dozvolama uređaja. Root-anje uređaja može biti korisno na primjer za blokiranje oglasa i reklama u aplikacijama, za saznavanje spremljene lozinke zapamćenih Wi-Fi mreža i slično. Ukratko, root-anje uređaja može biti korisno u određenoj mjeri, ali se zaobilaženjem sigurnosne ograde operacijskog sustava ne može jamčiti sigurnost podataka i aplikacija na uređaju te se stoga dostupne mogucnosti root-anog uređaja lako mogu zloupotrijebiti [1].
Ukontekstu digitalne forenzike Android uređaja, root privilegije omogučavaju dohvat interne memorije uređaja odnosno nesmetani pristup internoj bazi podataka. S tog gledišta, prilikom forenzičke analize poželjno je imati root-an uređaj tj. root privilegije uvelike olakšavaju pristup bitnim podacima na uređaju. U nastavku seminara i za istraživanje nije se koristio uređaj s root privilegijama stoga su rezultati analize u skladu s tako dostupnim podacima. Općenito, ne preporuča se korištenje bilo kakvih bankarskih aplikacija na root-anim ili jailbreak-anim uređajima jer se u tim slučajevima može dogoditi neočekivano ponašanje aplikacije te tada sigurnost osobnih podataka nije zajamčena. Uz to, bankarske aplikacije rukuju s iznimno osjetljivim podacima čija zloupotreba može nanijeti veliku štetu za korisnike.
Forenzička analiza podataka odrađena je uz pomoc 4 različita alata :
Android Debug Bridge (ADB) je alat naredbenog retka koji omogucava izravnu komunikaciju Android ure.aja i racunala na koje je taj ure.aj spojen. ADB olakšava pokretanje raznih akcija na ure.aju poput instalacije i debugiranje aplikacija, a omogucuje pristup Unix ljusci koja se može koristiti za pokretanje razlicitih naredbi na ure.aju. ADB je ukljucen u Android SDK Platform-Tools razvojni paket. Kako bi se ADB mogao koristiti za komunikaciju s ure.ajem spojenim preko USB-a, u postavkama sustava ure.aja moraju biti omogucene razvojne opcije i opcija USB debugginga [6].
1 adb shell 2 pm list packages -f 3 adb exec-out run-as com.revolut.revolut cat databases/reports-db> reports-db 4 run-as com.revolut.revolut 5 adb pull /data/app/com.revolut.revolut.apk 6 cd data 7 :/data ls 8 exit
Prva linija pokrece ADB ljusku i omogucava daljnje izvo.enje naredbi. Druga linija izlistava sve instalirane (aplikacijske) pakete na ure.aju - lista instalirani paketa je prilicno dugacka. Me.u njima se nalazi paket package:/data/app/com.revolut.revolut-WT9ZPVuU9jiFe5BYCfRybQ==/base.apk=com.8 što oznacava da je Revolut aplikacija uistinu instalirana na ure.aju [7]. S naredbom iz trece linije pokušavamo podatke iz baze zapisati lokalno, no pritom se javlja greška /system/bin/sh: can’t create reports-db: Read-only file system. U sljedecem retku ponovno pokušavamo pokrenuti naredbu, ali ovaj puta s pravom pristupa jednakim kakvim ima com.revolut.revolut instalirana aplikacija - javlja se nova greška run-as: package not debuggable: com.revolut.revolut. Problem koji se ovdje javlja je da zadana aplikacija ne podržava debugiranje. Ovo je ocekivano jer je Revolut aplikacija preuzeta i instalirana preko Google Play trgovine na kojoj se nalaze aplikacije release, a ne debug tipa. Kako bi promijenili verziju aplikacije iz debug u release, izvodimo sljedecu naredbu. Verzija tj. varijanta aplikacije definira se prilikom njezina builda primjerice u Android Studio alatu. Taj se parametar može promijeniti u datoteci AndroidManifest.xml na nacin da se promijeni polje android:debuggable u vrijednost “true”. Nakon izvo.enja naredbe u retku 5, javlja se greška /system/bin/sh: adb: not found. U sljedeca dva retka provjerava se imamo li uopce pristup /data direktoriju, a greška ls: .: Permission denied potvr.uje da ne možemo pristupiti direktoriju u kojem se nalaze podaci mobilne aplikacije [7].
Andriller je program s kolekcijom razlicitih forenzickih alata nemjenjen za pametne telefone. Ekstrakcija i dekodiranje podataka proizvode izvješca o odra.enom poslu u HTML i Excel formatima. Ima specijalizirane funkcionalnosti za dohvat i dekripciju baze podataka popularnih mobilnih aplikacija poput WhatsApp-a, Tinder-a, Skype-a, Facebook-a, Viber-a i slicno [8].
Android Studio službeno je integrirano razvojno okruženje (IDE) za Googleov operacijski sustav Android, izgra.eno na JetBrainsovom IntelliJ IDEA softveru i dizajnirano posebno za razvoj Android mobilnih aplikacija [9].
Android Studio je korišten u svrhu spajnja na mobilni ure.aj. S obzirom da ure.aj nije rootan, tako.er nije bilo uspješno dohvacanje baze podataka.
U datotecni sustav spojenog mobilnog ure.aja ulazi se pritiskom na View –> Tool Windows –> Device File Explorer. Na slikama ispod može se vidjeti kako taj sustav izgleda i koja se greška javlja prilikom pokušaja ulaska u /data/data direktorij ure.aja gdje se nalaze podaci.
Genymotion je Android Emulator koji ima dostupne root privilegije [10]. Emulator je korišten upravo zbog svojih root privilegija i kako bi se još jednom pokušalo pristupiti internoj bazi podataka Android ure.aja - u ovom slucaju ure.aj je emulator. No, ulaskom na Google Play Store i pokušajem preuzimanja Revolut mobilne aplikacije, ustanovilo se kako Revolut više nije moguce instalirati na emulatore nego iskljucivo na fizicke ure.aje.