SRUM vs Prefetch vs Amcache : quel artefact d'exécution utiliser
19/05/2026
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
| SRUM | Prefetch | Amcache | |
|---|---|---|---|
| Prouve l'exécution | Oui (cycles CPU > 0) | Oui | Associé, pas définitif |
| Résolution temporelle | seau ~1 heure | Par seconde (8 derniers lancements) | Installation / première vue |
| Profondeur d'historique | 30-60 jours (court-terme), ~1 an (LT) | ~1024 entrées, roule | Semaines à mois |
| Attribution utilisateur | Oui (UserId → SID) | Non | Non |
| Octets / réseau | Oui | Non | Non |
| Hash du binaire | Non | Non | Oui (SHA-1) |
| Disponibilité par défaut | Activé (Win8+) | Souvent désactivé sur SSD/serveur | Activé |
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
UserIdde 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.pfde Prefetch : 8 dernières avec précision à la seconde. - Hash du binaire à comparer à de la threat-intel. Le
SHA1Amcache est le bon pivot. - Serveur avec Prefetch désactivé et SRUM aussi rance.
L'
InventoryApplicationFiled'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é
- Amcache. Récupérer le SHA-1 du binaire et le
LastWritedeInventoryApplicationFile(Appraiser a remarqué le fichier). - 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é.
- SRUM. Confirmer la récurrence longue portée, attribuer à un SID utilisateur, mesurer toute sortie réseau.
- EVTX / Sysmon. Pour la corroboration en temps réel des
créations de processus (
Sysmon 1,EVTX 4688), voir triage EVTX. - 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…,LastWrite2026-04-10 14:23 UTC. - Prefetch →
LOADER.EXE-XXXXXXXX.pf,LastRunTime2026-04-10 14:23:18, six exécutions totales. - SRUM Application Resource Use → six lignes pour l'
AppIdrésolvant vers le chemin du loader, étalées sur le 10-15 avril, toutes sous le SID du suspect, toutes avecBackgroundCycleTimenon 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.