Amcache unter Windows 11 und Windows 10: Schema, Kadenz und Eigenheiten

Amcache erreichte seine reife, moderne Form in Windows 10 Build 1709 (Fall Creators Update) und ist seitdem in seinen groben Zügen unter Windows 10 und Windows 11 konsistent geblieben. Die Hive auf einer heutigen Windows-11-Workstation wird auf dieselbe Weise gelesen und analysiert wie auf einer Windows-10- 1809-Workstation im Jahr 2018 — aber im Laufe der Jahre haben sich eine Handvoll build-spezifischer Eigenheiten angesammelt, und sie zu kennen bewahrt Sie davor, Beweise falsch zu lesen.

Diese Seite ist die Pro-Build-Referenz für modernes Windows. Für Server-spezifische Details siehe Amcache unter Windows Server. Für die breitere Artefakt-Referenz siehe die vollständige Amcache-Referenz.


Das Schema über Windows-10-Builds#

Das Inventory*-Schema wurde in Windows 10 Build 1709 (Fall Creators Update, Oktober 2017) hinzugefügt. Davor verwendete Amcache unter Windows 10 nur die Legacy-Schlüssel Root\Programs und Root\File — viel dünnere Daten pro Eintrag.

Die wichtigsten in 1709 hinzugefügten Inventory*-Schlüssel:

  • Root\InventoryApplication
  • Root\InventoryApplicationFile
  • Root\InventoryDriverBinary
  • Root\InventoryDeviceContainer
  • Root\InventoryDevicePnp

Nachfolgende Windows-10-Feature-Updates haben Schlüssel hinzugefügt oder verfeinert, aber die Gesamtstruktur stabil gehalten:

Build Bemerkenswerte Amcache-Änderung
1709 Inventory*-Schema eingeführt.
1803 InventoryApplicationFramework hinzugefügt.
1809 InventoryApplicationShortcut hinzugefügt (Startmenü- / angeheftete Verknüpfungen).
1903 InventoryDeviceInterface hinzugefügt.
1909 Schema-Verfeinerungen; keine großen neuen Schlüssel.
2004 InventoryDriverPackage hinzugefügt (Treiberpaket-Metadaten).
20H2 Schema stabil.
21H1 / 21H2 Schema stabil.
22H2 Finales Feature-Update; Schema stabil.

In der Praxis: Alles ab Windows 10 Build 1709 hat das moderne Inventory*-Schema und parst sauber mit aktuellen AmcacheParser-Builds.


Das Schema unter Windows 11#

Windows 11 erbt das späte Windows-10-Schema mit kleineren Ergänzungen:

  • InventoryMiscellaneousUUPInfo zeichnet Metadaten zu Unified- Update-Platform-Paketen auf. Selten nützlich in der DFIR.
  • InventoryDeviceMediaClass zeichnet Audio- / Video-Gerät- Unterklassifizierungen aggressiver auf. Nützlich, um USB-Audiogeräte von USB-Massenspeichergeräten zu unterscheiden, wenn ein einzelner USB-Container mehrere Schnittstellen bereitstellt.
  • Treibereinträge unter InventoryDriverBinary enthalten etwas mehr Paket-Metadaten-Felder, insbesondere zum WHQL-Signierstatus.

Es gibt keine breaking changes zwischen Windows 10 (nach 1709) und Windows 11 aus Parsing-Sicht. Dasselbe AmcacheParser.exe-Binary handhabt beide.


Appraiser-Kadenz#

Der geplante Task Compatibility Appraiser befüllt die Hive. Seine Kadenz unter modernem Windows:

  • Windows-11-Workstation: ungefähr täglich, typischerweise einmal über Nacht, wenn der Host im Leerlauf ist. Der genaue Trigger ist eine Kombination aus Leerlaufzeit-Triggern und einem zeitbasierten Trigger mit zufälliger Verzögerung.
  • Windows-10-Workstation: gleiches Muster.
  • Tablet / Convertible: weniger häufig — der Appraiser ist energiebewusst und überspringt im Akkubetrieb.
  • Domain-joined Workstation mit Microsoft Endpoint Manager: Einige MEM-Richtlinien passen die Kadenz an; das Verhalten kann variieren.

Die praktische Konsequenz: Ein frisch installierter Windows-11- Host, der weniger als 24 Stunden gelaufen ist, kann eine sehr dünne Amcache haben. Umgekehrt hat eine Workstation, die seit Jahren läuft, eine Hive mit Tausenden Einträgen, die die volle Historie umfassen.


Hive-Größe unter modernem Windows#

Typische Größen:

Workload Typische Hive-Größe Anmerkungen
Frische Windows-11-Installation (1 Woche) 2–4 MB Wenige Einträge; leichte Treiber-/Gerätedaten.
Standard-Office-Workstation (6 Monate) 8–15 MB Hunderte InventoryApplicationFile-Zeilen; vollständige Treiber- und Gerätedaten.
Entwickler-Workstation (1+ Jahr) 25–50 MB Tausende Dateieinträge aus Build-Artefakten; viele LinkDate-Cluster.
Server (1+ Jahr) 5–15 MB Kleiner — weniger interaktive Apps, engerer Scope.

Eine Hive, die viel kleiner ist, als der Workload nahelegt, kann ein Hinweis darauf sein, dass der Appraiser deaktiviert wurde (absichtlich oder durch Sabotage) — siehe Beweise gelöschter Binärprogramme aus Amcache wiederherstellen.


Build-spezifische Eigenheiten, die man kennen sollte#

Eine Handvoll Eigenheiten, die Analysten überraschen:

Windows 10 1909 / 2004 Hash-Trunkierungs-Grenzfall#

Auf einer kleinen Untermenge von Windows-10-1909- und -2004-Hives haben sehr große Binärprogramme (>~1 GB) gelegentlich eine leere FileId statt einer Präfix-Hash-FileId. Das Verhalten wurde laut Berichten in späteren kumulativen Updates behoben, erscheint aber in archivierten Hives aus dieser Ära. Behandeln Sie leere Hash-Zeilen für große Dateien als „kein Hash erfasst" statt „Binärprogramm ist einzigartig".

Windows 11 22H2+ Device-Container-Churn#

Windows 11 22H2 führte aggressivere Neu-Enumeration von Device Containern über Windows-Update-Neustarts hinweg ein, was „neue" InventoryDeviceContainer-Zeilen für Geräte erzeugen kann, die seit Monaten auf dem Host sind. Der KeyLastWriteTimestamp auf diesen Zeilen spiegelt die Neu-Enumeration wider, nicht die Erst-Verbindung. Querverweisen Sie mit setupapi.dev.log und USBSTOR für echte Erst-Connect-Zeitstempel.

ProgramId-Instabilität über Windows-Feature-Upgrades#

Eine Workstation, die von Windows 10 21H2 auf Windows 11 22H2 upgegraded wurde, kann unterschiedliche ProgramId-Werte für dieselbe Anwendung vor und nach dem Upgrade haben. Der hostübergreifende ProgramId-Pivot funktioniert weiterhin für Hosts auf demselben Major-Build; über Upgrades hinweg pivotieren Sie auch auf Hash (stabiler über Upgrades) — siehe Amcache ProgramId erklärt.

Inbox-App-Churn unter Windows 11#

Windows 11 liefert und entfernt Inbox-Apps (die eingebauten Store-Apps) in schnellerer Kadenz aus, als Windows 10 es tat. Sie sehen häufige InventoryApplicationFile-Zeilen für die AppX-Schicht, die zwischen Feature-Updates kommen und gehen. Diese werden in der Regel sicher durch Publisher = 'Microsoft Corporation' und einen AppX-ähnlichen Pfad unter \Program Files\WindowsApps\ herausgefiltert.

Modern Standby / Connected Standby und der Appraiser#

Auf Laptops in Modern Standby / Connected Standby unterscheidet sich die Trigger-Semantik des Appraisers von einem Desktop. Sie können auf stark genutzten Laptops etwas längere Appraiser- Intervalle sehen (manchmal 36–48 Stunden), weil der Leerlaufzeit- Trigger selten feuert. Berücksichtigen Sie dies, wenn Sie über First-Seen-Zeiten argumentieren.


Unterschiede zu älterem Windows#

Drei Dinge, die man sich merken sollte, wenn man Windows-10- / 11-Amcache mit älterem Windows vergleicht:

vs Windows 7 / Server 2008 R2#

Kein Äquivalent — Windows 7 hat RecentFileCache.bcf, eine flache Binärdatei. Siehe Wo Amcache.hve auf der Festplatte liegt für Pfad und Parser.

vs Windows 8 / 8.1 / Server 2012 / 2012 R2#

Amcache.hve existiert, aber nur mit den Legacy-Schlüsseln Programs und File. AmcacheParser erzeugt *_ProgramEntries.csv, aber keine *_UnassociatedFileEntries.csv. Viel weniger Detail pro Datei.

vs frühes Windows 10 (vor 1709)#

Gleiches Legacy-only-Schema wie Windows 8.x. Der große Sprung zu Inventory* war 1709.


Praktische Implikationen für die Triage#

Ein paar Regeln, die aus all dem oben folgen:

  1. Für Windows 10 1709+ und Windows 11 haben AmcacheParser-CSVs *_UnassociatedFileEntries.csv und *_AssociatedFileEntries.csv. Das ist der Triage-Fokus.
  2. Für Windows 8 / 8.1 / Server 2012 konzentrieren Sie sich auf *_ProgramEntries.csv und erkennen Sie, dass die Pro-Datei- Metadaten dünn sind.
  3. Für Windows 7 verwenden Sie einen dedizierten RecentFileCache.bcf-Parser — AmcacheParser handhabt das nicht.
  4. Für Server-Builds rechnen Sie mit längeren Appraiser- Intervallen; ziehen Sie keine feingranularen First-Seen-Schlüsse auf Stundenbasis.
  5. Für Laptops in Modern Standby rechnen Sie mit ähnlicher Variabilität.

Siehe auch#

Um eine Windows-10- oder -11-Hive jetzt ohne Installation zu erkunden, legen Sie die Datei auf der Startseite des Parsers ab — sie parst vollständig in Ihrem Browser.

Verwandte Beiträge

Zurück zu allen Beiträgen