Microsoft Recall in der digitalen Forensik
Microsoft Recall in der digitalen Forensik
Aus der Perspektive der digitalen Forensik ist Recall eine wertvolle Ressource für die Analyse von Benutzeraktivitäten auf Windows-Systemen. Für forensische Untersuchungen relevante Daten befinden sich in der SQLite-Datenbank ukg.db, im Registry-Hive, in dem die Recall-Einstellungen gespeichert sind, sowie im ImageStore-Ordner, in dem die von Recall erstellten Snapshots abgelegt werden.
Im Registry-Hive ist insbesondere der Wert CaptureExclusion von Interesse. Hier werden alle Ausnahmen – also Websites und Applikationen, die von den Nutzern nicht aufgezeichnet werden sollen – Base64-kodiert gespeichert. Die wichtigsten Daten für eine forensische Analyse befinden sich jedoch in der Datenbank. Diese enthält eine Vielzahl von Tabellen, die eine umfassende Nutzungshistorie rekonstruieren lassen. Den Aufbau der Datenbank zeigt Abbildung 1 (ukg.db).
Abbildung 1 ukg.db ( Zum Vergrößern anklicken)
Bereits auf den ersten Blick fällt die Tabelle WindowCapture ins Auge, die das zentrale Element der Datenbank bildet. In dieser Tabelle werden Einträge für verschiedene Events erstellt, die sich auf Applikationsfenster und deren Nutzerinteraktionen beziehen. Die folgenden Events sind dabei besonders relevant:
- WindowCreatedEvent: Ein Applikationsfenster wurde geöffnet.
- WindowChangedEvent: Änderungen an einem Applikationsfenster wurden vorgenommen.
- WindowCaptureEvent: Es wurde ein Snapshot erstellt, mit Verweis auf den Snapshot.
- WindowDestroyedEvent: Ein Applikationsfenster wurde geschlossen.
Die Einträge in dieser Tabelle sind stets mit Zeitstempeln versehen sowie mit dem Titel des Fensters (ausgenommen bei WindowDestroyedEvent). Über das Feld WindowId können alle Einträge zu einem Anwendungsfenster ausgelesen werden, sodass sich präzise nachvollziehen lässt, was während der Nutzungsdauer mit dem Anwendungsfenster passiert ist. Durch Verknüpfung mit anderen Tabellen können die Informationen aus der WindowCapture-Tabelle weiter angereichert werden, um ein umfassendes Bild der Aktivitäten zu erstellen.
Zur Veranschaulichung haben wir ein einfaches Beispiel erstellt, das in Abbildung 2 (Beispieldaten) zu sehen ist und einen Teil der Daten zeigt, die von Recall in der Datenbank gespeichert werden. Diese Daten geben die auf dem Computer ausgeführten Aktionen sehr genau wieder: Der Datei-Explorer wurde geöffnet, es wurde zu einem Ordner navigiert, eine Textdatei geöffnet und bearbeitet. Vor der Aufzeichnung wurde eine Ausnahme für Notepad angelegt, um zu zeigen, dass Recall trotz einer Ausnahmeregelung Daten in die Datenbank schreibt.
Abbildung 2 Beispieldaten ( Zum Vergrößern anklicken)
Neben den bisher angesprochenen Tabellen gibt es noch die AppDwellTime-Tabelle. Diese speichert die Nutzungszeiten von Applikationen und kann in Verbindung mit der App-Tabelle einen guten Überblick über häufig verwendete Applikationen geben. Allerdings ist es schwierig nachzuvollziehen, wann Einträge in der AppDwellTime-Tabelle erstellt werden; zudem lassen sich diese nur vage den Einträgen in der WindowCapture-Tabelle zuordnen.
Im vorherigen Artikel zu Recall wurde bereits die Optical Character Recognition (OCR) erwähnt. Für die daraus resultierenden Daten gibt es ebenfalls eine Tabelle in der Datenbank, nämlich WindowCaptureTextIndex_content. Hier wird der erfasste Text gespeichert, und die Einträge lassen sich über die WindowCaptureId eindeutig den WindowCapture-Einträgen zuordnen.
Einige der Tabellen und Felder blieben während unserer Tests leer. Dies könnte sich ändern, sobald Recall in der finalen Version veröffentlicht wird. Wir werden die Entwicklungen aufmerksam verfolgen und unsere Erkenntnisse in zukünftigen Berichten mit Ihnen teilen.