Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
Prijevodi ove stranice:

Forenzička analiza Wolt aplikacije

Sažetak

Razvojem mobilnih aplikacija i njihovom sve većom uključenosti u svakodnevni život, digitalni tragovi koje korisnici ostavljaju postaju iznimno vrijedan izvor informacija u kontekstu digitalne forenzike. Aplikacije za dostavu hrane, poput Wolt aplikacije, prikupljaju i obrađuju velike količine podataka. Takvi podaci mogu imati ključnu ulogu u forenzičkim istragama kaznenih djela, zlouporabe sustava ili povrede privatnosti.

U ovom seminarskom radu razmatra se forenzička analiza Wolt aplikacije s ciljem pronalaska relevantnih podataka dostupnih na mobilnom uređaju te analize njihove forenzičke vrijednosti. Rad se fokusira na strukturu aplikacije, podatke koji se mogu pronaći u lokalnoj pohrani uređaja te ograničenja povezana s enkripcijom, zaštitom privatnosti i udaljenom pohranom podataka.

Ključne riječi: forenzička analiza, Wolt, mobilna aplikacija

Uvod

Porast korištenja mobilnih aplikacija značajno je utjecao na način na koji korisnici komuniciraju, obavljaju kupnju i koriste razne digitalne usluge. Wolt aplikacija, kao jedna od najpopularnijih platformi za dostavu hrane, omogućuje korisnicima naručivanje proizvoda, praćenje dostave u stvarnom vremenu te elektroničko plaćanje. Tijekom tog procesa aplikacija prikuplja različite vrste podataka, poput osobnih informacija korisnika, podataka o lokaciji, povijest narudžbi, načina plaćanja te komunikacije između korisnika, dostavljača i sustava. Ovi podaci predstavljaju vrijedan izvor informacija zato što mogu pružiti detaljan uvid u ponašanje korisnika, vremenski slijed događaja te interakcije unutar aplikacije. Upravo zbog toga takvi digitalni zapisi imaju značajnu forenzičku vrijednost u istragama nezakonitih aktivnosti.

O aplikaciji Wolt

Wolt je mobilna aplikacija i digitalna platforma za dostavu hrane i robe koja je nastala s ciljem da korisnicima omogući jednostavan, brz i pouzdan pristup lokalnim restoranima, trgovinama i drugim trgovcima putem pametnih telefona. Osnovana je 2014. godine u Helsinkiju u Finskoj, a od tada se razvila u jednu od vodećih platformi za dostavu u Europi i šire [1]. Platforma korisnicima omogućuje naručivanje hrane, namirnica, proizvoda iz trgovina i dodatnih artikala kao što su lijekovi ili kućne potrepštine.

Wolt ne povezuje samo korisnike s ponudom restorana, nego i pruža fleksibilne mogućnosti rada za dostavljače koji prema potrebi prihvaćaju narudžbe u aplikaciji, čime se dodatno potiče gig ekonomija (ekonomija honorarnih poslova).

Također, platforma kontinuirano unaprjeđuje svoje tehnološke i logističke sustave koristeći napredne algoritme i strojno učenje kako bi privukli nove korisnike i zadržali postojeće. Jedan od ključnih elemenata promocija je program Wolt+, koji korisnicima omogućuje dodatne pogodnosti poput besplatne dostave te posebnih popusta tijekom promotivnih razdoblja. 2024. godine Wolt navodi da je članstvo u programu Wolt+ dosegnulo 1 milijun pretplatnika, a korisnici su uštedjeli više od 200 milijuna eura. Ukupan broj registriranih korisnika u Wolt aplikaciji bio je 40 milijuna [2].

Forenzička analiza

Forenzička analiza Wolt aplikacije provedena je na mobilnom uređaju s operacijskim sustavom Android. Android platforma odabrana je zbog svoje raširenosti i veće dostupnosti aplikacijskih podataka u usporedbi s drugim mobilnim operacijskim sustavima.

Analiza je provedena bez izmjena operacijskog sustava i bez rootanja uređaja, pri čemu je fokus stavljen isključivo na podatke koje aplikacija pohranjuje lokalno na uređaju.

Prvi pokušaj

Tijekom analize Wolt aplikacije na Android uređaju pregledan je direktorij Android/data/com.wolt.android, koji sadrži poddirektorije cache, files i testdata. U direktoriju cache pronađena je SQLite baza podataka map_cache.db te je analizirana pomoću alata DB Browser for SQLite. Baza sadrži tablice: pinned_tiles, resources, settings i tiles, no većina zapisa pohranjena je u obliku hash vrijednosti, dok su čitljivi bili samo vremenski zapisi (timestamps). U testdata i files direktorijima nisu pronađeni nikakvi podaci. Dobiveni rezultati ukazuju na to da značajan dio podataka koje aplikacija koristi nije pronađen u direktorijima dostupnim na vanjskoj pohrani, što znači da se ti podaci vjerojatno pohranjuju u zaštićenim dijelovima Android sustava.

Drugi pokušaj

U drugom pokušaju forenzičke analize Wolt aplikacije korišten je Android Debug Bridge (ADB) kako bi se dobio dublji pristup datotečnom sustavu uređaja i potencijalno dohvatili dodatni podaci. ADB omogućuje izravan pristup datotečnom sustavu mobitela putem shell-a s višim ovlastima, dok korisnik vidi samo ograničeni prostor za pohranu. Nakon omogućavanja USB debugging opcije, uređaj je povezan s računalom i korištene su osnovne ADB naredbe (adb shell, ls, cd) za pregled direktorija Android/data/com.wolt.android. Pronađeni su isti podaci kao u prvom pokušaju, a izrada sigurnosne kopije naredbom adb backup također nije bila uspješna. Analiza AndroidManifest.xml datoteke u APK Editor Studiju otkrila je razlog neuspješnog backupa:

android:allowBackup="false"

što onemogućava sigurnosnu kopiju aplikacije putem ADB-a. Dobiveni rezultati potvrđuju da Wolt štiti svoje interne podatke, koji su dostupni isključivo aplikaciji i sustavu, dok vanjski alati bez root pristupa ne mogu pristupiti dodatnim podacima.  Datoteka AndroidManifest.xml

                     Slika 1: Datoteka AndroidManifest.xml

Treći pokušaj

U trećem pokušaju forenzičke analize izrađena je sigurnosna kopija Wolt aplikacije na Xiaomi mobilnom uređaju korištenjem ugrađene funkcije sustava za izradu sigurnosnih kopija aplikacija. Tijekom postupka sigurnosne kopije generirane su dvije datoteke s nastavcima .bak i .split. Dobivene datoteke spojene su u jednu .bak datoteku kako bi se omogućila daljnja analiza sadržaja sigurnosne kopije. Nastala datoteka potom je pretvorena u TAR arhivu i učitana u forenzički alat Autopsy.

Cjelokupan sadržaj aplikacije nalazi se unutar direktorija com.wolt.android, koji sadrži poddirektorije: a, db, ef, f, r i sp. U nastavku su izdvojene i analizirane forenzički najzanimljivije datoteke iz tih direktorija.

Direktorij a

Direktorij a sadrži datoteku base.apk, koja predstavlja instalacijsku datoteku aplikacije Wolt. Sadrži izvršni kod aplikacije, resurse i konfiguracijske datoteke potrebne za njezino pokretanje. Datoteku base.apk moguće je otvoriti i analizirati pomoću alata APK Editor Studio, čime se omogućuje uvid u strukturu aplikacije, uključujući AndroidManifest.xml datoteku (prikazanu na Slici 1).

Direktorij db

U direktoriju db jedna od zanimljivijih baza podataka je new_delivery_location_input, koja sadrži tablicu address u kojoj su pohranjene sve lokacije koje su nekad bile odabrane u aplikaciji. Pohranjene su informacije o adresama, uključujući njihove nazive i geografske koordinate (latitude i longitude). Tablica address

                           Slika 2. Tablica address

Pronađena je i baza podataka com.google.android.datatransport.events, koja sadrži tablicu event_metadata. Tablica pohranjuje meta-podatke o uređaju i okruženju u kojem je aplikacija Wolt pokrenuta. Neki od podataka su: država, uređaj, tip mobilne mreže, kod mobilnog operatera, verzija aplikacije, jezik, proizvođač uređaja, tip mreže, verzija OS-a, verzija SDK-a, fingerprint uređaja, model uređaja, vremenska zona, naziv uređaja i podaci o hardveru. Tablica event_metadata povezana je s tablicom events, koja sadrži timestamp događaja i druge relevantne informacije. Tablica event_metadata

                          Slika 3. Tablica event_metadata

Direktorij f

Od interesantnijih stavki pronađena je datoteka userlog u crashlytics.v3/com.wolt.android/open-sessions, koja sadrži zapise sesije aplikacije generirane tijekom njezina korištenja. Datoteka sadrži zapise komunikacije aplikacije s Wolt backend servisima, uključujući HTTP zahtjeve. Aplikacija dohvaća početnu stranicu i ponudu na temelju trenutne lokacije korisnika, što je vidljivo iz zahtjeva koji sadrže geografske koordinate GET https://restaurant-api.wolt.com/v2/notifications?lat=45.8131573&lon=16.0160146. Također se provjerava stanje košarice putem zahtjeva za broj artikala u košarici GET https://consumer-api.wolt.com/order-xp/v1/baskets/count, kao i dohvat korisničkih podataka GET https://restaurant-api.wolt.com/v1/user/me. Osim osnovnih funkcionalnosti, u logovima su prisutni i zahtjevi vezani uz pretplate, poput dohvaćanja dostupnih Wolt+ planova za određenu državu GET https://restaurant-api.wolt.com/v1/subscriptions/plans?device_country_code=HRV.

U poddirektoriju wolt_storage/selectedOrderItems pronađena je JSON datoteka koja sadrži popis trenutno dodanih proizvoda u košaricu:

[
  {
    "id": "686623fc044fcc1e9f213bd5",
    "categoryId": "695511731a83693135f5306f",
    "count": 1,
    "name": "Big Tasty Bacon",
    "endAmount": 0,
    "depositAmount": null,
    "skipOnRefill": false,
    "options": [],
    "substitutable": true,
    "substitutionComment": null,
    "substitutionFor": null,
    "weightedItemInfo": null,
    "weightConfig": null,
    "isCutlery": false,
    "currentVariantDescription": null
  },
  {
    "id": "686623fc044fcc1e9f213be7",
    "categoryId": "695511731a83693135f5306f",
    "count": 1,
    "name": "Chicken McNuggets 9 kom",
    "endAmount": 0,
    "depositAmount": null,
    "skipOnRefill": false,
    "options": [
      {
        "id": "6944589bc30f641e3c312439",
        "name": "Odaberi umak 1/2",
        "values": [
          {
            "id": "6944589bc30f641e3c31240c",
            "name": "",
            "count": 1,
            "price": 0,
            "depositAmount": null
          }
        ]
      },
      {
        "id": "6944589bc30f641e3c31243b",
        "name": "Odaberi umak 2/2",
        "values": [
          {
            "id": "6944589bc30f641e3c31240c",
            "name": "",
            "count": 1,
            "price": 0,
            "depositAmount": null
          }
        ]
      }
    ],
    "substitutable": true,
    "substitutionComment": null,
    "substitutionFor": null,
    "weightedItemInfo": null,
    "weightConfig": null,
    "isCutlery": false,
    "currentVariantDescription": null
  }
]

Direktorij sp

Datoteka appsflyer-data.xml sadrži zapise vezane uz praćenje korisničkih događaja i sesija putem AppsFlyer analitičkog sustava. Iz nje je vidljivo kada je aplikacija instalirana, koja je zadnja zabilježena korisnička akcija i u koje je vrijeme izvršena, koliko je vremena prošlo od prethodne sesije te na koji je način aplikacija instalirana (npr. organska instalacija). Također su dostupni još brojni podaci. Datoteka appsflyer-data.xml

                        Slika 4. Datoteka appsflyer-data.xml

Datoteka com.google.android.gms.signin.xml sadrži podatke vezane uz prijavu korisnika putem Google računa. Iz zapisa je vidljivo da je Wolt aplikacija koristila Google Sign-In mehanizam te koje su dozvole bile zatražene prilikom prijave, poput pristupa e-mail adresi i osnovnim podacima profila. Datoteka sadrži jedinstveni identifikator Google računa, informacije o dodijeljenim dozvolama, kao i token koji se koristi za autentifikaciju korisnika prema aplikaciji. Također su pohranjeni osnovni podaci o profilu korisnika (ime, prezime, e-mail).

Datoteka common prefs.xml sadrži zajedničke postavke aplikacije te podatke vezane uz korisničku sesiju i autentifikaciju. Najznačajniji dio čine autentifikacijski tokeni koji se mogu dekodirati pomoću brojnih online alata. Alatom https://www.jwt.io/ dekodiran je token te su dobiveni već spomenuti osobni podaci korisnika, ime, prezime, e-mail adresa, ali ovdje i broj mobitela. Dekodiran token JWT.io alatom

                       Slika 5. Dekodiran token JWT.io alatom

U direktoriju sp pronađena je datoteka wolt-prefs.xml, koja sadrži osobne podatke i korisničke postavke Wolt aplikacije. Datoteka pohranjuje osnovne informacije o korisniku, uključujući ime i prezime, e-mail adresu, broj telefona, te jedinstveni korisnički ID. Osim identifikacijskih podataka, datoteka sadrži i postavke aplikacije, poput preferirane valute, zadane metode plaćanja, broja izvršenih kupnji, odabrane opcije prijave te povijest pretraživanja. Datoteka wolt-prefs.xml dana je u nastavku:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <string name="user.name.firstName">Tea</string>
    <string name="country">HRV</string>
    <set name="neverTranslateMenuLanguages" />
    <string name="user.id">67e91cf4a062d05afcee5ec0</string>
    <string name="loginOption">GOOGLE</string>
    <boolean name="gcmTokenSentV2" value="true" />
    <boolean name="user.phone_number_verified" value="true" />
    <int name="purchaseCountNonRetail" value="0" />
    <boolean name="dontAskAboutTrackingConsents" value="true" />
    <string name="user.phone_number">+38595569xxxx</string>
    <string name="defaultPaymentMethodId">cash</string>
    <string name="user.email">tea.topolovec0@gmail.com</string>
    <int name="purchaseCountRetail" value="0" />
    <string name="user.name.lastName">Topolovec</string>
    <string name="currency">EUR</string>
    <boolean name="firstTimeUser" value="true" />
    <set name="searchHistory">
 †††
 <string>mcdonald</string>
 †††
 <string>pizza</string>
    </set>
    <string name="lastUsedLocationId">9e4f589e-1327-40a6-9c12-248e637748fb</string>
    <boolean name="requirePaypayReactivation" value="false" />
</map>

Zaključak

Sigurnosna kopija Wolt aplikacije sa Xiaomi uređaja omogućila je pristup značajno većem broju podataka nego prethodna dva pokušaja. Wolt onemogućava backup putem standardnog ADB pristupa i pohranjuje osjetljive podatke u zaštićenim direktorijima koji zahtijevaju root pristup. Ugrađena funkcija sigurnosne kopije na Xiaomi uređaju ima dovoljno privilegija da omogući dohvat aplikacijskih podataka bez potrebe za root pristupom.

Analizom datoteka moguće je identificirati korisničke sesije, autentifikacijske tokene, osobne podatke te dijelove aktivnosti unutar aplikacije, poput stavki u košarici, povijesti pretraživanja i logova zahtjeva prema Wolt API-ju. Iako cjelovita povijest svih prošlih narudžbi nije bila dostupna, vjerojatno zbog pohrane na serverima Wolt-a, kombinacijom lokalno pohranjenih podataka i logova može se rekonstruirati nedavna aktivnost korisnika. Nijedan podatak o plaćanjima ili financijskim transakcijama nije bio dostupan, a bilo bi zanimljivo vidjeti i kako aplikacija izgleda iz perspektive dostavljača te kakve forenzičke tragove ona ostavlja.

Literatura

racfor_wiki/seminari2025/tt54151.txt · Zadnja izmjena: 2026/01/12 20:00 od Tea Topolovec
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0