56
Ekstrakcija podataka sustava za razmjenu poruka društvenih mreža u svrhu forenzičke analize Bošnjak, Zvonimir Master's thesis / Diplomski rad 2018 Degree Grantor / Ustanova koja je dodijelila akademski / stručni stupanj: University of Zagreb, Faculty of Transport and Traffic Sciences / Sveučilište u Zagrebu, Fakultet prometnih znanosti Permanent link / Trajna poveznica: https://urn.nsk.hr/urn:nbn:hr:119:161878 Rights / Prava: In copyright Download date / Datum preuzimanja: 2021-12-01 Repository / Repozitorij: Faculty of Transport and Traffic Sciences - Institutional Repository

Ekstrakcija podataka sustava za razmjenu poruka društvenih

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ekstrakcija podataka sustava za razmjenu poruka društvenih

Ekstrakcija podataka sustava za razmjenu porukadruštvenih mreža u svrhu forenzičke analize

Bošnjak, Zvonimir

Master's thesis / Diplomski rad

2018

Degree Grantor / Ustanova koja je dodijelila akademski / stručni stupanj: University of Zagreb, Faculty of Transport and Traffic Sciences / Sveučilište u Zagrebu, Fakultet prometnih znanosti

Permanent link / Trajna poveznica: https://urn.nsk.hr/urn:nbn:hr:119:161878

Rights / Prava: In copyright

Download date / Datum preuzimanja: 2021-12-01

Repository / Repozitorij:

Faculty of Transport and Traffic Sciences - Institutional Repository

Page 2: Ekstrakcija podataka sustava za razmjenu poruka društvenih

SVEUČILIŠTE U ZAGREBU

FAKULTET PROMETNIH ZNANOSTI

Zvonimir Bošnjak

EKSTRAKCIJA PODATAKA SUSTAVA ZA

RAZMJENU PORUKA DRUŠTVENIH MREŽA U

SVRHU FORENZIČKE ANALIZE

DIPLOMSKI RAD

Zagreb, 2018.

Page 3: Ekstrakcija podataka sustava za razmjenu poruka društvenih
Page 4: Ekstrakcija podataka sustava za razmjenu poruka društvenih

Sveučilište u Zagrebu

Fakultet prometnih znanosti

DIPLOMSKI RAD

EKSTRAKCIJA PODATAKA SUSTAVA ZA

RAZMJENU PORUKA DRUŠTVENIH MREŽA U

SVRHU FORENZIČKE ANALIZE

EXTRACTION OF SOCIAL NETWORK MESSAGING

SYSTEM DATA FOR PURPOSES OF FORENSIC

ANALYSIS

Mentor: dr. sc. Siniša Husnjak Student: Zvonimir Bošnjak

JMBAG: 0135234006

Zagreb, rujan 2018.

Page 5: Ekstrakcija podataka sustava za razmjenu poruka društvenih

SAŽETAK

Forenzička analiza mobilnih terminalnih uređaja je provedba određene

forenzičke metodologije nad mobilnim terminalnim uređajem s ciljem prikupljanja

digitalnih dokaza. Takva forenzička analiza uključuje pripremu, provedbu ekstrakcije

podataka te obradu tih podataka kako bi se prikazali prikupljeni dokazi. Trenutno se

veliki dio komunikacije vrši putem sustava za razmjenu poruka društvenih mreža, a

aplikacije koje omogućuju takvu razmjenu poruka podatke pohranjuju lokalno.

Analizom i obradom ekstrahiranih podataka s uređaja koji koriste aplikacije

društvenih mreža moguće je doći do podataka koji omogućuju rekonstrukciju

razgovora obavljenih putem sustava za razmjenu poruka društvenih mreža.

KLJUČNE RIJEČI: forenzička analiza, ekstrakcija podataka, društvene

mreže, prikupljanje dokaza

SUMMARY

Mobile forensic analysis is implementation of forensic methodology on mobile

device with goal of recovering digital evidence. This type of forensic analysis

includes preparation, data acquisition and data processing, examination and

analysis. Currently large amount of the communication is done through social

network messaging systems and applications which allow social network users to

exchange messages store their data locally on the device. With analysis and

processing data acquired from mobile device it is possible to reconstruct

conversation which was done through social network messaging systems.

KEYWORDS: forensic analysis, data acquisition, social networks, evidence

recovery

Page 6: Ekstrakcija podataka sustava za razmjenu poruka društvenih

SADRŽAJ

1. Uvod ............................................................................................................ 1

2. Forenzička analiza terminalnog uređaja ...................................................... 3

2.1 Metodologija forenzičke analiza terminalnog uređaja ............................ 3

2.2 Priprema uređaja i fizička ekstrakcija podataka ..................................... 5

3. Društvene mreže kao izvor digitalnih dokaza ............................................. 11

4. Aplikacije društvenih mreža na uređajima Android OS-a ........................... 13

4.1. Instagram ............................................................................................ 13

4.1.1. Logička ekstrakcija podataka aplikacije Instagram ................... 15

4.1.2. Analiza podataka aplikacije Instagram ...................................... 19

4.2. Aplikacije za razmjenu poruka društvene mreže Facebook ................ 25

4.2.1. Logička ekstrakcija podataka aplikacije Messenger Lite ........... 27

4.2.2. Analiza podataka aplikacije Messenger Lite ............................. 30

5. Obrada i prikaz sadržaja prikupljenog forenzičkom analizom .................... 33

6. Zaključak ................................................................................................... 41

Literatura .............................................................................................................. 42

Popis kratica ......................................................................................................... 46

Popis slika ............................................................................................................ 47

Popis grafikona ..................................................................................................... 49

Page 7: Ekstrakcija podataka sustava za razmjenu poruka društvenih

1

1. UVOD

Razvoj i rast popularnosti društvenih mreža prethodnih godina, popraćen

usporednim razvojem mobilnih terminalnih uređaja, prouzrokovao je odljev

značajnog dijela komunikacije, osobito one u tekstualnom obliku, na aplikacije

vezane za društvene mreže. Korištenje sustava za razmjenu poruka unutar

aplikacija društvenih mreža konkurentno je klasičnoj razmjeni tekstualnih poruka

SMS-om i usluzi trenutačnog poručivanja.

Zbog značajnog udjela ovakvog načina komunikacije pojavljuje se potreba za

razvojem metodologije prema kojoj će se provoditi forenzička analiza u tu svrhu.

Takav postupak forenzičke analize za pristup sadržaju komunikacije nije ovisan o

pristupanju samom korisničkom računu društvene mreže. Razlog tome je što su

poslužitelji online društvenih mreža rasprostranjeni na područje više različitih država

i to predstavlja problem, koji je sličan izazovima s kojim se susreće cloud forenzika,

u smislu određivanja pravne nadležnosti. Kako bi se taj problem izbjegao, to jest

istražiteljima omogućilo prikupljanje dokaza koji su upotrebljivi i dostupni moguće je

koristiti sadržaj koji je lokalno pohranjen na terminalnom uređaju od strane aplikacije

društvene mreže.

Ekstrakcijom podataka pohranjenih na mobilnom terminalnom uređaju

omogućuje se pristup podacima koji su generirani od strane sustava za razmjenu

poruka aplikacija društvenih mreža. Ti podaci, ovisno o kojoj se aplikaciji društvene

mreže radi, sadrže podatke kao što su pošiljatelj, primatelj, njihove identifikatore,

vrijeme slanja te u konačnici sam sadržaj poruke. Na osnovu tih podataka moguće

je izvršiti rekonstrukciju razgovora koji odgovara njegovom izvornom obliku i kao

takav se može koristiti kao dokaz.

Ekstrakcija podataka sustava za razmjenu poruka društvenih mreža u svrhu

forenzičke analize je naslov ovoga diplomskog rada. Ovaj diplomski rad je podijeljen

u šest poglavlja:

1. Uvod

2. Forenzička analiza terminalnog uređaja

3. Društvene mreže kao izvor digitalnih dokaza

4. Aplikacije društvenih mreža na uređajima Android OS-a

5. Obrada i prikaz sadržaja prikupljenog forenzičkom analizom

6. Zaključak

U drugom poglavlju opisan je sam pojam forenzike u općenitom smislu te

kako se pojam forenzike prenosi u digitalno okruženje. Definirana je podjela

digitalne forenzike i sinonimi koji se koriste kao nazivi pojedinih grana. Objašnjen je

cilj digitalne forenzike, to jest prikupljanje digitalnih dokaza i metodologija koja se

koristi kako bi se isto postiglo uključujući onu koja predstavlja referentnu

metodologiju za forenzičku analizu mobilnih terminalnih uređaja. Ukratko su opisane

Page 8: Ekstrakcija podataka sustava za razmjenu poruka društvenih

2

vrste ekstrakcija korištene u ovome diplomskom radu te detaljno opisan postupak

fizičke ekstrakcije podataka s uređaja, odnosno izrada image-a unutrašnje pohrane

uređaja.

Digitalni dokazi na društvenim mrežama su tema trećeg poglavlja. Detaljnije

je prikazana tema same popularnosti društvenih mreža kao sredstvo za

komunikaciju, odnosno usporedba određenih statistika o komunikaciji putem

društvenih mreža i instant messaging u odnosu na klasične načine komunikacije

putem mobilnih terminalnih uređaja. Opisane su vrste digitalnih dokaza vezane za

društvene mreže uz poseban osvrt na komunikaciju između korisnika istih.

Četvrto poglavlje usmjereno je na dvije aplikacije društvenih mreža koje

omogućuju komunikaciju između svojih korisnika. Poglavlje je usredotočeno na

način pohrane u memoriju uređaja podataka koje generira aplikacija uključujući

podatke sustava za razmjenu poruka. U poglavlju je opisana struktura tih podataka

te su prepoznati elementi koji omogućavaju rekonstrukciju samog razgovora.

Obrada prikupljenih podataka je tema petog poglavlja. Obrada je izvršena

tako da su se saznanja prikupljenih iz prethodnih poglavlja primjenila za razvoj

programskog koda za generiranje izvještaja. Taj programski kod neobrađene

podatke prikupljene ekstrakcijom koristi za generiranje izvještaja koji sadrži

rekonstruirani razgovor sa svim pratećim podacima.

Svrha ovog istraživanja je prikazati postupak prikupljanja dokaza iz sustava

za razmjenu poruka aplikacija društvenih mreža forenzičkom analizom pametnih

mobilnih terminalnih uređaja.

Cilj istraživanja je prikazati mogućnost korištenja društvenih mreža, to jest

komunikacije između njihovih korisnika, kao izvor dokaza i potrebu za razvijanjem

forenzičkih postupaka za prikupljanje tih istih dokaza iz pametnih mobilnih

terminalnih uređaja. Kroz opis karakteristika različitih društvenih mreža i njihovog

sustava za razmjenu poruka će se prepoznati mogući elementi tih aplikacija koji se

mogu koristiti kao izvor dokaza. Cilj istraživanja je prikazati metodologiju forenzičke

analize uređaja koja je primjenjiva u ovu svrhu, načine ekstrakcije podataka i

procesiranja tih ekstrahiranih podataka te analizu dobivenog sadržaja s namjerom

korištenja istog kao dokaza.

Page 9: Ekstrakcija podataka sustava za razmjenu poruka društvenih

3

2. FORENZIČKA ANALIZA TERMINALNOG UREĐAJA

Značenje riječi forenzika je uporaba znanosti za rješavanje pravnih problema.

Forenzička znanost predstavlja skupinu znanstvenih disciplina koje su usmjerene

na primjenu saznanja iz svoje znanstvene discipline za utvrđivanje činjenica u

sudskim postupcima, [1]. Dok prema [2] forenzika predstavlja primjenu znanstvenih

saznanja za skupljanje, analiziranje i prezentaciju dokaza sudovima.

Jedna od tih grana forenzike je digitalna forenzika. Iako prvotno termin

digitalna forenzika je bio korišten kao sinonim za računalnu forenziku, digitalna

forenzika ipak pokriva šire područje od same forenzike računala. Prema [3] digitalna

forenzika je primjena znanstvenih saznanja u svrhu prikupljanja informacija,

odnosno dokaza, iz digitalnog uređaja.

Postoji nekoliko različitih podjela digitalne forenzike ovisno o korištenoj

literaturi, ali iz svih se kao osnovne grane digitalne forenzike mogu izdvojiti

računalna forenzika, forenzika mreža i forenzika mobilnih uređaja, [4].

Osim već navedenih naziva za ovo područje forenzike u nekim literaturama

kao sinonim za digitalnu forenziku koristi se i termin cyber forenzika, [5]. Inače sama

riječ cyber je često netočno prevedena na hrvatski jezik kao kibernetika i korištenje

tog prijevoda bi upućivalo na nešto što ne predstavlja sinonim za digitalnu forenziku,

[6].

Cilj digitalne forenzike je prikupljanje digitalnih dokaza. Takvi dokazi se

nalaze pohranjeni na tvrdim diskovima, mobilnim uređajima, stolnim i prijenosnim

računalima, tabletima, usmjerivačima i svim drugim digitalnim uređajima koji

posjeduju nekakvu mogućnost pohrane podataka koji bi se mogli u nekom slučaju

mogli iskoristiti kao dokaz. Kako bi digitalni dokazi bili prihvatljivi na sudu, oni moraju

biti relevantni za taj slučaj te prikupljeni na prihvatljiv način. Prikupljanje digitalnih

dokaza na prihvatljiv način znači da je čitav postupak provođenja forenzičke analize

nekog uređaja obavljen prema metodologiji koja je namijenjena za takav tip uređaja,

[7].

Prema [8] metodologija forenzičke analize je logičan i promišljen niz

postupaka provedenih za vrijeme istrage. Dobra metodologija forenzičke analize

osigurava da ja istraga, odnosno sama analiza, dobro dokumentirana, ponovljiva i

izvedena tako da su prikupljeni dokazi prihvatljivi na sudu. Iz tog razloga je razvijena

metodologija forenzičke analize za mobilne terminalne uređaje.

2.1. Metodologija forenzičke analize terminalnog uređaja

Referentna metodologija prilikom provođenja forenzičke analize mobilnog

terminalnog uređaja je "Cellular Phone Evidence Data Extraction and

Documentation" stvorena od strane detektivke Cindy Murphy. Svrha razvoja

Page 10: Ekstrakcija podataka sustava za razmjenu poruka društvenih

4

metodologije je kako bi se istražitelji lakše snašli u velikom broju slučajeva na kojima

rade i koriste različitu opremu i alate. Neki od ovih koraka su nužni kako bi se očuvali

dokazi na uređaju u onakvom stanju kako su i bili prije same obrade. Ova

metodologija definira smjernice prema kojima se provodi proces pripreme,

ekstrakcije, obrade i dokumentacije podataka s mobilnih terminalnih uređaja. Prema

[9] metodologija forenzičke analize mobilnih terminalnih uređaja sastoji se od devet

koraka ili faza:

Preuzimanje ili uvođenje

Identifikacija

Priprema

Izolacija

Obrada

Validacija

Dokumentiranje

Prezentacija

Arhiviranje

Prvi korak odnosno preuzimanje slučaja ili uvođenje u slučaj odnosi se na

prikupljanje općih informacija o slučaju i potrebne dokumentacije uključujući lanac

posjeda dokaza te okvirne ciljeve istrage. Faza identifikacije definira utvrđivanje

zakonskih prava na obradu uređaja, ciljeve istrage, identificiranje samog uređaja,

prepoznavanje prijenosne i vanjske pohrane te drugih izvora dokaza kao što su na

primjer tragovi DNK i otisci. Deoksiribonukleinska kiselina, odnosno DNK, je nositelj

genetičke informacije koji se može iskoristiti za identifikaciju, [10].

U koraku pripreme istražitelj planira postupke i procese koje će upotrijebiti

prilikom analize te forenzičke alate i opremu koje će koristiti za potrebe forenzičke

analize. Osim toga, u ovom koraku istražitelj se odlučuje za postupak ili postupke

ekstrakcije koje će koristiti. Izolacija predstavlja odvajanje mobilnog terminalnog

uređaja od svih bežičnih načina komunikacije korištenjem Faraday-evog kaveza ili

slične metode. Faza obrade odnosno procesiranja predstavlja izvršavanje zadataka

i ciljeva definiranih u prethodnim koracima. To uključuje provođenje ekstrakcije

podataka i obradu ti istih prikupljenih podataka s ciljem dobivanja konkretnih dokaza

iz istih.

Korak validacije se odnosi na uspoređivanje podataka dobivenih korištenjem

različitih alata i postupaka ekstrakcije kako bi se utvrdila ispravnost podataka.

Dokumentiranje je korak u kojemu se postupci provedeni tijekom prethodnih koraka

bilježe. Korak prezentacije je prikaz rezultata forenzičke analize nekome za čije

potrebe se uopće krenulo u provedbu forenzičke analize. Arhiviranje uključuje trajnu

pohranu prikupljenih i dokumentiranih podataka i dokaza te evidenciju istih, [9].

Zbog same svoje teme ovaj diplomski rad je više usmjeren na neke od faza

ove metodologije u odnosu na druge. To uključuje korake pripreme, obrade i

Page 11: Ekstrakcija podataka sustava za razmjenu poruka društvenih

5

prezentacije u smislu stvaranja jasnih dokaza iz prikupljenih podataka. Za potrebe

ovoga diplomskog rada korištene su tri metode ekstrakcije podataka čiji su rezultati

međusobno uspoređivani kako bi se validirao sadržaj prikupljen korištenjem tih

metoda. Najjednostavnija korištena metoda je bila ručna ekstrakcija podataka koja

se temeljila na uzimanju preslika zaslona uređaja. Osim toga, korištena je logička

ekstrakcija u obliku izrade kopija pojedinačnih datoteka iz pohrane uređaja. Fizička

ekstrakcija podataka provedena je izradom image-a cijele unutarnje pohrane

uređaja korištenjem metoda koje su navedene u sljedećem potpoglavlju.

2.2. Priprema uređaja i fizička ekstrakcija podataka

Za demonstraciju forenzičke analize sustava razmjene poruka aplikacija

društvenih mreža korišten je pametni mobilni terminalni uređaj LG L70 Dual SIM

D325. Operativni sustav ovog uređaja je Android 4.4.2 KitKat, a verzija kernel-a je

3.4.0+. Interna memorija ovoga uređaja je veličine samo 4 GB što čini samu

ekstrakciju podataka s ovoga uređaja jako brzom.

Na uređaju su instalirane aplikacije Instagram i Messenger Lite te su

korištenjem istih aplikacija razmijenjene poruke između tri korisnička računa za

pojedinu aplikaciju. Po jedan od tih računa je korišten na samom mobilnom

terminalnom uređaju koji je analiziran, a druga dva na osobnom računalu.

Kako bi se ostvario pristup svim podacima na uređaju potreban je root

pristup. Root-anje uređaja je ostvarivanje administratorskih ovlasti na uređaju

iskorištavanjem ranjivosti operativnog sustava. Root pristup na ovom uređaju je

ostvaren korištenjem aplikacije KingoRoot, [11].

Nakon uspješnog root-anja instalirana je aplikacija BusyBox koja omogućuje

nekoliko različitih Unix alata. Kako je Android operativni sustav temeljen na Linux-

u, BusyBox uz root pristup omogućuje korištenje naredbe dd na uređajima s Android

OS. Tom naredbom je moguće napraviti bit po bit kopiju memorije uređaja što

predstavlja fizičku ekstrakciju podataka. Naredbe BusyBox-a je moguće koristiti na

samom uređaju korištenjem Terminal Emulator-a ili putem računala korištenjem

Android Debug Bridge-a, [12].

Sama ekstrakcija podataka obavljena je na računalu s instaliranom Santoku

Linux distribucijom verzije 0.5. Uz prethodno pripremljen uređaj, ovaj operativni

sustav posjeduje sve potrebne alate kako bi se izvršila ekstrakcija image file-a s

uređaja, [13]. Dok je naknadna analiza obavljena na računalu s Windows

operativnim sustavom i potrebnim programskim alatima.

Android Debug Bridge je jednostavni konzolni alat koji omogućuje

komunikaciju s uređajem i upravlja njime, a što je najvažnije omogućuje korištenje

Unix naredbi na uređaju. Android Debug Bridge se sastoji od tri djela:

• klijent na računalu putem kojeg se unose naredbe,

Page 12: Ekstrakcija podataka sustava za razmjenu poruka društvenih

6

• daemon na uređaju koji izvršava naredbe

• i server koji upravlja komunikacijom između klijenta i daemon-a.

Nakon spajanja računala s testnim uređajem putem USB kabela, korištenjem

terminala Santoku Linux operativnog sustava pozvana je naredba adb devices, kao

što je prikazano na slici 1, kojom se ispisuju trenutno povezani uređaji. Kada je

utvrđeno da je mobilni uređaj spojen, naredbom adb –d shell ulazi se u naredbenu

ljusku (eng. command shell) uređaja, u ovom slučaju s root pristupom. Dio naredbe

–d označava da se naredba odnosi na jedini spojeni uređaj, [14].

Kako je prikazano na slici 1, nakon ulaska u ljusku na terminalu se ispisuje

shell@w5ds. Korištenjem naredbe su, odnosno switch user, dolazi se do korisnika

root@w5ds, što označava da će se upisana naredba izvršiti na uređaju uz root

ovlasti. Naredba cat je jedna od naredbi omogućenih BusyBox-om i pojavljuje se u

gotovo svim Unix temeljenim i Unix sličnim operativnim sustavima, a zadaća joj je

ispis datoteka zadanih u njezinim parametrima. Ta naredba u kombinaciji sa

/proc/partitions kao zadanim parametrom ispisuje informacije o alokaciji blokova na

particijama memorije uređaja, [15].

Ispis dobiven prethodno korištenom naredbom jasno prikazuje da je

memorija uređaja podijeljena u mmc blokove. MultiMediaCard, to jest mmc ili MMC,

je memorijski standard korišten za memorijske kartice, [16]. Budući da je barem

jedan od blokova prikazan na slici 1 predstavlja internu memoriju uređaja možemo

reći da se radi o eMMC memoriji, odnosno Embedded MultiMediaCard, [17]. Na slici

1 vidljivo je da su nazivi dvaju najvećih blokova mmcblk0 i mmcblk1. Budući da je

blok memorije pod nazivom mmcblk0 podijeljen u više particija, odnosno od particije

mmcblk0p1 pa sve do mmcblk0p35m za razliku od bloka mmcblk1 koji se sastoji

samo od jedne particije moguće je zaključiti da je blok mmcblk0 zapravo interna

pohrana uređaja. Na tom bloku se nalaze podaci o korisnikovim aktivnostima, kao

što su pozivi, podaci aplikacija, postavke i slično. Kako se svi potrebni podaci za

ovu analizu nalaze na mmcblk0, vršit će se ekstrakcija samo tog bloka.

Page 13: Ekstrakcija podataka sustava za razmjenu poruka društvenih

7

Slika 1. Prikaz particija memorijskog prostora uređaja

Page 14: Ekstrakcija podataka sustava za razmjenu poruka društvenih

8

Nakon prikupljanja informacija o memoriji i odabira particije za ekstrakciju

potrebno je kreirati konekciju između uređaja i računala kojom će se ti podaci

ekstrahirati i pohraniti na uređaj u obliku image file-a. U zasebnom terminalu, u

kojem se naredbe izvršavaju na računalu, a ne na uređaju, naredbom sa slike 2

omogućuje se komunikacija Android Debug Bridge-a putem porta 8888.

Slika 2. Uspostava konekcije TCP portom

Uspostavljena konekcija će se iskoristiti kako bi se korištenjem prethodno

spomenute dd naredbe, kojoj je primarna svrha kopiranje i konvertiranje datoteka,

pohranio sadržaj mmcblk0 na memoriju računala. Naredba dd sadrži kao parametre

input i output dio. Input dio koji se zapisuje iza ključne riječi if je blok s user podacima

kojemu je točna lokacija na memoriji uređaja /dev/blocks/mmcblk0. U ovom slučaju

output dio je potrebno napisati iza znaka „|“ kojim se označava da će se izlazni dio

koristiti kao ulazni dio druge naredbe, to se još naziva piping. Output korištenjem

Netcat-a, u terminalu pozvan kao nc, će usmjeriti podatke s bloka mmcblk0 na TCP

port 8888. Korištenje Netcat-a je na mobilnom uređaju omogućen putem BusyBox-

a, a on predstavlja alat koji omogućuje čitanje i upisivanje korištenjem TCP i UDP

protokola. Transmission Control Protocol i User Datagram Protocol su temeljni

protokoli transportnog sloja TCP/IP složaja, a u ovom primjeru TCP protokol je

korišten za ekstrakciju podataka. Izgled cijele naredbe izvršene na uređaju je

prikazan na slici 3, nakon pokretanja naredbe ona se ne izvršava istovremeno nego

zbog -l , koji označava listen,dijela naredbe u izlaznom dijelu ona osluškuje dok se

sljedeća naredba spoji na njezin izlaz kako bi se pokrenulo slanje fizičkog sadržaja

tog dijela memorije, [18].

Slika 3. Korištena naredba za ekstrakciju interne memorije uređaja

Kako bi se sadržaj pohranio na računalo potrebno je uspostaviti drugu stranu

Netcat veze. To se radi korištenjem naredbe nc na terminalu koji izvršava naredbe

na računalu sa Santoku Linux operativnim sustavom. Ta nc naredba se također

sastoji od ulaznog i izlaznog dijela, ulazni dio je u ovom slučaju port 8888 na lokalnoj

IP adresi 127.0.0.1 čija je veza uspostavljena u prethodnim koracima. Izlazni dio je

upisan iza znaka „>“ koji označava da će se naredba svoj output pohraniti negdje u

obliku datoteke. Izlazna datoteka je nazvana „izlaz.dd“, a .dd je jedan od formata

image file-ova uz .img, .raw i druge. Kako je prikazano na slici 4, pokretanje ove

naredbe okida -l iz prethodne naredbe i tako da započinje fizičku ekstrakciju

sadržaja mmcblk0, [19].

Page 15: Ekstrakcija podataka sustava za razmjenu poruka društvenih

9

Slika 4. Pokretanje i izvršavanje ekstrakcije bloka mmcblk0

Ekstrakcija interne memorije pametnog mobilnog terminalnog uređaja

veličine oko 4 GB traje nešto više od 20 minuta i pohranjuje se na memoriju

računala. Datoteka „izlaz.dd“ nakon toga spremljena na računalo s Windows

operativnim sustavom gdje se korištenjem programskog alata Autopsy obavljena

daljnja analiza.

Programski alat Autopsy Forensic Browser omogućuje provedbu forenzičke

analize putem grafičkog sučelja. Autopsy je zapravo grafičko sučelje za The Sleuth

Kit kojemu je pridodano nekoliko alata. Ovaj programski alat omogućuje učitavanje

image datoteke koju potom analizira. Analizom image-a memorije Autopsy

prepoznaje sadržaj na njemu, uključujući i onaj obrisani u slučaju da su u memoriji

ostale potrebne informacije za povrat tih datoteka. Kako je prikazano na slici 5.

učitavanjem image-a unutrašnje pohrane „izlaz.dd“ u grafičko sučelje programskog

alata Autopsy učitavaju se sve dostupne datoteke, [20].

Page 16: Ekstrakcija podataka sustava za razmjenu poruka društvenih

10

Slika 5. Datoteke učitane u programski alat Autopsy iz “izlaz.dd”

Kao korak validacije podataka na slici 6. prikazana je usporedba SMS poruke na

uređaju prikupljenog ručnom ekstrakcijom i sadržaj iste poruke na korištenjem alata

Autopsy s podacima prikupljenim fizičkom ekstrakcijom kao izvorom.

Slika 6. Validacija usporedbom prikupljenih dokaza korištenjem različite metode

ekstrakcije

Page 17: Ekstrakcija podataka sustava za razmjenu poruka društvenih

11

3. DRUŠTVENE MREŽE KAO IZVOR DIGITALNIH

DOKAZA

Od početka pojave pametnih mobilnih terminalnih uređaja pa sve do danas

najčešće korištene i najznačajnije mogućnosti takvih uređaja je pristup društvenim

mrežama i usluzi trenutačnog poručivanja.

Prema podacima [21] WhatsApp je već 2015. godine samostalno dostigao

globalni sustav razmjene SMS poruka u broju poslanih poruka. Putem WhatsApp

Messenger-a te godine je dnevno poslano 30 milijardi poruka, što je za 10 milijardi

više od broja dnevno poslanih SMS poruka.

Kako navodi [22] postoji značajna demografska razlika u korisnicima koji za

tekstualni oblik udaljene komunikacije biraju Instant Messagning odnosno sustave

razmjene poruka društvenih mrežu umjesto klasičnih SMS poruka. To se

prvenstveno odnosi na samu dob korisnika te njihovu lokaciju što prvenstveno

utječe na pakete usluga telekomunikacijskih operatora koje su dostupne

korisnicima.

Postoji više vrsta društvenih mreža, od onih opće namjene kao što je

Facebook koji je jednako usmjeren običnim korisnicima putem profila, ali poslovnim

korisnicima putem Facebook stranica, pa do striktno poslovnih društvenih mreža

kao što je LinkedIn. Osim po namjeni, društvene mreže je moguće podijeliti prema

vrsti sadržaja koji njima dominira. Prema sadržaju društvena mreža Instagram je

usmjerena slikovnom sadržaju i video sadržaju kratke duljine, a društvena mreža

Twitter prvenstveno tekstualnom sadržaju. Za razliku od tih mreža koje imaju

poprilično definiran tip sadržaja na Facebook-u je sadržaj mješovite prirode. Ono

što sve ove društvene mreže posjeduju je sustav razmjene poruka između korisnika

te aplikacije za pametne mobilne terminalne uređaje koje omogućavaju pristup

društvenim mrežama, a s time i njihovom sustavu za razmjenu poruka.

Sve objave na društvenim mrežama imaju objavitelja, koji može koristi pravi

identitet ili pseudonim, vremensku oznaku objave te nekakav sadržaj koji može biti

tekstualnog, slikovnog, zvukovnog, video ili nekog drugog oblika. Osim toga, ovisno

o društvenoj mreži i tipu, objave mogu sadržavati identitete osoba kojima su direktno

upućene, geolokaciju i vremensku oznaku nastanka u slučaju da se radi o slikovnom

ili video sadržaju te još neke metapodatke ovisno o društvenoj mreži. Informacije

koje sadrži objava ili aktivnost na društvenoj mreži se mogu iskoristiti kao digitalni

dokaz ako se prikupe i obrade na ispravan način. Sve se to prenosi i na sustave

razmjene poruka društvenih mreža. Trenutno svaka društvena mreža ima sustav

razmjene poruka sličnoga oblika, to jest sastoje se od razgovora koji mogu činiti dva

ili više korisnika koji međusobno razmjenjuju poruke s vremenskom oznakom bilo

tekstualnog, slikovnog ili video sadržaja te je na pojedinim sustavima razmjene

poruka društvenih mreža vidljiva aktivnost ili dostupnost korisnika.

Page 18: Ekstrakcija podataka sustava za razmjenu poruka društvenih

12

Digitalne dokaze vezane uz društvene mreže možemo podijeliti na one koji

nastali objavama samih korisnika na takve mreže te na dokaze koji su nastali

privatnom komunikacijom između dva ili više korisnika društvene mreže.

Prema [23] u moguće digitalne dokaze prikupljenih na društvenoj mreži

Facebook pripadaju svaka interakcija korisnika s tom društvenom mrežom na način

da joj se može pridodati određena obavljena aktivnost i vremenska oznaka. Među

takve aktivnosti pripadaju korištenje tražilice, objavljivanje na zid društvene mreže,

stvaranje događaja te, ono što je tema ovog diplomskog rada, razgovor između

korisnika te društvene mreže.

Važno je spomenuti da se veliki dio digitalnih dokaza prilikom korištenja

društvenih mreža na osobnim računalima niti u jednom trenutku ne pohranjuju na

samu lokalnu pohranu računala, za razliku od korištenja istih društvenih mreža

putem odgovarajućih aplikacija za mobilnih terminalne uređaje koje gotovo u

svakom slučaju dio podataka spremaju na lokalu pohranu, [23].

Osim toga, prema [24] neki od tih digitalnih dokaza koje aplikacije društvenih

mreža pohranjuju na uređaj ostaju i nakon deinstalacije same aplikacije te to čini

razvijanje postupaka koji mogu iz podataka dobivenih fizičkom ekstrakcijom

memorije uređaja još bitnijim.

Dokazi koji se prikupljaju sa samih uređaja putem kojih su korištene

društvene mreže nisu jedini izvor ovakvih digitalnih dokaza. Forenzikom mrežnog

prometa koji sadrži komunikaciju putem društvenih mreža također može biti izvor

dokaza. Prema [25] dio podataka prilikom korištenja nekih društvenih mreža se

prenosi u nekriptiranom obliku i iz prikupljenog mrežnog prometa mogu se iščitati

informacije kao što su lokacija, poslane poruke, slike i video sadržaj.

Page 19: Ekstrakcija podataka sustava za razmjenu poruka društvenih

13

4. APLIKACIJE DRUŠTVENIH MREŽA NA

UREĐAJIMA ANDROID OS-A

Društvene mreže koje su obrađene u ovome diplomskom radu su Facebook i

Instagram. Obje društvene mreže imaju pripadajuće aplikacije za Android operativni

sustav koje omogućuju razmjenu poruka između korisnika istih. Aplikacije za

Android OS pohranjuju podatke aplikacije unutar baza podataka koje stvaraju u

datotečnom sustavu uređaja. Fokus ovog poglavlja je na pronalasku lokacija tih

baza za analizirane aplikacije te analiziranje sadržaja samih baza s ciljem

rekonstrukcije razgovora obavljenih korištenjem tih aplikacija, [26].

4.1. Instagram

Aplikacija Instagram za uređaje s Android operativnim sustavom [27] je danas

jedna od najpopularnijih aplikacija na Google-ovom servisu za distribuciju aplikacija

Google Play s preko milijardu preuzimanja.

Instagram, često stiliziran kao IG, je društvena mreža u vlasništvu Facebook-a

koja je usmjerena na razmjenu slika i video sadržaja. Instagram je pokrenut 2010.

godine te je postojala samo aplikacija namijenjena Apple-ovom iOS operativnom

sustavu [28]. Od 2012. godine postoji verzija aplikacije za Android OS te je razvijeno

web sučelje za Instagram kojim se omogućuje pristup istome putem web

preglednika uz ograničene mogućnosti. Takve ograničene mogućnosti web sučelja

su zadržane i do danas te se sustav razmjene poruka ove društvene mreže ne može

koristiti putem web preglednika na osobnom računalu bez korištenja posebnih

dodataka (eng. plug-in ili add-on) za preglednik.

Instagram Direct, odnosno sustav za razmjenu poruka ove društvene mreže,

pojavio se 2013. godine te je omogućio privatnu komunikaciju između korisnika u

obliku teksta, slika ili video sadržaja. Korisnici koji se međusobno prate mogu

izravno komunicirati, a ako korisnik zaprimi poruku od korisnika kojeg ne prati

poruka će biti stavljena na čekanje (eng. pending) sve dok je korisnik ne odobri,

[29].

U Instagram Direct se od 2015. godine uvodi niz novih mogućnosti među kojima

je “conversation threading” što korisnicima omogućuje uvid u povijest

korespondencije i lakše praćenje razgovora u odnosu na pojedinačne poruke koje

su prije bile dostupne korisnicima. Osim toga, threading omogućuje stvaranje

grupnih razgovora unutar Instagram-ovog sustava za razmjenu poruka.

Na uređaju namijenjenom za prikaz primjera forenzičke analize u svrhu ovog

diplomskog rada ja instalirana aplikacija Instagram verzije 49.0.0.15.89 koja je

izdana u lipnju 2018. godine, [30]. Otvorena su tri korisnička računa za društvenu

mrežu Instagram i jedan od tih računa se koristio na uređaju dok su preostala dva

Page 20: Ekstrakcija podataka sustava za razmjenu poruka društvenih

14

korištena na osobnom računalu za razmjenu poruka s korisničkim računom na

uređaju s ciljem naknadne provedbe forenzičke analize nad istim. Tekst razgovora

je preuzet s [31] i [32], i primjer rezultata ručne ekstrakcije podataka sustava za

razmjenu poruka društvene mreže Instagram je prikazan na slici 7.

Slika 7. Ručna ekstrakcija podataka sustava za razmjenu poruka aplikacije

Instagram

Logička ekstrakcija podataka na kojima se nalazi ovaj razgovor je tema

sljedećeg podpoglavlja. Podaci prikupljeni tim načinom ekstrakcije potrebno je

validirati usporedbom s podacima prikupljenim fizičkom ekstrakcijom koja je opisana

u drugom poglavu rada.

Page 21: Ekstrakcija podataka sustava za razmjenu poruka društvenih

15

4.1.1. Logička ekstrakcija podataka aplikacije Instagram

Svaka aplikacija namijenjena Android operativnom sustavu posjeduje

applicationId u obliku com.primjer.aplikacija koji predstavlja jedinstveni identifikator

aplikacije na razini uređaja, ali i na Google-ovom servisu za distribuciju aplikacija

namijenjenim Android OS – Google Play. Ovo je osnovni identifikator aplikacije te

se na njega vežu sve verzije iste aplikacije. U slučaju promjene applicationId-a pri

objavljivanju nove verzije aplikacije Google Play će tretirati novu verziju kao potpuno

drugu aplikaciju, [33].

Identifikator, applicationId za aplikaciju Instagram namijenjenu Android OS-u

je com.instagram.android, [34]. Na uređaju se prilikom instalacije aplikacije u

direktoriju “/data/data” stvara mapa koja imenom odgovara navedenom

applcationId-u te se u nju pohranjuju podaci aplikacije. Inače, u direktoriji

“/data/data” se pohranjuju podaci svih aplikacija, bilo instalirane od sustava ili samog

korisnika. Kako se mape predinstaliranih aplikacija za lokaciju, pozive i razmjenu

poruka nalaze unutar ovoga direktorija na svim Android uređajima, on predstavlja

jednu od ključnih lokacija pohrane prilikom provođenja forenzičke analize, [35].

Kako Android operativni sustav koristi sustav zaštite temeljen na Linux-u u

smislu identificiranja i razdvajanja aplikacijskih resursa svakoj aplikaciji se dodjeljuje

korisnički ID (UID). Aplikacija se pokreće pod tim korisnikom i to je specifično za

Android operativni sustav u odnosu na ostale gdje se više aplikacija pokreće pod

istim korisnikom, [36].

Poddirektorij “/data/data/com.instagram.android” ima dozvole chmod 751

pod vlasništvom UID-a te same aplikacije. To znači da samo sama aplikacija ima

pravo čitanja i zapisivanja unutar tog istog poddirektorija. Da bi se obavila logička

ekstrakcija sadržaja tog direktorija potrebno je promijeniti dozvolu istoga, [37].

Na slici 8 prikazan je sadržaj poddirektorija “com.instagram.android” i mape

“databases” unutar njega.

Page 22: Ekstrakcija podataka sustava za razmjenu poruka društvenih

16

Slika 8. Sadržaj mape “databases” unutar poddirektorija “com.instagram.android”

Od prikazanog sadržaja poddirektorija aplikacije Instagram za potrebu

forenzičke analize sustava za razmjenu poruka društvene mreže Instagram

najvažnija je datoteka “direct.db”.

Radi se o bazi podataka u koju aplikacija Instagram pohranjuje sve podatke

svoga sustava za razmjenu poruka – Instagram Direct. Ovakva lokalna pohrana

podataka sustava za razmjenu poruka omogućuje korisniku uvid u poruke na toj

aplikaciji čak i kad on nije spojen na mrežu.

Prema ekstenziji ove datoteke “.db” može se zaključiti da se radi o SQLite

bazi podataka. Datoteke s ekstenzijom “.db” su korištene na raznim mobilnim

terminalnim uređajima s operativnim sustavima Android, iOS i Windows Phone 7, a

unutar njih se pohranjuju i podaci imenika, SMS i između ostalog podaci aplikacija

kao što je u ovom slučaju, [38].

Datoteka “direct.db-jurnal” je datoteka koje se automatski generira prilikom

provođenja transakcija u SQLite bazama podataka. Transakcije, u smislu baza

podataka, su nizovi operacija nad bazom koje je moguće potvrditi ili opozvati, što

vraća bazu u početno stanje prije ulaska u niz operacija unutar transakcije, [39].

Kako bi se obavila logička ekstrakcija datoteke “direct.db” potrebno je

promijeniti dozvole nad tom datotekom. Korištenjem naredbe “chmod 777” nad tom

datotekom, kao što je prikazano na slici 9 omogućuje se čitanje, a s tim i kopiranje,

te datoteke od svih korisnika. Kao što je prikazano na slici 10 naredbom “adb pull”

se datoteka “direct.db” kopira, odnosno preuzima, na domaćinsko računalo, [40].

Page 23: Ekstrakcija podataka sustava za razmjenu poruka društvenih

17

Slika 9. Izmjena dozvola datoteke “direct.db”

Slika 10. Logička ekstrakcija datoteke “direct.db”

Za validaciju datoteka prikupljenih različitim metodama ekstrakcije koristi se

usporedba hash vrijednosti datoteka. Hash funkcija je algoritam koja pretvara ulaz

varijabilne veličine u izlaz određene veličine, odnosno hash vrijednost. Digitalni

forenzički alati često sami računaju hash vrijednosti datoteka. Hash funkcije koje se

najčešće koriste u digitalnoj forenzici su MD5 i SHA-1, [41].

Na ovom primjeru je za računanje MD5 hash vrijednosti datoteke “direct.db”

prikupljene logičkom ekstrakcijom je korišten programski paket md5sum za Linux

operativne sustave. Ovaj programski paket se inače često koristi pri validaciji

integriteta preuzetog sadržaja, [42]. Korištenje md5sum nad navedenom datotekom

i rezultat, odnosno dobivena hash vrijednost su prikazani na slici 11.

Slika 11. Generiranje MD5 vrijednosti baze podataka

Baza podataka koja je prikupljena fizičkom ekstrakcijom se nalazi unutar

image-a koji je urađen u drugom poglavlju te pokrenut u forenzičkom alatu Autopsy.

Pretraživačem ugrađenim unutar forenzičkog alata Autopsy pronađena je datoteka

“direct.db” te se odabirom svojstva te datoteke dolazi do tablice koja sadržava

detaljnije podatke o toj datoteci. Između ostaloga među tim podacima se nalazi i

vrijednost MD5 hash funkcije za navedenu datoteku. Rezultat hash funkcije za

navedenu datoteku prikupljenu fizičkom ekstrakcijom je

e5445255a0de5ac1a9d8076d06728102, kao što je i prikazano na slici 12 i on

odgovara hash vrijednosti datoteke prikupljene logičkom ekstrakcijom.

Page 24: Ekstrakcija podataka sustava za razmjenu poruka društvenih

18

Slika 12. Detaljni podaci o datoteci “direct.db” iz forenzičkog alata Autopsy

Nakon validacije prikupljene datoteke, odnosno baze podataka je potrebno

analizirati. Za analizu ovih baza podataka korišteni su programski alati koji

omogućavaju čitanje sadržaja SQLite3 baza podataka. Struktura i sadržaj

prikupljenih baza podataka je obrađena u sljedećem potpoglavlju.

Page 25: Ekstrakcija podataka sustava za razmjenu poruka društvenih

19

4.1.2. Analiza podataka aplikacije Instagram

Grafički prikaz SQLite3 baze podataka “direct.db” generiran je korištenjem

programskog alata DbVisualizer. Ovaj programski alat omogućuje spajanje na sve

popularne vrste baza podataka te generira grafički prikaz te baze podataka u obliku

tablica s ispisanim poljima, odnosno stupcima te pripadajući tip podataka koji je

vezan za taj stupac. Na grafikonu 1 prikazana je shema baze podataka sustava za

razmjenu poruka aplikacije Instagram, [43].

Grafikon 1. Struktura baze podataka “direct.db”

Korištenjem programskog paketa sqliteman, koji je dostupan na Santoku

Linux-u pristupljeno je bazi podataka ”direct.db”. Programski paket sqliteman je

razvojni i administracijski alat koji omogućuje rad sa Sqlite3 bazama podataka

putem grafičkog sučelja, [44].

U ovom radu za potrebe forenzičke analize svi potrebni podaci se nalaze

unutar tablica messages i threads. Ti podaci uključuju sam sadržaj poruke i

vremenske oznake istih, nude još neke informacije kao što su URL profilne slike

korisnika i slično. Kao što je prije navedeno thread predstavlja razgovor u kojemu

sudjeluju dva ili više korisnika. U ovom slučaju svaki thread je posjeduje jedinstveni

identifikator _id na lokalnoj razini te thread_id na razini cijele društvene mreže

Instagram. To znači da će isti razgovor na strani primatelja poruke sigurno imati

jedan thread_id jednake vrijednosti kao onaj prikazan u bazi podataka analiziranog

uređaja dok će se _id iz tablice threads vjerojatno razlikovati.

Page 26: Ekstrakcija podataka sustava za razmjenu poruka društvenih

20

Ostala dva identifikatora u tablici threads predstavljaju identifikator samog

korisnika te identifikator primatelja s nazivima stupaca user_id i recipients_id. Kako

je naziv samog stupca recipients_id u pluralnom obliku govori nam da se u tom polju

mogu nalaziti više primatelja. Sva tri polja identifikatora u ovoj tablici su definirana

kao tekstualna polja iako je njihova vrijednost iskazana samo znamenkama. Prikaz

sadržaja identifikatora unutar tablice threads baze podataka “direct.db” prikazano je

na slici 13.

Slika 13. Prikaz sadržaja tablice threads

Sljedeće polje u ovoj tablici je last_activity_time čiji sadržaj predstavlja

vremensku oznaku posljednje aktivnosti unutar ovog razgovora. Ta vremenska

oznaka je izražena u Unix vremenu, koje je također poznato kao UNIX Epoch time.

Tim se oblikom vremenske oznake prikazuje koliko je sekundi, odnosno u ovom

slučaju se radi o mikrosekundama na što ukazuje šesnaesteroznamenkasti zapis

unutar ovoga polja, proteklo od 1. siječnja 1970. godine u 00:00 po vremenskoj zoni

koordiniranog svjetskog vremena (eng. Coordinated Universal Time, UTC). Sve

vremenske oznake u Linux sustavima, među koje spade i Android OS, se mjere na

ovaj način, [45].

Na slici 14 prikazane su vremenske oznake posljednjih aktivnosti u

razgovorima iskazane u mikrosekundama proteklim od Unix Epoch korištenjem

programskog alata DbVisualizer.

Slika 14. Prikaz sadržaja tablice threads

Posljednja dva stupca u tablici threads baze podataka “direct.db” su

is_permited i thread_info. Unutar stupca is_permited brojevima 0 ili 1 označuje se

je li je ovaj razgovor odobren. Vrijednosti 0 i 1 predstavljaju vrijednost netočno (eng.

false) i točno (eng. true) u logičkoj algebri. Kao što je prije spomenuto u ovom

poglavlju, ukoliko korisnik zaprimi poruku od korisnika kojeg ne prati poruka će biti

stavljena na čekanje što znači da će is_permited imati vrijednost 0 sve dok

potencijalni primatelj ne odobri razgovor s korisnikom kojeg ne prati. Korisnici u

ovom primjeru su se međusobno pratili (eng. follow) na Instagram-u stoga početna

vrijednost ovoga polja je bila 1, odnosno razgovor nije savljen na čekanje do

odobravanja nego je od početka odobren.

Page 27: Ekstrakcija podataka sustava za razmjenu poruka društvenih

21

Stupac thread_info sadrži detaljne informacije o razgovoru, odnosno thread-

u pohranjenom u JSON formatu. JavaScript Object Notation ili JSON je format za

razmjenu podataka koji je, iako mu samo ime naznačuje drugačije, namijenjen

razmjeni strukturiranih podataka između svih programskih jezika, [46]. Iako se

podaci unutar njega zapisuju u tekstualnom obliku koji je čovjeku čitljiv. U slučaju

složenije strukture bez korištenja dodatnih alata on može biti teško shvatljiv i

nerazumljiv, kao što je u slučaju u ovom primjeru.

Korištenjem alata za formatiranje i validaciju JSON podataka pod nazivom

JSON Formatter [47] sadržaj stupca thread_info je preoblikovan u lakše čitljiv oblik.

Na slici 15 je prikazan je dio korisničkog sadržaja ovoga polja i vidljivo je da sadrži

neke podatke koji su se već nalazili u tablici, kao što su thread_id i vremenska

oznaka, te neke dodatne podatke i metapodatke o korisniku kao što su URL njegove

profilne slike, broj pratitelja i da li se radi o verificiranom Instagram korisniku.

Page 28: Ekstrakcija podataka sustava za razmjenu poruka društvenih

22

Slika 15. Prikaz sadržaja polja thread_info tablice threads

Tablica koja sadrži najviše podataka unutar baze “direct.db” sa stajališta

forenzičke analize je tablica messages. Unutar ove tablice su pohranjene najbitnije

informacije koje je potrebno prikazati kod forenzičke analize bilo kakvog sustava

razmjene poruka. Ti podaci uključuju identiteti pošiljatelja i primatelja, odnosno

sudionika razgovora, sadržaj poruka i vremenske oznake istih poruka. Tablica

messages sadrži nekoliko redundantnih stupaca u odnosu s tablicom threads, kao

što su user_id, thread_id i recipient_ids te dva identifikatora koja su jedinstvena za

ovu tablicu, client_item_id i server_item_id. U recima unutar kojih se nalazi poruka

koja je generirana od strane korisnika uređaja polje client_item_id posjeduje

vrijednost dok u ostalima, odnosno zaprimljenim porukama, zauzima vrijednost null.

Page 29: Ekstrakcija podataka sustava za razmjenu poruka društvenih

23

U stupac timestamp je kao zapisana vremenska oznaka trenutka u kojemu je

poruka poslana te je ona kao i u slučaju kod tablice threads zapisana u Unix Epoch

mikrosekundama. Stupac message_type definira tip sadržaja poruke, koji su u ovom

primjeru svi tekstualni, te ga slijedi stupac text u kojemu se nalazi sami tekst poruke.

Sadržaj tablice messages prikazan je na slici 16.

Slika 16. Prikaz sadržaja tablice messages

Kao i kod tablice threads, stupac s najviše informacija je onaj zapisan u JSON

formatu. I u ovome polju se nalaze neki redundantni podaci iz prethodnih polja kao

što su timestamp, identifikatori, tip poruke te sam sadržaj poruke. Važno je

spomenuti da se u ovome polju u JSON format pohranjuju samo detaljniji podaci o

pošiljatelju poruke, a da se primatelj referencira samo u obliku identifikatora

thread_id i recipient_ids. Osim toga, važno je spomenuti i da se unutar jednog

Instagram korisničkog računa razlikuju dvije vrste imena, to su username i

full_name. Formatirani sadržaj ovoga polja prikazan je na slici 17.

Page 30: Ekstrakcija podataka sustava za razmjenu poruka društvenih

24

Slika 17. Prikaz sadržaja polja message unutar tablice messages

Unutar tablica baze podataka ”direct.db” dostupni su podaci kao što su

pošiljatelj, primatelj, vremenska oznaka i sadržaj poruke, a to su svi podaci potrebni

za definiranje jedne tekstualne poruke. U šestom poglavlju ti podaci će biti

iskorišteni za rekonstrukciju razgovora obavljenih korištenjem sustava za razmjenu

poruka aplikacije Instagram.

Page 31: Ekstrakcija podataka sustava za razmjenu poruka društvenih

25

4.2. Aplikacije za razmjenu poruka društvene mreže

Facebook

Službene aplikacije za operativni sustav Android izdane od tvrtke Facebook

uključuju aplikaciju Facebook, Facebook Lite, Messenger i Messenger Lite te one

zajedno imaju preko 2,5 milijardi instalacija na Android uređaje putem Google-ovog

servisa za distribuciju aplikacija, [48], [49], [50], [51].

Facebook je zasnovan 2004. godine kao društvena mreža za studente

Harvard-a, a poslije i drugih sveučilišta. Unatoč brzom širenju Facebook je bio

zatvorena ili polu-zatvorena društvena mreža sve do 2007. godine kada se u

potpunosti otvorio i postao dostupan svim korisnicima, [52].

Instant messaging mogućnost za Facebook se prvi put pojavljuje 2008.

godine na web temeljenom sučelju, a Facebook Messenger aplikacija za uređaje s

Android i iOS operativnim sustavom se pojavljuje istovremeno na tržištu 2011.

godine, [53], [54].

Facebook Messenger Lite je verzija ove aplikacije namijenjena starijim i

sporijim uređajima te korisnicima sa sporijim brzinama pristupa. Ova verzija

aplikacije je izdana 2017. godine te je vrlo brzo dostigla preko 200 milijuna korisnika.

Messenger Lite verzije 35.1.0.18.192 izdan u lipnju 2018. godine je korišten

u ovome diplomskom radu kao primjer, [55]. Kao i u primjeru s Instagram-om

otvorena su tri korisnička računa za društvenu mrežu Facebook i jedan od tih računa

se koristio na uređaju. Korištenjem osobnog računala putem ostala dva korisnička

računa razmijenjene su poruke s korisničkim računom na uređaju s ciljem naknadne

provedbe forenzičke analize nad istim. Tekst razgovora je preuzet s [31] i [32], i

primjer rezultata ručne ekstrakcije podataka sustava s aplikacije Messenger Lite je

prikazan na slici 18.

Page 32: Ekstrakcija podataka sustava za razmjenu poruka društvenih

26

Slika 18. Ručna ekstrakcija podataka aplikacije Messenger Lite

Logička ekstrakcija podataka na kojima se nalazi ovaj razgovor je tema

sljedećeg podpoglavlja. Podaci prikupljeni tim načinom ekstrakcije potrebno je

validirati usporedbom s podacima prikupljenim fizičkom ekstrakcijom koja je opisana

u drugom poglavlju rada.

Page 33: Ekstrakcija podataka sustava za razmjenu poruka društvenih

27

4.2.1. Logička ekstrakcija podataka aplikacije Messenger Lite

Identifikator aplikacije applicationId koji je spomenut u prethodnom

potpoglavlju za aplikaciju Messenger Lite je com.facebook.mlite, [33]. Kao i u

slučaju aplikacije Instagram, na uređaju se prilikom instalacije aplikacije u direktoriju

“/data/data” stvara mapa koja imenom odgovara navedenom applicationId-u te se u

nju pohranjuju podaci aplikacije. Sadržaj i lokacija datotečnog sustava

“/data/data/com.facebook.mlite” i “/data/data/com.facebook.mlite/databases” su

prikazani na slici 19.

Slika 19. Sadržaj poddirektorija “com.facebook.mlite”

Za razliku od aplikacije Instagram, u poddirektoriju “databases” se ne nalazi

jedna nego tri baze podataka. Kako bi se izvršila logička ekstrakcija ovih baza s

uređaja potrebno je kao i u prethodnom slučaju promijeniti dozvole tih datoteka te

nakon toga izvršiti naredbu “adb pull” za te datoteke kako bi se one pohranile na

domaćinsko računalo. Taj postupak je prikazan na slikama 20 i 21, [40].

Slika 20. Izmjena dozvola datoteka unutar poddirektorija “databases”

Page 34: Ekstrakcija podataka sustava za razmjenu poruka društvenih

28

Slika 21. Logička ekstrakcija datoteka

Korištenjem programskog paketa sqliteman analizirane su SQLite3 datoteke

baza podataka “core.db”, “cross_account.db” i “omnistore.db”. Sadržaj baze

podataka “cross_account.db” uključuje tablicu accounts unutar koje je ispunjen

postoji samo jedan redak, onaj s podacima o korisničkom računu vlasnika uređaja,

to jest o Facebook korisničkom računu korisnika koji je trenutno prijavljen unutar

ove aplikacije. Ti podaci, kao što je prikazano na slici 22 uključuju jedinstveni

identifikator korisnika user_id, korišteno korisničko ime kao display_name te URL

za profilnu sliku korisnika koji se pohranjuje unutar stupca profile_pic.

Slika 22. Sadržaj baze “cross_account.db”

Baza podataka “omnistore.db” sadrži veći broj tablica koje se koriste za rad

same aplikacije, ali nisu bitne za provođenje ove forenzičke analize. Ono što je kod

aplikacije Instagram bila baza podataka “direct.db”, odnosno datoteka gdje su

pohranjeni podaci o razgovorima, sudionicima razgovora i sadržaji samih poruka

kod aplikacije Messenger Lite je baza “core.db”. Kako bi usporedili datoteku, to jest

bazu podataka “core.db” prikupljenu logičkom ekstrakcijom s onom prikupljene

fizičkom ekstrakcijom prilikom image-a interne memorije uređaja generirana je MD5

hash vrijednost te baze podataka korištenjem “md5sum” kao što je prikazano na

slici 23.

Slika 23. Generiranje MD5 vrijednosti baze podataka “core.db”

Page 35: Ekstrakcija podataka sustava za razmjenu poruka društvenih

29

Za validaciju potrebno je usporediti podatke prikupljene korištenjem različitih

metoda ekstrakcije. Baza podataka prikupljena fizičkom ekstrakcijom, koja je

opisana u drugom poglavlju rada, se nalazi unutar image-a koji je kreiran te pokrenut

u forenzičkom alatu Autopsy. Pretraživačem ugrađenim unutar forenzičkog alata

Autopsy pronađena je datoteka “core.db” te se odabirom svojstva te datoteke dolazi

do tablice koja sadrži detaljnije podatke o toj datoteci. Između ostaloga među tim

podacima se nalazi i vrijednost MD5 hash funkcije za navedenu datoteku. Rezultat

hash funkcije za navedenu datoteku prikupljenu fizičkom ekstrakcijom je

d2e922c21088738ecec2a1578cd9d0b8, kao što je i prikazano na slici 24. i on

odgovara hash vrijednosti datoteke prikupljene logičkom ekstrakcijom.

Slika 24. Detaljni podaci o datoteci “core.db” iz forenzičkog alata Autopsy

Nakon validacije prikupljene datoteke, odnosno baze podataka je potrebno

analizirati. Za analizu ovih baza podataka korišteni su programski alati koji

omogućavaju čitanje sadržaja SQLite3 baza podataka. Struktura i sadržaj

prikupljenih baza podataka je obrađena u sljedećem potpoglavlju.

Page 36: Ekstrakcija podataka sustava za razmjenu poruka društvenih

30

4.2.2. Analiza podataka aplikacije Messenger Lite

Kao i u slučaju aplikacije Instagram grafički prikaz SQLite3 baze podataka

generiran je korištenjem programskog alata DbVisualizer. Na grafikonu 2. prikazana

je shema baze podataka sustava “core.db” aplikacije Messenger Lite. Ova baza je

znatno složenija i njoj se nalazi znatno više tablica u odnosu na bazu podataka

unutar koje se pohranjuju podaci sustava za razmjenu poruka aplikacije društvene

mreže Instagram. Jedan od razloga tomu je to što unutar “core.db” ne postoje polja

u koje je unesen JSON zapis s detaljnim opisom poruke nego je za svaki podatak

korišten zaseban stupac, [43].

Grafikon 2. Struktura baze podataka “core.db” dobivena korištenjem alata

DbVisualizer

Tablica threads sadrži stupce kao što su identifikator thread_key, ime

razgovora thread_name, sadržaj posljednje poruke u razgovoru unutar stupca

last_message te vremensku oznaku posljednje poruke u razgovoru. Vremenske

Page 37: Ekstrakcija podataka sustava za razmjenu poruka društvenih

31

oznake u ovoj bazi su kao i u “core.db” izražene u Unix Epoch vremenu samo što

su za razliku od mikrosekunda koje su korištene u aplikaciji Instagram ovdje kao

mjerna jedinica vremenskog zapisa korištene milisekunde, odnosno

trinaesteroznamenkasti brojevni zapis, [45].

Unutar tablice contact zapisani su pojedini detalji o svim korisnicima s kojima

je korisnik kontaktirao koristeći sustav za razmjenu poruka društvene mreže

Facebook s tim da su unutar retka s identifikatorom _id s vrijednosti 1 zapisani

podaci o samom korisniku koji je prijavljen na Messenger Lite aplikaciju analiziranog

uređaja. Bitni stupci iz ove tablice za provedbu forenzičke analize u svrhu ovog

diplomskog rada su contact_user_id koji se referira na user_id unutar drugih tablica,

kao što je tablica messages, te name stupac koji sadrži ima korisnika.

Kao što je i u prethodnom potpoglavlju bio slučaj, najsadržajnija tablica unutar

baze “core.db” sa stajališta forenzičke analize je tablica messages. Unutar ove

tablice su pohranjene najbitnije informacije koje je potrebno prikazati kod forenzičke

analize bilo kakvog sustava razmjene poruka. Ti podaci uključuju identitete

pošiljatelja i primatelja, odnosno sudionika razgovora, sadržaj poruka i vremenske

oznake istih poruka. Unutar ove tablice se nalazi stupac thread_key koji se referira

na stupac s istim nazivom unutar tablice threads te stupac user_id koji predstavlja

identifikator korisnika koji je generirao poruku te ste vrijednosti toga stupca referiraju

na vrijednosti unutar contact_user_id stupac tablice contact.

U stupac timestamp je kao zapisana vremenska oznaka trenutka u kojemu je

poruka poslana te je zapisana u Unix Epoch milisekundama. Sami tekst poruke

poslane korištenjem aplikacije Messenger Lite se pohranjuje unutar stupca snippet,

kao što je prikazano na slici 25. Osim toga unutar ove tablice postoje stupci

message_id gdje se pohranjuje jedinstveni identifikator pojedine poruke te

profile_image_url gdje je pohranjen URL profilne slike pošiljatelja poruke.

Slika 25. Sadržaj tablice messages baze podataka “core.db”

Page 38: Ekstrakcija podataka sustava za razmjenu poruka društvenih

32

Iz priloženog je vidljivo da svi potrebni podaci koji definiraju jednu tekstualnu

poruku, a to su pošiljatelj, primatelj, vremenska oznaka i sadržaj poruke, se nalaze

unutar tablica u bazi podataka “core.db”. Pomoću tih podataka moguće je

rekonstruirati razgovore obavljene korištenjem aplikacije Messenger Lite, što je

tema sljedećeg poglavlja.

Page 39: Ekstrakcija podataka sustava za razmjenu poruka društvenih

33

5. OBRADA I PRIKAZ SARŽAJA PRIKUPLJENOG

FORENZIČKOM ANALIZOM

Kako bi se faza prezentacije provedbe forenzičke analize mobilnog

terminalnog uređaja prema referentnoj metodologiji proveo što jednostavnije,

odnosno kako bi se u fazi prezentacije što jasnije prikazao sadržaj samih dokaza

potrebno ih je dostaviti u lako razumljivom obliku. Same baze podataka će

neupućenim osobama biti nejasne iako se iz njihovog sadržaja jasno vidi da se radi

o porukama koje su slane ili primane. Osim toga, vremenske oznake su zapisane u

ljudima nerazumljivom obliku i potrebno ih je pretvoriti u svima čitljiv oblik.

Skripta koja radi parsiranje sadržaja baza podataka "core.db" i "direct.db"

napisana je u programskom jeziku Python. Ta skripta služi kako bi se generirao

sadržaj sustava za razmjenu poruka aplikacija društvenih mreža Instagram i

Facebook u prezentnom i čovjeku lako čitljivom obliku u usporedbi na sadržaj koji

je dostupan pregledom baze iz programskog alata Sqliteman i DbVisualizer. Python

je skriptni programski jezik visoke razine, koji je interpretiran, interaktivan i objektno

orijentiran. Dizajniran je tako da ga je jako lako čitati. Često se koriste ključne riječi

na engleskome jeziku gdje drugi programski jezici koriste interpunkciju te zahtjeva

manji broj sintaksnih konstrukcija, [56].

Pri izvedbi ove skripte korišteni su moduli sqlite3, time i JSON koji redom

omogućavaju rad sa SQLite3 bazama podataka unutar Python-a, generiranje

vremena i rad s vremenom te rad s JSON objektima, [57]. Dodatne korištene

programske biblioteke koje je potrebno preuzeti su pandas i fpdf. Moduli koje sadrži

biblioteka pandas pružaju alate za strukturiranje i analizu podataka. U ovome

primjeru pandas moduli su korišteni za pretvaranje Unix Epoch vremenskih oznaka

u lako čitljiv oblik. Programska biblioteke fpdf, odnosno PyFPDF omogućuje

generiranje PDF dokumenata u Python programskom jeziku, [58], [59].

Razlog korištenja UTC vremena, odnosno univerzalnog vremena, je zato što

se svi vremenski zapisi u bazama podataka aplikacija pohranjuju u tom obliku, a

vremenske oznake prikazane unutar aplikacije se računaju korištenjem postavki

vremenske zone. To znači da u slučaju promjene same vremenske zone na uređaju

promijenit će se prikazano vrijeme, ali će vrijeme unutar baze ostati jednako, kako

je prikazano na slici 26, [60].

Page 40: Ekstrakcija podataka sustava za razmjenu poruka društvenih

34

Slika 26. Prikaz povezanosti postavki vremenske zone i prikazane vremenske

oznake unutar aplikacije

Na početku skripte se uvoze potrebni moduli te se otvara tekstualni dokument

koji u nazivu sadrži "ig_izlaz" i vremensku oznaku trenutka izvršavanja pisanu

prema ISO 8601 standardu, kao što je prikazano na slici 27. Nakon toga se spaja

na bazu podataka i deklariraju se kursori koji će vršiti SQL upite nad istom bazom

podataka. U tekstualni dokument se upisuje zaglavlje stranice koje sadrži naslov,

vrijeme obrade te korisničko ime vezano za navedenu bazu podataka uključujući

prije spomenute username i full_name, [61].

Page 41: Ekstrakcija podataka sustava za razmjenu poruka društvenih

35

Slika 27. Prvi dio skripte “igizl.py”

Prva petlja prebrojava broj razgovora odnosno thread-ova iz tablice threads

te u tekstualnu datoteku upisuje korisnika s kojim je razgovor obavljen. Druga

ugniježđena petlja pretvara poruke iz tablice messages u čovjeku lako čitljiv oblik

zajedno s vremenskom oznakama formatiranim korištenjem modula pandas i

korisničkim imenima kao što je prikazano na slici 28.

Page 42: Ekstrakcija podataka sustava za razmjenu poruka društvenih

36

Slika 28. Drugi dio skripte “igizl.py”

Na posljetku se taj tekstualni dokument pretvara u PDF datoteku korištenjem

mogućnosti fpdf modula koja se generira u istu mapu sa skriptom i bazom podataka

kao što je prikazano na slici 29.

Slika 29. Treći dio skripte “igizl.py”

Page 43: Ekstrakcija podataka sustava za razmjenu poruka društvenih

37

Izgled sadržaja izvještaja generiranog pokretanjem Python skripte “igizl.py”

prikazan je na slici 30.

Slika 30. Sadržaj generiranog izvještaja “ig_izlaz_2018-09-01T110252Z.pdf”

Na sličan način kao skripta koja generira izvještaj o sadržaju sustava za

razmjenu poruka aplikacije Instagram radi i skripta koja sa spaja na bazu podataka

“core.db” koju koristi Messenger Lite te iz nje generira izvještaj u obliku PDF

datoteke. Kod same skripte s upisanim komentarima prikazan je na slikama 31, 32

i 33.

Slika 31. Prvi dio skripte “fbizl.py”

Page 44: Ekstrakcija podataka sustava za razmjenu poruka društvenih

38

Slika 32. Drugi dio skripte “fbizl.py”

Page 45: Ekstrakcija podataka sustava za razmjenu poruka društvenih

39

Slika 33. Treći dio skripte “fbizl.py”

Pokretanje skripte “fbizl.py” s dostupnom bazom podataka “core.db” generira

izvještaje u tekstualnom obliku kao .txt datoteku i PDF datoteku kao što je prikazano

na slici 34.

Slika 34. Generirane datoteke

Format generirane PDF datoteke je sličan onome kojeg generira prethodna

skripta te je sadržaj te datoteke prikazan na slici 35.

Page 46: Ekstrakcija podataka sustava za razmjenu poruka društvenih

40

Slika 35. Sadržaj generiranog izvještaja “fb_izlaz_2018-09-01T104935Z.pdf”

Page 47: Ekstrakcija podataka sustava za razmjenu poruka društvenih

41

6. ZAKLJUČAK

U ovom diplomskom radu naslovljenom Ekstrakcija podataka sustava za

razmjenu poruka društvenih mreža u svrhu forenzičke analize obrađena je tema

forenzike i digitalne forenzike te uže grane digitalne forenzike u obliku forenzičke

analize mobilnih terminalnih uređaja. Prikazana je referentna metodologija koja se

koristi pri provođenju forenzičke analize mobilnih terminalnih uređaja i postupci

ekstrakcije podataka s kojima se dolazi do sadržaja koji obradom postaje digitalni

dokaz. Korištenjem raznih alata na više platformi obrađen je sadržaj unutarnje

pohrane mobilnog terminalnog uređaja. Opisani su trendovi koji prate društvene

mreže, komunikaciju putem istih i dokazi koji su dostupni na različitim društvenim

mrežama. Detaljno su obrađene dvije aplikacije društvenih mreža namijenjene

Android operativnom sustavu te je detaljno istražen način na koji njihov sustav za

razmjenu poruka pohranjuje podatke na memoriju mobilnog terminalnog uređaja.

Korištenjem spoznaja o bazama podataka koje se nalaze na samom uređaju na koje

te iste aplikacije lokalno pohranjuju sadržaj sustava za razmjenu podataka uspješno

je rekonstruiran razgovor koji se vodio putem društvene mreže.

U ovom diplomskom radu je prikazano kako korištenjem programskih paketa

i forenzičkih alata otvorenog koda doći do digitalnih dokaza koji se nalaze u

sustavima za razmjenu podataka aplikacija društvenih mreža za pametne mobilne

terminalne uređaje s Android operativnim sustavom. Nakon provedene ekstrakcije

podataka na različite načine uspješnost istih je potvrđena validacijom usporedbom

hash vrijednosti i samog sadržaja. Analizirana je struktura i sadržaj baza podataka

aplikacija Instagram i Messenger Lite te su u njima prepoznati identifikatori,

vremenske oznake te sam sadržaj poruka. Korištenjem tih spoznaja napisana je

skripta u programskom jeziku Python koja iz podataka prikupljenih forenzičkom

analizom generira ispis koji sadrži rekonstruirane razgovore zajedno s imenima

sudionika, vremenskim oznakama poruka i sadržajem istih. Za pretpostaviti je da se

saznanja prikupljena tijekom proučavanja ovih dviju aplikacija mogu prenijeti i na

druge aplikacije koje sadrže sustav za razmjenu poruka koji podatke ili barem dio

njih pohranjuje na memoriju uređaja. Kod takvih aplikacija, korištenjem sličnih

metoda kao u slučaju s dvije aplikacije obrađene u ovom diplomskom radu, moguće

je izvršiti rekonstrukciju razgovora obavljenih putem njih.

Page 48: Ekstrakcija podataka sustava za razmjenu poruka društvenih

42

LITERATURA

[1] Prahlow JA. Forensic Pathology for Police, Death Investigators, Attorneys, and

Forensic Scientists. SAD: Springer; 2010.

[2] US-CERT. Computer Forensic, SAD, 2008.

[3] Gogolin G. Digital Forensic Explained. SAD: CRC Press; 2013.

[4] Cybersecurity Nexus. Overview of Digital Forensics, SAD: ISACA; 2015.

[5] Marcella AJ, Menendez D. Cyber Forensics. SAD: Auerbach Publications; 2008.

[6] Vojković G, Štambuk-Sunić M. Konvencija o kibernetičkom kriminalu i Kazneni

zakon Republike Hrvatske. Zbornik radova Pravnog fakulteta u Splitu. 2006;43(1):

123-136.

[7] Sadiku MNO, Tembely M, Musa SM. Digital Forensics. International Journal of

Advanced Research in Computer Science and Software Engineering. 2017;7(4):

274-276.

[8] Khanuja HK, Adane DS. A Framework for Database Forensic. Computer Science

& Engineering: An International Journal. 2012;2(3): 27-41.

[9] Murphy CA. Developing Process for Mobile Device Forensics, SAD, 2013.

[10] The Royal Society. Forensic DNA Analysis: primer for courts, UK, 2017.

[11] Barton T, Hannan Bin Azhar MA. Forensic Analysis of the Recovery of Wickr's

Ephemeral Data on Android Platforms, CYBER 2016 : The First International

Conference on Cyber-Technologies and Cyber-Systems, Italija, 2016.

[12] BusyBox. Preuzeto sa: https://busybox.net/ [Pristupljeno: lipanj 2018.]

[13] Santoku Linux. Preuzeto sa: https://santoku-linux.com/ [Pristupljeno: lipanj

2018.]

[14] Android Debug Bridge. Preuzeto sa: https://developer.android.com/studio/com

mand-line/adb.html [Pristupljeno: lipanj 2018.]

[15] Red Hat. Red Hat Enterprise Linux 6: Deployment Guide, SAD, 2017.

[16] SanDisk. MultiMediaCard Product Manual, SAD, 2003.

[17] Kingston Technology. Embedded Multimedia Card, Tajvan, 2014.

[18] Live imaging an Android device. Preuzeto sa: http://freeandroidforensics.blogsp

ot.ba/2014/08/live-imaging-android-device.html [Pristupljeno: lipanj 2018.]

[19] Vandeven S. Forensic Images: For Your Viewing Pleasure. SAD: The SANS

Institute; 2014.

Page 49: Ekstrakcija podataka sustava za razmjenu poruka društvenih

43

[20] Keffer J. Autopsy Forensic Browser User Guide, Kanada, 2013.

[21] Texting Is In Decline. http://uk.businessinsider.com/whatsapp-vs-texting-

statistics-2015-1 [Pristupljeno: lipanj 2018.]

[22] SMS vs IM. Preuzeto sa: https://smswarriors.com/sms-vs-im/ [Pristupljeno:

lipanj 2018.]

[23] Wonk K, Lai ACT, Yeung JCK, Lee WL, Chan PH. Facebook Forensics. Hong

Kong: Valkyrie-X Security Research Group; 2011.

[24] Yusoff MN, Dehghantanha A, Mahmod R. Forensic Investigation of Social

Media and Instant Messaging Services in Firefox OS: Facebook, Twitter, Google+,

Telegram, OpenWapp and Line as Case Studies, Contemporary Digital Forensic

Investigations Of Cloud And Mobile Applications, SAD, 2017.

[25] Walnycky D, Baggili I, Marrington A, Moore J, Breitinger F. Network and device

forensic analysis of Android social.messaging applications. Digital Investigation.

2015;14(1): 77-84.

[26] Bair J. Seeking Truth from Mobile Evidence. UK: Academic Press; 2018.

[27] Instagram - Apps on Google Play. Preuzeto sa: https://play.google.com/store

/apps/details?id=com.instagram.android [Pristupljeno: lipanj 2018.]

[28] 4imprint. Instagram Blue Paper, SAD, 2014.

[29] Herman J. The Ultimate Begginer’s Guide to Instagram, USA, 2014.

[30] Instagram 49.0.0.15.89 APK. Preuzeto sa: https://www.apkmirror.com/apk

/instagram/instagram-instagram/instagram-instagram-49-0-0-15-89-113249-

release/ [Pristupljeno: lipanj 2018.]

[31] How is your day - Example Conversation. Preuzeto sa: https://www.talkenglish.

com/lessondetails.aspx?ALID=529 [Pristupljeno: kolovoz 2018.]

[32] How is your day - Interactive Practice . Preuzeto sa: https://www.talkenglish.

com/lessonpractice.aspx?ALID=553 [Pristupljeno: kolovoz 2018]

[33] Set the application ID. Preuzeto sa: https://developer.android.com/studio/build

/application-id [Pristupljeno: lipanj 2018.]

[34] Chandrakumar FJ. An evidence-based Android cache forensics model,

Australija, 2014.

[35] Levin J. Android Internals: A Confectioner's Cookbook. SAD: Technologeeks;

2015.

[36] Google. Android Security White Paper, SAD, 2016.

Page 50: Ekstrakcija podataka sustava za razmjenu poruka društvenih

44

[37] Directory Permission 751 for Mac Linux and Unix. Preuzeto sa: http://www.filep

ermissions.com/directory-permission/751 [Pristupljeno: srpanj 2018.]

[38] DB File Extension. Preuzeto sa: https://fileinfo.com/extension/db [Pristupljeno:

srpanj 2018.]

[39] Manger R. Baze podataka – skripta, Prirodoslovno-matematički fakultet,

Zagreb, 2003.

[40] Android ADB Shell – adb pull. Preuzeto sa: http://adbshell.com/commands/adb-

pull [Pristupljeno: srpanj 2018.]

[41] Kumar K, Sofat S, Jain SK, Aggarwal N. Significance of Hash Value Generation

in Digital Forensic: A Case Study. International Journal of Engineering Research

and Development. 2012;2(5): 64-70.

[42] Cisco. How to Validate the Integrity of Downloaded File, SAD, 2018.

[43] DbVisualizer. Preuzeto sa: https://www.dbvis.com/ [Pristupljeno: srpanj 2018.]

[44] Sqliteman. Preuzeto sa: http://sqliteman.yarpen.cz/ [Pristupljeno: srpanj 2018.]

[45] Matthew N, Stones R. Beginning Linux Programming. SAD: Wiley; 2008.

[46] ECMA: The JSON Data Interchange Syntax, Švicarska, 2017.

[47] JSON Formatter & Validator. Preuzeto sa: https://jsonformatter.curiousconcep

t.com [Pristupljeno: srpanj 2018.]

[48] Facebook - Apps on Google Play. Preuzeto sa: https://play.google.com/store

/apps/details?id=com.facebook.katana [Pristupljeno: kolovoz 2018.]

[49] Facebook Lite - Apps on Google Play. Preuzeto sa: https://play.google.com

/store/apps/details?id=com.facebook.lite [Pristupljeno: kolovoz 2018.]

[50] Messenger - Apps on Google Play. Preuzeto sa: https://play.google.com/store

/apps/details?id=com.facebook.orca [Pristupljeno: kolovoz 2018]

[51] Messenger Lite - Apps on Google Play. Preuzeto sa: https://play.google.com

/store/apps/details?id=com.facebook.mlite [Pristupljeno: kolovoz 2018.]

[52] Croft C. A Brief History of The Facebook, Kanada, 2008.

[53] Facebook Chat Launches, For Some. Preuzeto sa: https://techcrunch.com

/2008/04/06/facebook-chat-enters-pre-release-beta/ [Pristupljeno: kolovoz 2018.]

[54] Facebook Launches Standalone iPhone/Android Messenger App. Preuzeto sa:

https://techcrunch.com/2011/08/09/facebook-launches-standalone-mobile-

messenger-app-and-it’s-beluga/ [Pristupljeno: kolovoz 2018.]

Page 51: Ekstrakcija podataka sustava za razmjenu poruka društvenih

45

[55] Messenger Lite 35.1.0.18.192 APK. Preuzeto sa: https://mobile.softpedia.com

/apk/messenger-lite/35.1.0.18.192/ [Pristupljeno: kolovoz 2018.]

[56] Tutorials Point. Python Programming Language, Indija, 2014.

[57] Ivić S, Crnković B, Škifić J, Čavrak M. Python u računarskom inženjerstvu,

Tehnički fakultet, Rijeka, 2015.

[58] pandas: Python Data Analysis Library. Preuzeto sa: https://pandas.pydata.org/

[Pristupljeno: kolovoz 2018.]

[59] PyFPDF. Preuzeto sa: https://pypi.org/project/fpdf/ [Pristupljeno: kolovoz 2018.]

[60] TimeZone. Preuzeto sa: https://developer.android.com/reference/java/util

/TimeZone [Pristupljeno: kolovoz 2018.]

[61] International Standard Organization. ISO/WD 8601 - Data elements and

interchange formats, Švicarska, 2016.

Page 52: Ekstrakcija podataka sustava za razmjenu poruka društvenih

46

POPIS KRATICA

SMS – Short Message Service

DNK – deoksiribonukleinska kiselina, nositelj genetičke informacije

GB – gigabyte

OS – operativni sustav

USB – Universal Serial Bus

mmc, MMC – Multi Media Card

eMMC – Embedded Multi Media Card

TCP – Transfer Control Protocol

UDP – User Datagram Protocol

TCP/IP - IP grupa protokola

nc - netcat

IG – Instagram

ID – identity

UID – user identity

MD5 – message-digest algorithm

SHA-1 – Secure Hash Algorithm 1

URL – Uniform Resource Locator

UTC – Coordinated Universal time

JSON – JavaScript Object Notation

PDF – Portable Document Format

ISO – International Standard Organization

SQL – Structured Query Language

Page 53: Ekstrakcija podataka sustava za razmjenu poruka društvenih

47

POPIS SLIKA

Slika 1. Prikaz particija memorijskog prostora uređaja

Slika 2. Uspostava konekcije TCP portom

Slika 3. Korištena naredba za ekstrakciju interne memorije uređaja

Slika 4. Pokretanje i izvršavanje ekstrakcije bloka mmcblk0

Slika 5. Datoteke učitane u programski alat Autopsy iz “izlaz.dd”

Slika 6. Validacija usporedbom prikupljenih dokaza korištenjem različite metode

ekstrakcije

Slika 7. Ručna ekstrakcija podataka sustava za razmjenu poruka aplikacije

Instagram

Slika 8. Sadržaj mape “databases” unutar poddirektorija “com.instagram.android”

Slika 9. Izmjena dozvola datoteke “direct.db”

Slika 10. Logička ekstrakcija datoteke “direct.db”

Slika 11. Generiranje MD5 vrijednosti baze podataka

Slika 12. Detaljni podaci o datoteci “direct.db” iz forenzičkog alata Autopsy

Slika 13. Prikaz sadržaja tablice threads

Slika 14. Prikaz sadržaja tablice threads

Slika 15. Prikaz sadržaja polja thread_info tablice threads

Slika 16. Prikaz sadržaja tablice messages

Slika 17. Prikaz sadržaja polja message unutar tablice messages

Slika 18. Ručna ekstrakcija podataka aplikacije Messenger Lite

Slika 19. Sadržaj poddirektorija “com.facebook.mlite”

Slika 20. Izmjena dozvola datoteka unutar poddirektorija “databases”

Slika 21. Logička ekstrakcija datoteka

Slika 22. Sadržaj baze “cross_account.db”

Slika 23. Generiranje MD5 vrijednosti baze podataka “crore.db”

Slika 24. Detaljni podaci o datoteci “core.db” iz forenzičkog alata Autopsy

Slika 25. Sadržaj tablice messages baze podataka “core.db”

Page 54: Ekstrakcija podataka sustava za razmjenu poruka društvenih

48

Slika 26. Prikaz povezanosti postavki vremenske zone i prikazane vremenske

oznake unutar aplikacije

Slika 27. Prvi dio skripte “igizl.py”

Slika 28. Drugi dio skripte “igizl.py”

Slika 29. Treći dio skripte “igizl.py”

Slika 30. Sadržaj generiranog izvještaja “ig_izlaz_2018-09-01T110252Z.pdf”

Slika 31. Prvi dio skripte “fbizl.py”

Slika 32. Drugi dio skripte “fbizl.py”

Slika 33. Treći dio skripte “fbizl.py”

Slika 34. Generirane datoteke

Slika 35. Sadržaj generiranog izvještaja “fb_izlaz_2018-09-01T104935Z.pdf”

Page 55: Ekstrakcija podataka sustava za razmjenu poruka društvenih

49

POPIS GRAFIKONA

Grafikon 1. Struktura baze podataka “direct.db”

Grafikon 2. Struktura baze podataka “core.db” dobivena korištenjem alata

DbVisualizer

Page 56: Ekstrakcija podataka sustava za razmjenu poruka društvenih