SQLite Forensics
forensicsDéfinition
SQLite est le système de gestion de base de données le plus déployé au monde : intégré dans les systèmes d'exploitation, navigateurs web, applications mobiles, et logiciels de bureau. Sa structure auto-contenue (une base = un fichier) en fait une source forensique universelle : iOS, Android, Chrome, Firefox, WhatsApp, Telegram, et des milliers d'autres applications stockent leurs données dans des fichiers SQLite. Forensiquement, SQLite présente plusieurs caractéristiques remarquables. Sa structure de fichier inclut des pages de type B-tree (pour les tables et index), des overflow pages (pour les grandes valeurs), des freelist pages (pages libérées par la suppression de données), et le fichier WAL (Write-Ahead Log). Ces composants permettent la récupération de données supprimées : lorsqu'une ligne est supprimée, SQLite la marque comme libre dans les freelist pages, mais les données restent physiquement présentes jusqu'à être écrasées lors d'une nouvelle insertion. Les outils de carving SQLite analysent le fichier à la recherche de structures de données SQLite valides dans les pages libres, permettant de récupérer des messages supprimés, des contacts effacés, ou des entrées d'historique supprimées. Des outils comme Forensics-SQLite-Parser ou sqlparse.py permettent ce carving forensique. DB Browser for SQLite (SQLiteStudio) est l'outil graphique de référence pour l'exploration manuelle. Les bases SQLite les plus importantes forensiquement sur iOS incluent : sms.db (messages SMS/iMessage), AddressBook.sqlitedb (contacts), Calendar.sqlitedb (calendrier), History.db (historique Safari), voicemail.db (messagerie vocale), callhistory.storedata (historique d'appels). Sur Android : mmssms.db (SMS), contacts2.db (contacts), webviewCookiesChromium.db (cookies), databases/ (bases WebView des apps). Pour Chrome : History (historique navigation), Login Data (mots de passe), Cookies (sessions).
Fonctionnement
SQLite organise les données en pages de 1KB à 64KB. La page 1 est le header (magic bytes: 53 51 4C 69 74 65 = 'SQLite'). Les B-trees stockent les données de tables triées par clé primaire. Les freelist pages contiennent les pages libérées par DELETE/DROP TABLE, accessibles en lecture pour récupérer les données supprimées.
Application DFIR
Lors d'une investigation mobile : copier les bases SQLite depuis l'extraction avant toute analyse (les bases peuvent se modifier). Analyser les tables principales pour les artefacts (messages, contacts, historique). Utiliser sqlparse.py ou Oxygen/Cellebrite pour le carving des données supprimées. Le WAL journal (-wal) peut contenir des transactions non encore fusionnées avec le fichier principal.
Outils
DB Browser for SQLite (GUI, open source), SQLiteStudio (alternative GUI), sqlite3 CLI (natif), pysqlite (Python, programmation). Carving : sqlparse.py (récupération données supprimées), Forensics-SQLite-Parser. Intégration forensique : Magnet AXIOM (SQLite natif), Autopsy (SQLite module), Cellebrite UFED (parsing automatique). Pour WAL : sqlite3 .recover command.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h