Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:android:forenzika_revolut [2020/01/25 11:38] lracki [Literatura] |
racfor_wiki:android:forenzika_revolut [2024/12/23 02:07] (trenutno) Pardon Josip |
||
---|---|---|---|
Redak 1: | Redak 1: | ||
- | ===== Forenzička analiza podataka koje na Android pametnom telefonu ostavlja aplikacija za pružanje bankarskih usluga Revolut | + | ===== Napadi |
- | ==== Sažetak ==== | ||
- | Mobilne aplikacije u današnje vrijeme imaju vrlo široku primjenu u svakom aspektu našeg svakodnevnog | + | ===== Sažetak ===== |
- | Digitalna forenzika je područje koje može imati snažan utjecaj | + | Većina komunikacije preko Interneta odvija se preko SSL/TSL protokola. SSL (Secure Sockets Layer) sprječava pristup do web-a onima kojima to nije namijenjeno. Najviše se koristi |
- | 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. | + | Ključne riječi: SSL; TSL; komunikacija; |
- | 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 | + | ===== Uvod ===== |
- | ==== Uvod ==== | + | |
- | Uporaba mobilnih uređaja u suvremenom svijetu iznimno je velika | + | TLS i njegov prethodnik SSL su kriptografski protokoli koji omogućuju sigurnu komunikaciju putem Interneta za stvari kao što su Internet bankarstvo (preko HTTP protokola), |
- | 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]. | + | ===== Poglavlje 2 ===== |
- | 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. | ||
- | ==== O Revolut platformi ==== | ||
- | 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, | ||
- | Mobilna aplikacija zahtjeva sljedeće podatke : | ||
- | * osobni podaci - ime, prezime, email adresa, adresa stanovanja, broj telefona, | ||
- | * podaci relevantni za potvrdu identiteta - vlastita slika lica, slika važečeg dokumenta (osobna iskaznica, vozačka dozvola, putovnica), | ||
- | * podaci o bankovnoj kartici i broj računa (IBAN) - za prebacivanje novaca u aplikaciju, | ||
- | * pristup kontaktima pohranjenim na uređaju i | ||
- | * PIN za otključavanje aplikacije. | ||
- | 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, | + | ===== Poglavlje 3 ===== |
- | 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. | ||
- | ==== Digitalna forenzika Android uređaja ==== | ||
- | Android je brzorastuća, | ||
- | 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 " | ||
- | 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. | + | ===== Poglavlje |
- | === Root privilegije === | ||
- | 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, | ||
- | 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 aplikacije Revolut ==== | ||
- | Forenzička analiza podataka odrađena je uz pomoc 4 različita alata : | + | ===== Zaključak ===== |
- | * ADB Shell, | ||
- | * Andriller, | ||
- | * Android Studio i | ||
- | * Genymotion Emulator. | ||
- | === ADB Shell === | + | ===== Literatura ===== |
- | Android Debug Bridge (ADB) je alat naredbenog retka koji omogućava izravnu komunikaciju Android uređaja i računala na koje je taj uređaj spojen. ADB olakšava pokretanje raznih akcija na uređaju poput instalacije i debugiranja aplikacija, a omogućuje pristup Unix ljusci koja se može koristiti za pokretanje različitih naredbi na uređaju. ADB je uključen 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 omogućene razvojne opcije i opcija USB debugginga [6]. | + | [1] [[https:// |
- | < | + | [2] [[http://clem.dii.unisi.it/~vipp/website_resources/publications/ |
- | 1 adb shell | + | |
- | 2 pm list packages -f | + | |
- | 3 adb exec-out run-as com.revolut.revolut cat databases/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 pokreće ADB ljusku i omogućava daljnje izvođenje naredbi. Druga linija izlistava sve instalirane (aplikacijske) pakete na uređaju - lista instaliranih paketa je prilično dugačka. Među njima se nalazi paket **// | + | [3] [[https://www.forensicfocus.com/articles/forensics-bitcoin/]] |
- | + | ||
- | === Andriller === | + | |
- | + | ||
- | Andriller je program s kolekcijom različitih forenzičkih 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 slično [8]. | + | |
- | + | ||
- | Iako ima podršku za ekstrakciju podataka iz baza podataka gore spomenutih aplikacija, za aplikaciju Revolut se alat Andriller nije pokazao korisnim. Dohvat podataka iz baze bio je bezuspješan, | + | |
- | + | ||
- | Pronađena su dva postojeca računa povezana s aplikacijom Revolut: | + | |
- | + | ||
- | * com.revolut: | + | |
- | * com.revolut: | + | |
- | + | ||
- | === Android Studio === | + | |
- | + | ||
- | 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 dohvaćanje baze podataka. | + | |
- | + | ||
- | U datotečni 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 (**// | + | |
- | + | ||
- | === Genymotion Emulator === | + | |
- | + | ||
- | 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 slučaju uređaj je rootani emulator. No, ulaskom na Google Play Store i pokušajem preuzimanja Revolut mobilne aplikacije, ustanovilo se kako Revolut više nije moguće instalirati na emulatore nego isključivo na fizičke uređaje. | + | |
- | + | ||
- | + | ||
- | ==== Zaključak ==== | + | |
- | + | ||
- | U ovom radu ostvarena je forenzička analiza mobilne aplikacije za pružaje bankarskih usluga - Revolut. Odabrana je bankarska aplikacija za analizu iz razloga jer one doživljavaju konstantan porast u broju korisnika, a rukuju vrlo osjetljivim podacima. | + | |
- | + | ||
- | Analiza podataka izvršena je na Android mobilnom uređaju koji nema dostupne root privilegije stoga nije bilo moguće pristupiti internoj bazi na uređaju, a iz ostalih prikupljenih podataka moguće je samo potvrditi da je aplikacija instalirana na uređaju i da postoje neki računi povezani s aplikacijom. Za detaljniju forenzičku analizu, potrebno je da je Android mobilni uređaj root-an. | + | |
- | + | ||
- | Za analizu mobilne aplikacije Revolut korišteni su alati ADB Shell, Andriller, Android Studio i Genymotion Emulator. | + | |
- | + | ||
- | + | ||
- | ==== Literatura ==== | + | |
- | + | ||
- | [1] Lea Racki. Tehnike zaštite mobilnih aplikacija tijekom njihova korištenja. | + | |
- | + | ||
- | [2] Sarah Vonnegut. Mobile application security: 15 best practices for app developers. kolovoz 2015. | + | |
- | + | ||
- | [3] Inc Wikimedia Foundation. Mobile security. svibanj 2018. | + | |
- | + | ||
- | [4] Revolut. Revolut. | + | |
- | + | ||
- | [5] Andrew Hoog. Investigation, | + | |
- | + | ||
- | [6] developer.android.com. Android debug bridge (adb). | + | |
- | + | ||
- | [7] raywenderlich.com. Hack an android app: Finding forensic artifacts. | + | |
- | + | ||
- | [8] Andriller.com. Andriller. | + | |
- | + | ||
- | [9] Wikipedia. Android studio. | + | |
- | + | ||
- | [10] Genymotion.con. About genymotion. | + | |
+ | test? | ||