Cyber Security Academy · Lektion

Indsamling og analyse af Android-data

Udtræk og analysér Android-data.

Lektion 2 af 413 trin

Indsamling og analyse af Android-data er en gratis Cyber Security Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Cyber Security Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cyber Security Academy-kurset indeholder 4 lektioner i alt.

Androids lagerarkitektur

Hvis du vil udtrække Android-data effektivt, skal du vide, hvor de findes.

  • /data/data/<package>/ – hver applikations sandkasse: databaser, shared_prefs, filer og cache.
  • /data/media/0/ – brugerens lager (fotos og downloads).
  • /data/system/ – konti, låseindstillinger og brugsstatistik.

De fleste appbeviser findes i SQLite-databaser og XML-præferencefiler i den enkelte applikations sandkasse, som ikke kan læses uden root eller en sikkerhedskopimekanisme.

Forudsætninger for ADB og fejlfinding

Android Debug Bridge (ADB) er den primære kanal til logisk dataindsamling. Den kræver, at USB-fejlfinding er aktiveret, og at værtsnøglen er godkendt.

  • Uden aktiveret fejlfinding og en ulåst skærm er ADB-adgang blokeret.
  • Selve godkendelsesdialogen ændrer enhedens tilstand – dokumentér det.

Bekræft forbindelsen, og hent enhedens egenskaber først:

adb devices -l
adb shell getprop ro.build.version.release   # Android version
adb shell getprop ro.product.model           # Device model
adb shell getprop ro.crypto.state            # encrypted / unencrypted

Logisk dataindsamling via ADB-sikkerhedskopi

adb backup opretter et .ab-arkiv med applikationsdata, som kan bruges til sikkerhedskopiering. Det kræver ikke root og er bredt tilgængeligt, men har begrænsninger: mange apps angiver allowBackup=false.

  • Indsamler applikationsdata, APK-filer (med -apk) og delt lager.
  • Mangler data fra apps, der fravælger sikkerhedskopiering, samt slettede poster.

Opret og konvertér en sikkerhedskopi til analyse:

# Create a full backup (user must confirm on device)
adb backup -apk -shared -all -f android_backup.ab

# Convert the .ab to a readable tar (android-backup-extractor)
java -jar abe.jar unpack android_backup.ab android_backup.tar
tar -xvf android_backup.tar

Udtræk af filsystemet

Et udtræk af filsystemet kopierer mappestrukturen, inklusive appsandkasser og SQLite-WAL- og SHM-journalfiler, der indeholder ikke-synkroniserede poster.

  • Kræver root, en kriminalteknisk agent eller en sårbarhedsudnyttelse eller bootloader-metode.
  • Bevarer -wal- og -shm-filer – det er afgørende, fordi nyere rækker måske kun findes dér.

Når du henter SQLite-databaser, skal du altid også hente de tilhørende journalfiler:

adb pull /data/data/com.whatsapp/databases/msgstore.db ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-wal ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-shm ./out/

Fysisk dataindsamling i praksis

En fysisk afbildning er en bit-for-bit-kopi af NAND, inklusive ikke-allokeret plads, hvor slettede data stadig kan findes. På moderne Android-enheder er den sværest at indhente.

  • FBE-kryptering betyder, at et råt NAND-dump er chiffertekst uden brugerens nøgle.
  • Metoderne omfatter leverandørspecifikke sårbarhedsudnyttelser, EDL-/bootloader-tilstande eller chipudtagning (sidste udvej og destruktiv).
  • I praksis giver et filsystemudtræk i AFU-tilstand ofte flere brugbare data end et krypteret fysisk dump.

Vælg kun fysisk dataindsamling, når det er begrundet, og dekryptering er mulig.

SQLite: Hjertet i Android-beviser

De fleste Android-artefakter er SQLite-databaser. Analytikere forespørger direkte i dem for at gendanne beskeder, opkaldslister og tidsstempler.

  • Åbn dem kun til læsning for at undgå at ændre bevisfilen.
  • Tidsstempler er ofte Unix-epoketid i millisekunder.

Undersøg kontaktdatabasen fra et udtræk:

sqlite3 -readonly contacts2.db
sqlite> .tables
sqlite> SELECT display_name, data1
   ...> FROM view_v_contacts LIMIT 20;

Gendannelse af slettede SQLite-poster

Når en række slettes i SQLite, markeres dens plads på siden ofte kun som ledig. Rester, der kan gendannes, findes i:

  • Freelist-sider og ikke-allokerede områder i .db-filen.
  • -wal-loggen, som bevarer tidligere versioner af rækker fra før et kontrolpunkt.

Værktøjer til gendannelse af slettede data rekonstruerer disse poster. Kør en gendannelsesproces på en database:

# Carve deleted rows from freelist + WAL
python3 sqlite_carver.py --db msgstore.db --wal msgstore.db-wal \
  --out recovered_messages.csv

# Cross-check live vs recovered counts in your notes

Tidslinje og afkodning af tidsstempler

Ved at opbygge en tidslinje kan du sammenholde hændelser på tværs af apps. Udfordringen er de mange tidsstempelformater, Android bruger.

  • Unix-epoke (ms) – de fleste beskeddatabaser.
  • Unix-epoke (s) – mange systemlogge.
  • WebKit/Chrome-tid – mikrosekunder siden 1601 (browserhistorik).

Normalisér altid til UTC, og notér enhedens tidszone. Eksempel på konvertering i SQLite:

-- Convert epoch milliseconds to readable UTC
SELECT datetime(timestamp/1000, 'unixepoch') AS sent_utc,
       key_remote_jid, data
FROM messages
ORDER BY timestamp DESC LIMIT 25;

Vigtige systemartefakter

Ud over appdata afslører Androids systemartefakter brugeradfærd og enhedens brug.

  • usagestats — hvilke apps der kørte, og hvornår.
  • accounts.db / accounts_ce.db — tilknyttede Google- og appkonti.
  • net stats / netpolicy — dataforbrug pr. app.
  • Wi-Fi-konfiguration (WifiConfigStore.xml) — kendte netværk, nyttige til geografisk kontekst.

Disse underbygger eller modsiger påstande om, hvem der brugte enheden, og hvornår.

Automatisk analyse med ALEAPP

Manuel analyse skalerer ikke. ALEAPP (Android Logs Events And Protobuf Parser) indlæser et filsystemudtræk og genererer en struktureret HTML/CSV-rapport.

  • Analyserer usagestats, seneste aktivitet, underretninger, apptilladelser og meget mere.
  • Brug det til en indledende gennemgang, og verificer derefter vigtige fund manuelt mod de rå databaser.

Kør ALEAPP på en udtræksmappe:

python3 aleapp.py -t fs -i ./android_filesystem/ -o ./aleapp_report/
# Open ./aleapp_report/index.html to review parsed artifacts

Validering og beskyttelse mod manipulation

Stol aldrig på et enkelt værktøj. Valider automatiserede resultater mod kildedataene og på tværs af værktøjer.

  • Kør vigtige forespørgsler igen manuelt i sqlite3 for at bekræfte parserens resultater.
  • Vær opmærksom på antiforensiske tegn: slettede logge, ændrede tidsstempler, apps til sikker sletning eller chatapps med indstillinger for beskeder, der forsvinder.
  • Bekræft, at afbildningens hashværdi stadig stemmer før og efter analysen.

Reproducerbarhed og krydsvalidering gør fund efterprøvelige.

Hurtigt tjek

Du udtrækker en chatapps SQLite-database. Hvilke ledsagefiler skal du også indsamle for ikke at gå glip af nyligt sendte beskeder?

Opsummering: Indsamling og analyse på Android

Du kan nu indsamle og analysere Android-bevismateriale fra ende til anden.

  • Appdata ligger i sandbokse pr. app som SQLite-databaser og XML-indstillinger.
  • ADB-sikkerhedskopi = nem logisk udtrækning; filsystemudtræk (root) bevarer WAL; fysisk udtræk er vanskeligst under FBE.
  • Gendan slettede poster fra freelist-sider og WAL.
  • Normalisér tidsstempler til UTC; afkod epoke- og WebKit-formater.
  • Brug ALEAPP til en indledende gennemgang, og valider manuelt med sqlite3.
  • Vær opmærksom på antiforensisk manipulation, og kontrollér afbildningens hashværdi igen.

Næste: iOS-delen.

Gratis at komme i gang

Lær Cyber Security Academy med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
303

Ofte stillede spørgsmål

Er lektionen “Indsamling og analyse af Android-data” gratis?

Ja — alle 3 lektioner i læringssporet Cyber Security Academy, inklusive “Indsamling og analyse af Android-data”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Cyber Security Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Indsamling og analyse af Android-data”?

Udtræk og analysér Android-data. Du øver dig i Cyber Security Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cyber Security Academy?

Der kræves ingen tidligere erfaring. Cyber Security Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Indsamling og analyse af Android-data”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cyber Security Academy-lektion?

Ja. Alle Cyber Security Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Grundlæggende mobilforensics
  2. Indsamling og analyse af Android-data
  3. Indsamling og analyse af iOS-data
  4. Apps, artefakter og rapportering
← Tilbage til Cyber Security Academy