Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

SQLite Forensics

forensics

Dé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

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis