← Retour à l’analyseur

SRUM vs Prefetch vs Amcache : quel artefact d'exécution utiliser

Trois artefacts, trois choses différentes prouvées. Choisir le mauvais pour la question fait perdre du temps et laisse le rapport défendable uniquement sur les éléments que les deux autres auraient cloués froidement. La version courte : Prefetch est votre enregistrement récent à la seconde, SRUM est votre enregistrement longue portée avec attribution utilisateur et octets, Amcache est votre hash binaire plus preuve de présence. Ils se corroborent ; ils ne se substituent pas.

Côte à côte

SRUMPrefetchAmcache
Prouve l'exécutionOui (cycles CPU > 0)OuiAssocié, pas définitif
Résolution temporelleseau ~1 heurePar seconde (8 derniers lancements)Installation / première vue
Profondeur d'historique30-60 jours (court-terme), ~1 an (LT)~1024 entrées, rouleSemaines à mois
Attribution utilisateurOui (UserId → SID)NonNon
Octets / réseauOuiNonNon
Hash du binaireNonNonOui (SHA-1)
Disponibilité par défautActivé (Win8+)Souvent désactivé sur SSD/serveurActivé

Quand SRUM est le bon outil

Les questions auxquelles seul SRUM répond proprement :

  • Quel compte utilisateur a lancé cet outil ? Prefetch et Amcache ne peuvent pas attribuer par utilisateur. Le UserId de SRUM se résout en SID via SruDbIdMapTable.
  • Combien de données le processus a-t-il envoyées ? Seule Network Data Usage a des compteurs d'octets par processus.
  • Cela a-t-il tourné à plusieurs reprises sur le dernier mois ? SRUM garde 30-60 jours plus une jumelle LT. Prefetch sur un hôte chargé a probablement roulé en jours.
  • L'appareil était-il sur secteur ou batterie quand cela a tourné ? Energy Usage donne le contexte d'état d'alimentation, ce qui est parfois la différence entre "a tourné au bureau" et "a tourné dans un café".

Quand SRUM n'est pas le bon outil

  • Seconde exacte de l'exécution la plus récente. Les slots LastRunTime .pf de Prefetch : 8 dernières avec précision à la seconde.
  • Hash du binaire à comparer à de la threat-intel. Le SHA1 Amcache est le bon pivot.
  • Serveur avec Prefetch désactivé et SRUM aussi rance. L'InventoryApplicationFile d'Amcache survit là où rien d'autre ne survit.
  • L'hôte a été éteint pendant des mois. SRUM ne tourne pas quand la machine est éteinte ; Amcache survit intact.

Le flux combiné

  1. Amcache. Récupérer le SHA-1 du binaire et le LastWrite de InventoryApplicationFile (Appraiser a remarqué le fichier).
  2. Prefetch. Extraire les horodatages précis pour les exécutions les plus récentes et le numéro de série du volume sur lequel il a tourné.
  3. SRUM. Confirmer la récurrence longue portée, attribuer à un SID utilisateur, mesurer toute sortie réseau.
  4. EVTX / Sysmon. Pour la corroboration en temps réel des créations de processus (Sysmon 1, EVTX 4688), voir triage EVTX.
  5. Shimcache / RecentFileCache. Shimcache et RecentFileCache complètent le tableau des preuves d'exécution sur Windows plus anciens.

Un rapport qui corrobore l'exécution sur SRUM + Prefetch + Amcache tient. Un rapport qui s'appuie sur l'un des trois est une cible pour le contre-interrogatoire.

Un pivot traité

loader.exe suspect découvert dans \Users\suspect\AppData\Local\Temp\.

  • Amcache → SHA-1 abc123…, LastWrite 2026-04-10 14:23 UTC.
  • Prefetch → LOADER.EXE-XXXXXXXX.pf, LastRunTime 2026-04-10 14:23:18, six exécutions totales.
  • SRUM Application Resource Use → six lignes pour l'AppId résolvant vers le chemin du loader, étalées sur le 10-15 avril, toutes sous le SID du suspect, toutes avec BackgroundCycleTime non nul.
  • SRUM Network Data Usage → 78 Mo sortants sur le seau du 2026-04-12 21:00, réseau = haut débit mobile.
  • USN / MFT → archive staged.zip écrite dans la même minute que le seau SRUM de 21:00.

Cinq artefacts, une histoire.

Pour aller plus loin

Questions fréquentes

SRUM prouve-t-il qu'un programme a été exécuté ?

Oui. Une ligne dans la table Application Resource Use avec des cycles CPU non nuls signifie que le processus a tourné pendant ce seau horaire. Contrairement à Prefetch, elle lie aussi l'exécution à un SID utilisateur et à un coût en ressources.

Prefetch est-il plus précis que SRUM pour l'heure d'exécution ?

Prefetch enregistre les 8 derniers horodatages de lancement à la seconde, donc pour les exécutions les plus récentes il est plus précis. SRUM regroupe l'activité par fenêtres d'environ 1 heure mais conserve bien plus d'historique (30-60 jours contre ~128 entrées pour Prefetch).

Amcache peut-il prouver une exécution ?

Amcache prouve la présence et est fortement associé à l'exécution, mais c'est avant tout un artefact d'inventaire de programmes. SRUM et Prefetch sont des preuves d'exécution directes plus fortes.

Quel artefact survit le plus longtemps ?

Amcache et SRUM retiennent tous deux des semaines à des mois. Prefetch est plafonné à 1024 fichiers (et désactivé par défaut sur certains serveurs/SSD), donc il tourne le plus vite sur les systèmes chargés.

Faut-il n'en utiliser qu'un seul ?

Non. Ils se corroborent. Prefetch donne des horodatages récents précis, SRUM donne l'activité à long terme plus l'attribution utilisateur et les octets transférés, Amcache donne le SHA-1 du binaire et les métadonnées d'installation. Ensemble ils construisent une chronologie défendable.