Forside › iPhone-forensik · Gennemgået oktober 2026 · Af John Nielsen
På en iPhone ligger sms, MMS, iMessage og RCS-beskeder i én SQLite-database, sms.db. Den rummer for hver besked tekst, afsender eller modtager, tjeneste, tidsstempler for afsendelse, levering og læsning samt markeringer for redigerede og tilbagekaldte beskeder. Databasen er grundlaget for enhver teknisk analyse af beskeder på en iPhone, men flere felter skal fortolkes med omtanke: Tidsstempler er i Apples eget format, teksten kan ligge i et binært felt, og beskeder kan stamme fra andre enheder på samme Apple-konto. Hvor beskederne ligger, og hvad det betyder juridisk, er beskrevet hos advokatsitet: → iMessage og sms: hvor ligger beskederne egentlig?
Hvor databasen ligger, og hvordan den sikres
sms.db ligger i systemets område for beskeder på telefonen sammen med en mappe med vedhæftninger. Databasen indgår i en lokal iOS-backup, også en ukrypteret, og kan dermed sikres ved et logisk udtræk. Et fuldt filsystemudtræk giver desuden skrivejournalen (WAL) og andre hjælpefiler, som kan indeholde nyere eller slettede poster. → iOS-backup: krypteret, ukrypteret og indhold
Er Beskeder i iCloud slået til, synkroniseres beskeder mellem brugerens enheder, og ældre vedhæftninger kan ligge kun i skyen. Apple angiver desuden, at en computerbackup ikke omfatter data, der allerede synkroniseres med iCloud, herunder iMessage, sms og mms, så indstillingen skal noteres, og backuppens faktiske indhold efterprøves. En Mac med samme Apple-konto har en tilsvarende database og kan være en selvstændig kilde.
De centrale tabeller
- message · Én række pr. besked med tekst, tidsstempler, status og tjeneste
- handle · Modparter, identificeret ved telefonnummer eller e-mailadresse
- chat · Samtaler, både en-til-en og grupper, med id og eventuelt gruppenavn
- chat_message_join og chat_handle_join · Forbinder beskeder og deltagere med samtaler
- attachment og message_attachment_join · Vedhæftninger med filsti, type og størrelse
Apple dokumenterer ikke databasens skema. Tabellerne ovenfor har været stabile i mange versioner, men felter kommer til og ændrer betydning, så skemaet i den konkrete database bør altid aflæses og noteres, før forespørgsler køres.
En analyse starter typisk i chat-tabellen, finder samtalen og henter beskederne via join-tabellen. Modparten identificeres via handle, og navnet hentes fra kontaktdatabasen, som er en separat kilde.
Vigtige felter i message
- guid: entydigt id for beskeden. Det bruges også til at knytte reaktioner og svar til den oprindelige besked.
- text og
attributedBody: Teksten ligger i text, men i nyere iOS-versioner kan text være tom, mens indholdet kun findes iattributedBody, et binært felt med formateret tekst. Et værktøj, der kun læser text, overser beskeder. - service: iMessage, SMS eller RCS. Afgør, hvilken vej beskeden gik, og hvilke statusoplysninger der kan forventes.
- is_from_me: om beskeden er sendt fra kontoen. Den siger ikke, fra hvilken enhed.
- date, date_delivered og date_read: tidspunkter for afsendelse eller modtagelse, levering og læsning.
- is_delivered og is_read: statusflag.
- date_edited og date_retracted: tidspunkter for redigering og tilbagekaldelse.
- associated_message_guid og type: bruges til reaktioner (tapbacks), der gemmes som selvstændige rækker knyttet til den oprindelige besked.
Tidsstempler
Tidsstemplerne er i Apples format: tid siden 1. januar 2001 UTC. I nyere iOS-versioner gemmes de i nanosekunder, i ældre i sekunder. En forkert antagelse om enheden giver tidspunkter, der er helt ved siden af. En værdi på nul betyder, at hændelsen ikke er registreret, fx at beskeden ikke er læst. → Tidsstempelformater og konvertering
Leveret og læst
For iMessage kan databasen vise, hvornår en sendt besked blev leveret til modtagerens enhed og, hvis modtageren har læsekvitteringer slået til, hvornår den blev læst. For modtagne beskeder viser date_read, hvornår beskeden blev markeret som læst på denne konto.
Forbehold:
- Læsekvitteringer kan være slået fra generelt eller pr. samtale.
- “Læst” betyder, at samtalen blev vist på en af brugerens enheder, ikke nødvendigvis på telefonen, og ikke at indholdet er forstået.
- Sms har ikke læsestatus, og leveringsstatus afhænger af operatøren.
- RCS-status afhænger af understøttelse hos begge parter.
Redigerede og tilbagekaldte beskeder
Fra iOS 16 kan en iMessage redigeres eller tilbagekaldes inden for en kort frist. Apple angiver på tidspunktet for gennemgangen (oktober 2026), at en besked kan tilbagekaldes i op til 2 minutter og redigeres op til fem gange inden for 15 minutter. Sms, mms og RCS kan ikke redigeres eller tilbagekaldes. Databasen markerer det med tidsstempler, og redigeringshistorikken kan ligge i et binært felt med oversigt over versioner. Om den oprindelige tekst kan genskabes, afhænger af version og af, om afsender og modtager havde understøttende versioner. Ifølge Apple kan en modtager på ældre software stadig se den oprindelige besked efter tilbagekaldelse og modtager redigeringer som nye beskeder. For tilbagekaldte beskeder fjernes indholdet normalt, mens rækken med markering bliver.
Vedhæftninger
Billeder, video, talebeskeder og filer ligger i en mappe ved siden af databasen. Attachment-tabellen angiver filsti, filnavn, MIME-type, størrelse og tidspunkt for oprettelse og knytter vedhæftningen til beskeden via join-tabellen. Typiske forhold at kontrollere:
- Findes filen? Vedhæftninger kan være fjernet for at spare plads, mens databasens række stadig findes. Med Beskeder i iCloud kan filen ligge kun i skyen.
- Metadata i filen: Et billede kan have EXIF-data fra den oprindelige enhed, men iMessage og andre tjenester kan fjerne eller ændre metadata ved afsendelse.
- Talebeskeder kan være sat til at udløbe automatisk efter afspilning, medmindre brugeren har valgt at beholde dem.
Hash vedhæftninger, der indgår som bevis, og angiv både filsti og den besked, de hører til.
Sammenhæng med andre kilder
Databasen kan med fordel kobles til andre artefakter på telefonen. Systemets aktivitetsdata kan vise, hvornår Beskeder-appen var i forgrunden, og notifikationsdata kan vise, hvornår en besked blev vist som notifikation. Sammenhængen kan styrke eller svække en påstand om, at en besked blev set på et bestemt tidspunkt. → iPhone-artefakter: Biome, skærmtid og placeringsdata
Slettede beskeder
Slettede beskeder kan i nyere versioner ligge i en mappe med nyligt slettede en periode. Derudover kan rester findes i databasens frie sider og WAL. Rækker, der gendannes herfra, mangler ofte forbindelsen til samtale og modpart, fordi join-tabellernes rækker er slettet samtidig, og de skal derfor knyttes til samtalen ud fra andre felter som guid og tidsstempel. Se SQLite i forensic: WAL-filer, frie sider og slettede rækker og Slettede beskeder på telefonen: hvad kan realistisk gendannes?
Fejlkilder i fortolkningen
- Flere enheder: En besked med is_from_me kan være sendt fra en iPad eller Mac på samme konto. Andre kilder skal bruges til at afgøre hvilken.
- Kontaktnavne: Navnet i analyseværktøjet kommer fra telefonens adressebog på udtrækstidspunktet, ikke fra tidspunktet for beskeden.
- E-mail som afsender: iMessage kan sendes fra en e-mailadresse knyttet til Apple-kontoen. Samme person kan derfor optræde under flere handle-rækker.
- Grupper: Medlemmer kan være tilføjet eller fjernet undervejs. Hvem der modtog en bestemt besked, kræver analyse af gruppehændelser.
- Reaktioner som beskeder: Værktøjer, der ikke håndterer reaktioner korrekt, viser dem som selvstændige tekstbeskeder.
- Synkronisering og sletning: Beskeder i iCloud kan betyde, at en sletning på én enhed er slået igennem på alle.
Hvad databasen kan og ikke kan bevise
sms.db kan vise, at en besked med et bestemt indhold blev sendt fra eller modtaget af en bestemt konto, med hvilken tjeneste, og hvornår den blev leveret og læst, hvis disse oplysninger er registreret. Den kan ikke alene vise, hvem der fysisk sendte eller læste den, og den kan ikke vise indhold, der er tilbagekaldt og ikke bevaret.
Dokumentation
Angiv iOS-version, udtrækstype, værktøj og version, databasens hash, hvordan tekst er udtrukket (text eller attributedBody), tidsstempelformat og tidszone, og for afgørende beskeder rækkens guid og rå feltværdier, så en anden kan efterprøve fundet.
Kilder og versioner
- Apple Support: Tilbagekald eller rediger beskeder på iPhone
- Apple Support: Gendan slettede sms’er på iPhone eller iPad
- Apple Support: Hvad en computerbackup af iPhone indeholder
Senest gennemgået: oktober 2026.
Næste skridt
- Synkronisering mellem Apple-enheder: når sporet stammer fra en anden enhed
- Messenger og Instagram teknisk: hvad der kan sikres
- Sådan læses en mobiludtræksrapport
Del af: iPhone-forensik
Læs også: WhatsApp teknisk: lokal database, backup og hvad en chat-eksport mangler · Signal og Telegram teknisk: lokale data og forsvindende beskeder
→ Mobilforensik i civile sager · Haster det? Forensisk sikring (hastesager koster ekstra) · For sagkyndige · Tlf. 70 13 63 23 · Digital bevissikring hos Nielco IT