Skip to content

Analyse forensique de Windows Timeline : ActivitiesCache.db

Guide complet de l'analyse forensique de Windows Timeline : ce que contient ActivitiesCache.db, où le trouver, pourquoi le -wal compte et comment l'exploiter.

Publié le 8 min de lecture

En bref. Windows Timeline est une base SQLite par utilisateur, ActivitiesCache.db, située sous %LOCALAPPDATA%\ConnectedDevicesPlatform\<compte>\. Elle enregistre les applications utilisées, les fichiers et pages ouverts, le temps de focus par application et parfois le texte du presse-papiers. Collectez-la avec son fichier -wal, lisez les tables Activity et ActivityOperation, convertissez les horodatages Unix depuis l'UTC et corroborez avec d'autres artefacts. Très riche sous Windows 10, incertaine sous Windows 11 : vérifiez, ne supposez pas.

La plupart des artefacts Windows répondent à une seule question précise. Prefetch indique qu'un binaire s'est exécuté. Les Jump Lists indiquent qu'un fichier a été ouvert par une application. Windows Timeline est à part : il répond à plusieurs questions à la fois, par utilisateur, avec des durées. C'est l'une des meilleures sources pour reconstituer ce que faisait une personne devant le clavier, et l'une des plus faciles à mal interpréter.

Ce guide est le point d'entrée de la série. Chaque section renvoie vers un article plus détaillé.

Qu'est-ce que Windows Timeline ?

Timeline est apparu avec Windows 10 version 1803 (mise à jour d'avril 2018), au sein de la Connected Devices Platform, le service qui porte les fonctions multi-appareils de Microsoft du type « reprendre là où vous en étiez » (l'examen de la base par kacos2000). Microsoft décrit l'historique des activités comme ce que vous faites sur l'appareil, par exemple les applications et services utilisés, les fichiers ouverts et les sites consultés, stocké localement sur l'appareil (Microsoft Support).

La partie visible était la vue Timeline dans la Vue des tâches (Windows + Tab). Microsoft indique que l'expérience Timeline a été retirée de Windows 11 tout en restant présente dans Windows 10 (Microsoft Support : Get help with Timeline). La vue a disparu ; ce que la base contient encore sous Windows 11 est traité dans Windows 11 Timeline : ActivitiesCache.db est-il encore utile ?.

Où la base est stockée

ÉlémentValeur
DossierC:\Users\<user>\AppData\Local\ConnectedDevicesPlatform\<account-folder>\
BaseActivitiesCache.db (SQLite 3)
Fichiers associésActivitiesCache.db-wal (journal write-ahead), ActivitiesCache.db-shm (index en mémoire partagée)
Dossier de compteL.<username> pour un compte local ; un autre identifiant pour les comptes Microsoft et professionnels ou scolaires
PortéeUne base par dossier de compte

Le dossier ConnectedDevicesPlatform peut contenir plusieurs dossiers de compte pour un même utilisateur Windows, par exemple après le passage d'un compte local à un compte Microsoft. Collectez le dossier entier. Les chemins, le nommage des dossiers de compte, les cibles KAPE et la gestion des fichiers verrouillés sont détaillés dans où se trouve ActivitiesCache.db et comment l'acquérir.

Ce qu'elle contient

La base compte plusieurs tables. Trois d'entre elles portent presque toute la valeur pour l'enquête (Group-IB, kacos2000) :

TableContenuPourquoi c'est utile
ActivityUne ligne par activité : application, type, début/fin, payload JSON, payload presse-papiersLa chronologie elle-même
ActivityOperationOpérations en file d'attente (insertion, mise à jour, suppression) avant synchronisationTraces des entrées que l'utilisateur a retirées de Timeline
Activity_PackageIdNoms de package ou d'exécutable par activité, avec expirationAide à identifier l'application

Chaque ligne d'Activity possède un type d'activité. Ceux que vous croiserez le plus :

ActivityTypeSignificationDonnées clés
5Application, fichier ou page ouvertsdisplayText, contentUri, appDisplayName dans le payload
6Application utilisée (focus)activeDurationSeconds, userTimezone, heures de début et de fin
10Contenu du presse-papiersTexte en Base64 dans ClipboardPayload
16Opération copier ou collerLa colonne Group indique copie ou collage
2NotificationMétadonnées de notification toast

L'application est identifiée par le JSON AppId, un tableau de paires plateforme/application dans lequel les dossiers système sont écrits sous forme de GUID de dossiers connus. Chaque champ est expliqué dans types d'activité et champs du payload d'ActivitiesCache.db.

Pourquoi le fichier -wal n'est pas optionnel

ActivitiesCache.db fonctionne en mode write-ahead log de SQLite. Les lignes nouvelles ou modifiées sont ajoutées à ActivitiesCache.db-wal ; elles n'atteignent le fichier principal qu'au moment d'un checkpoint. La documentation de SQLite est claire : séparer une base de son fichier WAL peut faire perdre des transactions déjà validées (sqlite.org/wal.html).

Sur une machine allumée ou utilisée récemment, les dernières heures d'activité ne se trouvent souvent que dans le WAL. Analysez la base seule et vous obtenez une chronologie qui s'arrête juste avant la partie intéressante. Le mécanisme et ses conséquences forensiques sont détaillés dans pourquoi ActivitiesCache.db-wal compte.

Ce qu'elle prouve, et ce qu'elle ne prouve pas

QuestionRéponse de TimelineFiabilité
L'utilisateur a-t-il ouvert ce fichier ?Ligne de type 5 avec le cheminForte, par compte utilisateur
Combien de temps a-t-il utilisé cette application ?activeDurationSeconds du type 6Bonne, mais à comparer avec début/fin
Quelle application a servi sur une clé USB ou un partage ?Chemin sur une autre lettre de lecteur ou chemin UNCBonne pour le chemin ; le volume exige d'autres artefacts
Qu'a-t-il copié ?Texte du presse-papiers (type 10), s'il existeForte quand présent, rarement présent
Un programme s'est-il exécuté ?Seulement s'il a produit une activité utilisateurPartielle : l'absence ne prouve rien
Quand exactement, en heure locale ?Secondes Unix en UTC plus userTimezoneBonne, si la conversion est explicite

Les règles d'interprétation, notamment pourquoi une ligne Timeline prouve un usage et non une création de processus, sont dans Windows Timeline prouve-t-il l'exécution ou l'accès à un fichier ?.

Une méthode qui tient la route

  1. Acquérir le dossier ConnectedDevicesPlatform complet de chaque utilisateur, depuis une image disque ou une collecte de triage. Conservez l'arborescence Users\<name>\ pour attribuer chaque base à son compte.
  2. Hacher la collecte avant d'ouvrir quoi que ce soit avec un outil susceptible d'écrire. Une bibliothèque SQLite standard peut faire un checkpoint et supprimer le WAL à la fermeture de la base (sqlite.org) : travaillez sur des copies.
  3. Analyser la base et son WAL ensemble. Notez quelles lignes n'existent que dans le WAL : ce sont les plus récentes, et celles sur lesquelles le rapport s'appuiera.
  4. Normaliser l'heure. Conservez l'UTC ; convertissez en heure locale avec le userTimezone du payload uniquement pour le récit.
  5. Filtrer selon la question : type 5 pour les fichiers ouverts, type 6 pour l'usage, types 10 et 16 pour le presse-papiers, ActivityOperation avec le type d'opération 3 pour les suppressions.
  6. Corroborer avec SRUM, Prefetch, les fichiers LNK, les Jump Lists et les journaux d'événements. La comparaison figure dans Windows Timeline vs SRUM vs Prefetch vs Jump Lists.

Le Windows Timeline Parser réalise les étapes 3 à 5 dans le navigateur : déposez la base et son WAL, il rejoue les transactions WAL validées, marque les lignes présentes uniquement dans le WAL ou modifiées, décode AppId et payloads, et exporte en CSV ou JSON. Rien n'est envoyé. Le pas-à-pas se trouve dans comment analyser ActivitiesCache.db dans le navigateur.

Limites à garder en tête

  • Rétention. Chaque entrée porte un ExpirationTime ; kacos2000 l'a mesuré à exactement 30 jours après la dernière modification, et à 12 heures pour les entrées du presse-papiers (kacos2000).
  • Paramètres. L'utilisateur ou une stratégie peut arrêter la collecte (« Stocker mon historique d'activités sur cet appareil ») et effacer l'historique (Microsoft Support).
  • Couverture. Tous les processus ne produisent pas d'activité. Timeline mesure l'engagement de l'utilisateur.
  • Enregistrements supprimés. Des lignes retirées de la base peuvent survivre dans les pages libres ou d'anciennes trames WAL, mais la plupart des parseurs, dont celui-ci aujourd'hui, ne les carvent pas.

La liste complète, avec les manœuvres anti-forensiques et la manière de les repérer, est dans limites et anti-forensique de Windows Timeline.

FAQ

Qu'est-ce que ActivitiesCache.db ?

C'est la base SQLite, propre à chaque utilisateur, derrière Windows Timeline et l'historique des activités. Elle enregistre les applications utilisées, les fichiers et pages ouverts, la durée de focus de chaque application et, dans certaines configurations, le texte du presse-papiers.

Quelles versions de Windows disposent de Windows Timeline ?

Timeline est arrivé avec Windows 10 version 1803. Microsoft a retiré la vue Timeline dans Windows 11, mais la base peut encore exister sur des systèmes Windows 11 : vérifiez plutôt que de supposer.

Ai-je besoin du fichier -wal ?

Oui. La base fonctionne en mode write-ahead log de SQLite : les modifications récentes restent dans ActivitiesCache.db-wal jusqu'à un checkpoint. Sans lui, l'activité la plus récente manque souvent.

Pour aller plus loin

Articles liés

Référence des champs d'ActivitiesCache.db : ActivityType 5, 6, 10 et 16, JSON AppId, clés du payload comme activeDurationSeconds et toutes les colonnes de date.
Là où s'arrêtent les preuves Windows Timeline : expiration, paramètres, historique effacé, lignes supprimées, WAL manquant, limites des parseurs, falsification.
Pas à pas : ouvrir ActivitiesCache.db et son -wal dans un visualiseur gratuit, filtrer applications, fichiers, focus et presse-papiers, exporter en CSV ou JSON.