Amcache sur Windows 11 et Windows 10 : schéma, cadence et particularités

Amcache a atteint sa forme moderne et mature dans Windows 10 build 1709 (Fall Creators Update) et est resté cohérent dans ses grandes lignes depuis sur Windows 10 et Windows 11. La ruche sur un poste de travail Windows 11 aujourd'hui se lit et s'analyse de la même façon que sur un poste Windows 10 1809 en 2018 — mais une poignée de particularités spécifiques aux builds se sont accumulées au fil des années, et les connaître vous évite de mal lire les preuves.

Cette page est la référence par build pour Windows moderne. Pour les spécificités Serveur, voir Amcache sur Windows Server. Pour la référence plus large sur l'artefact, voir la référence complète Amcache.


Le schéma à travers les builds Windows 10#

Le schéma Inventory* a été ajouté dans Windows 10 build 1709 (Fall Creators Update, octobre 2017). Avant cela, Amcache sur Windows 10 n'utilisait que les clés legacy Root\Programs et Root\File — données bien plus pauvres par entrée.

Les clés Inventory* phares ajoutées dans 1709 :

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

Les feature updates Windows 10 ultérieures ont ajouté ou affiné des clés mais ont gardé la structure globale stable :

Build Changement Amcache notable
1709 Schéma Inventory* introduit.
1803 InventoryApplicationFramework ajouté.
1809 InventoryApplicationShortcut ajouté (menu Démarrer / raccourcis épinglés).
1903 InventoryDeviceInterface ajouté.
1909 Affinements de schéma ; aucune nouvelle clé majeure.
2004 InventoryDriverPackage ajouté (métadonnées de package pilote).
20H2 Schéma stable.
21H1 / 21H2 Schéma stable.
22H2 Dernière feature update ; schéma stable.

En pratique : tout depuis Windows 10 build 1709 a le schéma Inventory* moderne et s'analyse proprement avec les builds AmcacheParser actuels.


Le schéma sur Windows 11#

Windows 11 hérite du schéma de fin de Windows 10 avec des ajouts mineurs :

  • InventoryMiscellaneousUUPInfo enregistre les métadonnées de packages Unified Update Platform. Rarement utile en DFIR.
  • InventoryDeviceMediaClass enregistre plus agressivement les sous-classifications de périphériques audio / vidéo. Utile pour distinguer les périphériques USB-audio des périphériques USB de stockage de masse quand un seul conteneur USB expose plusieurs interfaces.
  • Les enregistrements de pilote sous InventoryDriverBinary incluent légèrement plus de champs de métadonnées de package, en particulier autour de l'état de signature WHQL.

Il n'y a pas de breaking changes entre Windows 10 (post-1709) et Windows 11 du point de vue de l'analyse. Le même binaire AmcacheParser.exe gère les deux.


Cadence de l'appraiser#

La tâche planifiée Compatibility Appraiser alimente la ruche. Sa cadence sur Windows moderne :

  • Poste de travail Windows 11 : environ chaque jour, typiquement une fois pendant la nuit quand l'hôte est inactif. Le déclencheur exact est une combinaison de déclencheurs sur temps d'inactivité et d'un déclencheur temporel avec délai aléatoire.
  • Poste de travail Windows 10 : même pattern.
  • Tablette / convertible : moins fréquent — l'appraiser est conscient de l'alimentation et saute quand sur batterie.
  • Poste de travail joint au domaine avec Microsoft Endpoint Manager : certaines politiques MEM ajustent la cadence ; le comportement peut varier.

La conséquence pratique : un hôte Windows 11 fraîchement installé qui tourne depuis moins de 24 heures peut avoir un Amcache très maigre. À l'inverse, un poste de travail allumé depuis des années a une ruche avec des milliers d'entrées couvrant toute l'histoire.


Taille de ruche sur Windows moderne#

Tailles typiques :

Charge de travail Taille de ruche typique Notes
Install Windows 11 frais (1 semaine) 2-4 Mo Peu d'entrées ; données pilote / périphérique légères.
Poste de travail bureautique standard (6 mois) 8-15 Mo Centaines de lignes InventoryApplicationFile ; enregistrements pilote et périphérique complets.
Poste de travail développeur (1+ an) 25-50 Mo Milliers d'entrées de fichiers depuis artefacts de build ; nombreux clusters LinkDate.
Serveur (1+ an) 5-15 Mo Plus petit — moins d'apps interactives, périmètre plus étroit.

Une ruche beaucoup plus petite que ce que la charge de travail suggère peut être un drapeau pour un appraiser désactivé (intentionnellement ou par sabotage) — voir Récupérer la preuve de binaires supprimés depuis Amcache.


Particularités par build à connaître#

Une poignée de particularités qui prennent les analystes au dépourvu :

Cas limite de troncature de hash sur Windows 10 1909 / 2004#

Sur un petit sous-ensemble de ruches Windows 10 1909 et 2004, les binaires très grands (>~1 Go) ont occasionnellement un FileId vide plutôt qu'un FileId prefix-hash. Le comportement a apparemment été résolu dans les cumulative updates ultérieurs mais apparaît dans les ruches archivées de cette époque. Traitez les lignes avec Hash vide pour les gros fichiers comme « aucun hash capturé » plutôt que « binaire est unique ».

Churn de device-container sur Windows 11 22H2+#

Windows 11 22H2 a introduit une ré-énumération plus agressive des device containers lors des reboots Windows Update, ce qui peut produire des « nouvelles » lignes InventoryDeviceContainer pour des périphériques qui sont sur l'hôte depuis des mois. Le KeyLastWriteTimestamp sur ces lignes reflète la ré-énumération, pas la première connexion. Recroisez avec setupapi.dev.log et USBSTOR pour les vrais horodatages de première connexion.

Instabilité de ProgramId à travers les feature upgrades Windows#

Un poste de travail qui a été mis à niveau de Windows 10 21H2 vers Windows 11 22H2 peut avoir des valeurs ProgramId différentes pour la même application avant et après la mise à niveau. Le pivot cross-hôtes ProgramId fonctionne toujours pour les hôtes sur le même build majeur ; entre upgrades, pivotez aussi sur Hash (plus stable entre upgrades) — voir ProgramId Amcache expliqué.

Churn d'apps inbox sur Windows 11#

Windows 11 livre et retire des apps inbox (les apps Store intégrées) à une cadence plus rapide que Windows 10. Vous voyez de fréquentes lignes InventoryApplicationFile pour la couche AppX qui vont et viennent entre feature updates. Celles-ci se filtrent généralement sans risque par Publisher = 'Microsoft Corporation' et un chemin de style AppX sous \Program Files\WindowsApps\.

Modern Standby / connected standby et l'appraiser#

Sur les laptops en Modern Standby / connected standby, la sémantique de déclenchement de l'appraiser diffère d'un desktop. Vous pouvez voir des intervalles d'appraiser légèrement plus longs (parfois 36-48 heures) sur les laptops fortement utilisés car le déclencheur de temps d'inactivité se déclenche rarement. Tenez-en compte quand vous raisonnez sur les heures de first-seen.


Différences avec les Windows plus anciens#

Trois choses à retenir lors de comparaisons entre Amcache Windows 10 / 11 et Windows plus ancien :

vs Windows 7 / Server 2008 R2#

Pas d'équivalent — Windows 7 a RecentFileCache.bcf, un fichier binaire à plat. Voir Où se trouve Amcache.hve sur disque pour le chemin et l'analyseur.

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

Amcache.hve existe mais avec seulement les clés legacy Programs et File. AmcacheParser produit *_ProgramEntries.csv mais pas *_UnassociatedFileEntries.csv. Bien moins de détails par fichier.

vs Windows 10 ancien (pré-1709)#

Même schéma legacy-only que Windows 8.x. Le grand basculement vers Inventory* était en 1709.


Implications pratiques pour le triage#

Quelques règles qui découlent de tout ce qui précède :

  1. Pour Windows 10 1709+ et Windows 11, les CSVs AmcacheParser ont *_UnassociatedFileEntries.csv et *_AssociatedFileEntries.csv. C'est le focus du triage.
  2. Pour Windows 8 / 8.1 / Server 2012, concentrez-vous sur *_ProgramEntries.csv et reconnaissez que les métadonnées par fichier sont maigres.
  3. Pour Windows 7, utilisez un analyseur dédié de RecentFileCache.bcf — AmcacheParser ne le gère pas.
  4. Pour les builds Server, prévoyez des intervalles d'appraiser plus longs ; ne tirez pas de conclusions fines de first-seen sur des échelles horaires.
  5. Pour les laptops en Modern Standby, prévoyez une variabilité similaire.

Voir aussi#

Pour explorer une ruche Windows 10 ou 11 tout de suite sans rien installer, déposez le fichier sur la page d'accueil de l'analyseur — il s'analyse entièrement dans votre navigateur.

Articles liés

Retour à tous les articles