Windows Timeline Forensik: Leitfaden zu ActivitiesCache.db
Leitfaden zur Windows-Timeline-Forensik: was ActivitiesCache.db speichert, wo die Datei liegt, warum die -wal-Datei zählt und wie Sie sie auswerten.
Kurz gesagt. Windows Timeline ist eine SQLite-Datenbank pro Benutzer, ActivitiesCache.db, unter %LOCALAPPDATA%\ConnectedDevicesPlatform\<Konto>\. Sie verzeichnet verwendete Apps, geöffnete Dateien und Seiten, die Fokuszeit pro App und manchmal Text aus der Zwischenablage. Sichern Sie sie zusammen mit der -wal-Datei, werten Sie die Tabellen Activity und ActivityOperation aus, rechnen Sie Unix-Zeitstempel ausdrücklich aus UTC um und belegen Sie Befunde mit weiteren Artefakten. Unter Windows 10 ist sie ergiebig, unter Windows 11 ungewiss: prüfen statt annehmen.
Die meisten Windows-Artefakte beantworten eine eng umrissene Frage. Prefetch sagt, dass ein Programm lief. Jump Lists sagen, dass eine Anwendung eine Datei geöffnet hat. Windows Timeline ist anders: Sie beantwortet mehrere Fragen gleichzeitig, pro Benutzer und mit Dauern. Damit ist sie eine der besten Quellen, um zu rekonstruieren, was eine Person an der Tastatur getan hat, und eine der am leichtesten fehlinterpretierten.
Dieser Leitfaden ist der Einstieg in die Serie. Jeder Abschnitt verweist auf einen vertiefenden Artikel.
Was Windows Timeline ist
Timeline kam mit Windows 10 Version 1803 (April 2018 Update) als Teil der Connected Devices Platform, des Dienstes hinter Microsofts geräteübergreifenden Funktionen nach dem Motto „dort weitermachen, wo Sie aufgehört haben“ (Untersuchung der Datenbank durch kacos2000). Microsoft beschreibt den Aktivitätsverlauf als das, was Sie auf dem Gerät tun, etwa die verwendeten Apps und Dienste, geöffnete Dateien und besuchte Websites, lokal auf dem Gerät gespeichert (Microsoft Support).
Sichtbar war die Timeline-Ansicht in der Aufgabenansicht (Windows + Tab). Microsoft gibt an, dass die Timeline-Oberfläche in Windows 11 eingestellt wurde, in Windows 10 aber erhalten bleibt (Microsoft Support: Get help with Timeline). Die Ansicht ist weg; was die Datenbank unter Windows 11 noch enthält, behandelt Windows 11 Timeline: Ist ActivitiesCache.db noch nützlich?.
Wo die Datenbank liegt
| Element | Wert |
|---|---|
| Ordner | C:\Users\<user>\AppData\Local\ConnectedDevicesPlatform\<account-folder>\ |
| Datenbank | ActivitiesCache.db (SQLite 3) |
| Begleitdateien | ActivitiesCache.db-wal (Write-Ahead-Log), ActivitiesCache.db-shm (Shared-Memory-Index) |
| Kontoordner | L.<username> für lokale Konten; eine andere Kennung für Microsoft- sowie Geschäfts- oder Schulkonten |
| Umfang | Eine Datenbank pro Kontoordner |
Der Ordner ConnectedDevicesPlatform kann für denselben Windows-Benutzer mehrere Kontoordner enthalten, etwa nach dem Wechsel von einem lokalen Konto zu einem Microsoft-Konto. Sichern Sie den gesamten Ordner. Pfade, Benennung der Kontoordner, KAPE-Targets und der Umgang mit gesperrten Dateien stehen in wo ActivitiesCache.db liegt und wie Sie die Datei sichern.
Was sie enthält
Die Datenbank hat mehrere Tabellen. Drei davon tragen fast den gesamten Ermittlungswert (Group-IB, kacos2000):
| Tabelle | Inhalt | Warum relevant |
|---|---|---|
Activity | Eine Zeile pro Aktivität: App, Typ, Start/Ende, JSON-Payload, Zwischenablage-Payload | Die eigentliche Zeitachse |
ActivityOperation | Anstehende Operationen (Einfügen, Aktualisieren, Löschen) vor der Synchronisierung | Spuren von Einträgen, die der Benutzer aus Timeline entfernt hat |
Activity_PackageId | Paket- oder Programmnamen pro Aktivität, mit Ablaufzeit | Hilft bei der Zuordnung der Anwendung |
Jede Zeile in Activity hat einen Aktivitätstyp. Die häufigsten:
| ActivityType | Bedeutung | Wichtige Daten |
|---|---|---|
| 5 | App, Datei oder Seite geöffnet | displayText, contentUri, appDisplayName im Payload |
| 6 | App in Verwendung (Fokus) | activeDurationSeconds, userTimezone, Start- und Endzeit |
| 10 | Inhalt der Zwischenablage | Base64-Text in ClipboardPayload |
| 16 | Kopier- oder Einfügevorgang | Die Spalte Group nennt Kopieren oder Einfügen |
| 2 | Benachrichtigung | Metadaten von Toast-Benachrichtigungen |
Die Anwendung wird über das AppId-JSON identifiziert, ein Array aus Plattform/Anwendung-Paaren, in dem Systemordner als Known-Folder-GUIDs stehen. Jedes Feld erklärt Aktivitätstypen und Payload-Felder in ActivitiesCache.db.
Warum die -wal-Datei nicht optional ist
ActivitiesCache.db läuft im Write-Ahead-Log-Modus von SQLite. Neue und geänderte Zeilen werden an ActivitiesCache.db-wal angehängt und erreichen die Hauptdatei erst, wenn ein Checkpoint sie zurückschreibt. Die SQLite-Dokumentation ist deutlich: Wird eine Datenbank von ihrer WAL-Datei getrennt, können bereits bestätigte Transaktionen verloren gehen (sqlite.org/wal.html).
Auf einem laufenden oder kürzlich genutzten Rechner liegen die letzten Stunden Aktivität oft nur im WAL. Werten Sie die Datenbank allein aus, erhalten Sie eine Zeitachse, die kurz vor dem interessanten Teil endet. Mechanismus und forensische Folgen erklärt warum ActivitiesCache.db-wal zählt.
Was sie beweisen kann und was nicht
| Frage | Antwort aus Timeline | Belastbarkeit |
|---|---|---|
| Hat der Benutzer diese Datei geöffnet? | Typ-5-Zeile mit dem Dateipfad | Hoch, pro Benutzerkonto |
| Wie lange hat er diese App genutzt? | activeDurationSeconds aus Typ 6 | Gut, aber mit Start/Ende abgleichen |
| Welche App wurde auf einem USB-Laufwerk oder einer Freigabe genutzt? | Pfad auf anderem Laufwerksbuchstaben oder UNC-Pfad | Gut für den Pfad; der Datenträger braucht andere Artefakte |
| Was hat er kopiert? | Zwischenablagetext (Typ 10), falls vorhanden | Hoch, wenn vorhanden, aber selten vorhanden |
| Wurde ein Programm ausgeführt? | Nur wenn es eine Benutzeraktivität erzeugt hat | Teilweise: Fehlen beweist nichts |
| Wann genau, in Ortszeit? | Unix-Sekunden in UTC plus userTimezone | Gut, wenn ausdrücklich umgerechnet |
Die Auslegungsregeln, einschließlich der Frage, warum eine Timeline-Zeile Nutzung belegt und keine Prozesserstellung, stehen in Beweist Windows Timeline Ausführung oder Dateizugriff?.
Ein belastbarer Ablauf
- Sichern Sie den kompletten Ordner
ConnectedDevicesPlatformjedes Benutzers aus einem Datenträgerabbild oder einer Triage-Sammlung. Behalten Sie die StrukturUsers\<name>\bei, damit jede Datenbank ihrem Konto zugeordnet werden kann. - Hashen Sie die Sicherung, bevor Sie etwas mit einem Werkzeug öffnen, das schreiben könnte. Eine gewöhnliche SQLite-Bibliothek kann beim Schließen einen Checkpoint ausführen und das WAL löschen (sqlite.org): Arbeiten Sie mit Kopien.
- Werten Sie Datenbank und WAL gemeinsam aus. Notieren Sie, welche Zeilen nur im WAL existieren: Sie sind die jüngsten und tragen den Bericht.
- Normalisieren Sie die Zeit. Speichern Sie UTC; rechnen Sie nur für die Darstellung mit dem
userTimezoneaus dem Payload in Ortszeit um. - Filtern Sie nach der Frage: Typ 5 für geöffnete Dateien, Typ 6 für Nutzung, Typen 10 und 16 für die Zwischenablage,
ActivityOperationmit Operationstyp 3 für Löschungen. - Belegen Sie mit SRUM, Prefetch, LNK-Dateien, Jump Lists und Ereignisprotokollen. Den Vergleich finden Sie in Windows Timeline vs SRUM vs Prefetch vs Jump Lists.
Der Windows Timeline Parser erledigt die Schritte 3 bis 5 im Browser: Datenbank und WAL hineinziehen, und er spielt bestätigte WAL-Transaktionen ein, markiert Zeilen, die nur im WAL stehen oder dort geändert wurden, dekodiert AppId und Payloads und exportiert CSV oder JSON. Nichts wird hochgeladen. Eine Schritt-für-Schritt-Anleitung bietet ActivitiesCache.db im Browser analysieren.
Grenzen, die Sie kennen sollten
- Aufbewahrung. Einträge tragen eine
ExpirationTime; kacos2000 hat sie mit genau 30 Tagen nach der letzten Änderung gemessen, bei Zwischenablage-Einträgen mit 12 Stunden (kacos2000). - Einstellungen. Benutzer oder Richtlinien können die Erfassung stoppen („Meinen Aktivitätsverlauf auf diesem Gerät speichern“) und den Verlauf löschen (Microsoft Support).
- Abdeckung. Nicht jeder Prozess erzeugt eine Aktivität. Timeline bildet Benutzerinteraktion ab.
- Gelöschte Datensätze. Aus der Datenbank entfernte Zeilen können in freien Seiten oder alten WAL-Frames überleben, doch die meisten Parser, auch dieser derzeit, carven sie nicht.
Die vollständige Liste mit Anti-Forensik-Methoden und wie man sie erkennt, steht in Grenzen und Anti-Forensik von Windows Timeline.
FAQ
Was ist ActivitiesCache.db?
Die benutzerspezifische SQLite-Datenbank hinter Windows Timeline und dem Aktivitätsverlauf. Sie speichert, welche Anwendungen ein Benutzer verwendet hat, welche Dateien und Seiten geöffnet wurden, wie lange jede App den Fokus hatte und in manchen Konfigurationen den Text der Zwischenablage.
Welche Windows-Versionen haben Windows Timeline?
Timeline kam mit Windows 10 Version 1803. Microsoft hat die Timeline-Ansicht in Windows 11 entfernt, die Datenbank kann auf Windows-11-Systemen aber weiterhin vorhanden sein. Prüfen Sie das, statt es vorauszusetzen.
Brauche ich die -wal-Datei?
Ja. Die Datenbank läuft im Write-Ahead-Log-Modus von SQLite, daher liegen neue Änderungen bis zu einem Checkpoint in ActivitiesCache.db-wal. Ohne sie fehlt oft die jüngste Aktivität.
Weiterführende Quellen
- Costas Katsavounidis (kacos2000), An examination of Win10 ActivitiesCache.db database und das WindowsTimeline-Repository.
- Group-IB, No Time to Waste: Windows 10 Timeline for forensics.
- ForensicArtifacts-Wissensdatenbank, Activities Cache Database.
- SQLite, Write-Ahead Logging.