USB-Geräteforensik unter Windows: die vollständige Übersicht
Alle Windows-Artefakte, die einen USB-Stick erfassen — Registry, setupapi.dev.log, Ereignisprotokolle, LNK, Jump Lists, ShellBags — und ihre Zuordnung.
Kurzfassung. Kein einzelnes Windows-Artefakt erzählt die ganze Geschichte eines USB-Sticks. Der SYSTEM-Hive benennt das Gerät und liefert vier Eigenschafts-Zeitstempel; setupapi.dev.log datiert die Erstinstallation; die Ereignisprotokolle datieren jedes Anschließen und Entfernen; benutzerbezogene Artefakte (MountPoints2, Verknüpfungen, Jump Lists, ShellBags) zeigen, wer das Gerät genutzt hat und was darauf geöffnet wurde. Aufgabe der Ermittlerin oder des Ermittlers ist es, diese Quellen zusammenzuführen — und die Schlüssel dafür sind die Seriennummer / Instanz-ID, die Volume-GUID und die Volume-Seriennummer.
Die drei Fragen
Eine USB-Untersuchung stellt fast immer dieselben drei Fragen:
- Welches Gerät? Hersteller, Modell, Seriennummer — und ob diese Seriennummer echt ist.
- Wann? Das erste Anschließen, jedes spätere Anschließen und Entfernen sowie das letzte.
- Wer, und was? Welches Konto das Volume gemountet hat und welche Dateien und Ordner darauf geöffnet, geschrieben oder gelesen wurden.
Jede Frage wird von einer anderen Artefaktfamilie beantwortet, und jede Familie hat ihren eigenen Bezeichner für dasselbe Gerät. Deshalb fühlt sich USB-Analyse wie Zusammennähen an.
Welches Gerät: der SYSTEM-Hive
Unter ControlSet00x\Enum\USBSTOR legt Windows einen Schlüssel pro Massenspeicher-Geräteklasse an (Disk&Ven_Contoso&Prod_SecureFlash&Rev_1.00), mit einem Unterschlüssel pro Instanz (CS1234567890&0). Der Instanzname besteht aus der Seriennummer des Geräts, gefolgt von & und einer LUN-Nummer. Siehe USBSTOR.
Zwei Hinweise:
- Ist das zweite Zeichen der Seriennummer ein
&(zum Beispiel7&1f2e3d4c&0), hat das Gerät keine verwendbare Seriennummer gemeldet, und Windows hat die ID erzeugt. Sie ist nur auf diesem Computer eindeutig — siehe Von Windows erzeugte Seriennummer. Enum\USB\VID_xxxx&PID_yyyy\<serial>enthält die USB-Seite (Hersteller- und Produkt-ID). Dieser Eintrag teilt sich eine ContainerID mit dem USBSTOR-Eintrag, was beide verknüpft, auch wenn sich ihre Instanznamen unterscheiden.
Jeder Instanzschlüssel hat außerdem einen Unterschlüssel Properties\{83da6326-97a6-4088-9453-a1923f573b29} mit den Zeitstempeln der Geräteeigenschaften: 0064 Installationsdatum, 0065 Erstinstallationsdatum, 0066 letztes Anschließen, 0067 letztes Entfernen. Der USBSTOR-Artikel behandelt sie im Detail.
MountedDevices ordnet Laufwerksbuchstaben und Volume-GUIDs den Geräten zu. Der SOFTWARE-Hive ergänzt Volume-Labels (Windows Portable Devices) und — auf Systemen, auf denen ReadyBoost geprüft wurde — EMDMgmt-Einträge, die eine Geräte-Seriennummer mit einem Volume-Label und einer Volume-Seriennummer verbinden.
Wann: setupapi und die Ereignisprotokolle
C:\Windows\INF\setupapi.dev.logenthält für jede Geräteinstallation einen Abschnitt. Der erste Abschnitt zu einem Gerät entspricht seinem ersten Anschließen an diesen Computer. Die Zeiten stehen in Ortszeit — siehe setupapi.dev.log für USB.- Microsoft-Windows-Partition/Diagnostic, Ereignis 1006 wird beim Anschließen eines Datenträgers protokolliert (mit Modell, Seriennummer, Partitionstabelle und Volume Boot Records) und laut Praxisforschung erneut mit Kapazität null, wenn der Datenträger verschwindet. Ab Windows 10 1703 ist es die ergiebigste Einzelquelle — siehe Partition/Diagnostic 1006.
- Kernel-PnP/Configuration 400/410 protokollieren Konfiguration und Start des Geräts; DriverFrameworks-UserMode 2003 / 2100–2102 protokollieren UMDF-Anschließen und -Entfernen, sofern dieser Kanal aktiviert ist; Security 6416 protokolliert „Ein neues externes Gerät wurde erkannt“, wenn Audit PNP Activity aktiv ist.
Die Zeitstempel der Registry liefern das letzte Anschließen und Entfernen; die Protokolle liefern jedes, das sie noch enthalten. Widersprechen sie sich, ist der Widerspruch selbst ein Beleg: eine Neuinstallation, überschriebene Protokolle oder ein zu einem anderen Zeitpunkt kopierter Hive.
Wer und was: benutzerbezogene Artefakte
Die systemweiten Artefakte nennen nie einen Benutzer. Dafür brauchen Sie jedes Profil:
- NTUSER.DAT
MountPoints2listet die Volume-GUIDs auf, die in der Sitzung dieses Benutzers gemountet wurden. Gleichen Sie sie mitMountedDevicesab — siehe MountPoints2. - Verknüpfungen (
Recent\*.lnk) und Jump Lists speichern den Zielpfad und Laufwerkstyp, Label und Seriennummer des Volumes. Die Seriennummer verbindet eine Datei mit einem physischen Stick, auch wenn der Laufwerksbuchstabe mehrfach vergeben wurde. - ShellBags erfassen im Explorer durchsuchte Ordner, allerdings nur mit dem Laufwerksbuchstaben.
- Security 4663 auf Wechselmedien (wenn Audit Removable Storage aktiv ist) erfasst Lese- und Schreibzugriffe auf Dateien, mit einem Pfad der Form
\Device\HarddiskVolumeN.
Der Artikel zu LNK, Jump Lists und ShellBags erklärt, wie man sie zuordnet.
Alles zusammenführen
| Schlüssel | Wo er vorkommt |
|---|---|
| Seriennummer / Instanz-ID | USBSTOR, USB, WPDBUSENUM, MountedDevices data, EMDMgmt, setupapi, Kernel-PnP, 6416, 1006 ParentId |
| Container-ID | USB, USBSTOR, SWD\WPDBUSENUM |
| Volume-GUID | MountedDevices, MountPoints2 |
| Volume-Seriennummer | 1006 volume boot record, EMDMgmt, LNK / Jump List VolumeID |
USB Forensics übernimmt diese Zusammenführung in Ihrem Browser: Legen Sie eine Triage-Sammlung ab, und Sie erhalten eine Karte pro Gerät, eine Zeitleiste und Beleg-Chips, die hinter jeder Angabe die Datei und den Schlüssel, Datensatz oder die Zeile nennen. Der Sammelleitfaden listet auf, was zu sichern ist.