Qu'est-ce que SRUM et pourquoi cela intéresse les analystes forensiques
16/05/2026
SRUM fait partie de ces sous-systèmes Windows dont personne chez Microsoft ne parle fort, mais qui journalisent discrètement des mois d'utilisation de ressources par processus dans une base ESE. Pour le DFIR, c'est ce qui se rapproche le plus d'un journal d'audit EDR intégré livré par Windows : quel processus a tourné, quand, sous quel utilisateur, sur quel réseau, combien d'octets il a envoyés et reçus, et si la machine était sur batterie pendant cela. Rien de tout cela n'est dans Prefetch, Amcache, ni dans un seul canal EVTX.
Ce qu'est réellement SRUM
SRUM (System Resource Usage Monitor) est une fonctionnalité Windows
introduite dans Windows 8, présente sur chaque SKU grand public et
serveur depuis. Il s'exécute dans le cadre du Diagnostic Policy
Service (DPS) et persiste ses échantillons dans une base Extensible
Storage Engine (ESE) à C:\Windows\System32\sru\SRUDB.dat.
La cadence est approximativement :
- Activité par application échantillonnée toutes les 60 minutes.
- Événements d'énergie (branchement/débranchement secteur, transitions de veille) échantillonnés à chaque changement d'état.
- Connectivité réseau échantillonnée à chaque attachement/détachement réseau.
La rétention va jusqu'à 30 jours environ pour les tables court-terme et jusqu'à un an pour leurs jumelles long-terme (LT), selon le volume d'activité. Voir la rétention SRUM.
Ce que vous en tirez
La base contient plusieurs tables identifiées par GUID. Celles qui comptent :
| GUID | Objet |
|---|---|
{D10CA2FE-6FCF-4F6D-848E-B2E99266FA89} | Utilisation des ressources d'application |
{973F5D5C-1D90-4944-BE8E-24B94231A174} | Utilisation des données réseau |
{DD6636C4-8929-4683-974E-22C046A43763} | Connectivité réseau |
{FEE4E14F-02A9-4550-B5CE-5FA2DA202E37} | Utilisation de l'énergie |
{D10CA2FE-6FCF-4F6D-848E-B2E99266FA8F} | Notifications push |
Plus SruDbIdMapTable, qui traduit les clés étrangères entières
AppId/UserId de chaque table de données en un véritable chemin
d'application ou un SID Windows. Sans elle, chaque ligne dit
AppId = 47. Avec elle, 47 devient
C:\Users\<suspect>\AppData\Local\Temp\loader.exe, et votre
investigation a un nom.
L'article dédié aux tables parcourt les colonnes.
Pourquoi les analystes s'en servent
Questions spécifiques auxquelles SRUM répond et auxquelles rien d'autre sur disque ne répond aussi proprement :
- Quel processus a exfiltré des données et combien ?
BytesSentparAppId, parUserId, par réseau. L'EDR ne retient souvent pas cela longtemps ; SRUM si. - Ce programme tournait-il à une date précise ? Les lignes Utilisation des ressources d'application survivent des mois après que Prefetch a roulé.
- Quel compte utilisateur était connecté lors de l'exécution ?
Le
UserIdse résout en SID, que leProfileListdu registre associe à un nom d'utilisateur. - L'appareil était-il sur secteur ou batterie lors de l'événement ? Utilisation de l'énergie le fixe à la seconde.
Le chevauchement avec l'EDR moderne est réel, et c'est précisément pour cela que cela compte. Sur les hôtes où l'EDR est absent ou où la fenêtre suspecte précède la couverture EDR, SRUM est souvent l'enregistrement d'activité par processus le plus défendable disponible.
Où il vit, ce que vous collectez
C:\Windows\System32\sru\SRUDB.dat plus tout le répertoire sru\
(journaux de transactions SRU*.log, checkpoint SRU.chk). Le
guide d'acquisition couvre le verrou
et la stratégie de récupération.
Vous voulez aussi la ruche registre SOFTWARE. Sans elle, les GUID de
profils réseau ne se résolvent pas en noms SSID conviviaux.
Pièges courants avant de faire confiance aux données
- Base sale. Si vous copiez
SRUDB.datdepuis un hôte en direct, vous l'attrapez presque toujours en plein vidage. L'en-tête est marqué sale et un lecteur sautera les pages récentes. Rejouez d'abord les journaux. Voir comment réparer un SRUDB.dat corrompu. - Regroupement horaire. Une session de navigateur de cinq minutes apparaît comme une seule ligne de 60 minutes. Ne revendiquez pas une précision à la minute à partir des tables court-terme.
- Manipulation par SYSTEM. Un adversaire privilégié peut arrêter DPS et écraser le fichier. Vérifiez l'entrée MFT du fichier dans MFT pour des horodatages de modification inattendus.
Pour aller plus loin
- Où se trouve SRUDB.dat sous Windows ?
- Tables SRUM expliquées
- Comment analyser SRUDB.dat sans rien installer
- Utiliser SRUM dans une investigation forensique
- Le format de base ESE qui propulse SRUDB.dat
- SRUM vs Prefetch vs Amcache
- Comment réparer un SRUDB.dat corrompu
- Combien de temps SRUM conserve-t-il les données ?
- Détecter l'exfiltration de données avec SRUM
Questions fréquentes
Que signifie SRUM ?
System Resource Usage Monitor. C'est un sous-système Windows apparu avec Windows 8 qui enregistre par application l'utilisation CPU, réseau et énergie.
Jusqu'où SRUM remonte-t-il dans le temps ?
30 à 60 jours pour les tables court-terme, jusqu'à un an pour les variantes long-terme (LT). La rétention est gouvernée par les réglages registre du Diagnostic Policy Service.
SRUM trace-t-il les URL ou chemins de fichiers ?
Non. SRUM compte les octets par processus et les cycles CPU, pas les URL, chemins, ou contenu d'écran. Combiné à l'historique navigateur ou aux chronologies système, il devient cependant très précis.
Peut-on désactiver SRUM ?
Oui, en arrêtant le Diagnostic Policy Service (DPS). Plus aucune nouvelle ligne n'est écrite, mais le SRUDB.dat existant est conservé jusqu'à suppression manuelle. La plupart des environnements d'entreprise laissent SRUM actif.
Quels outils analysent SRUDB.dat ?
SrumECmd (.NET), srum-dump (Python), libesedb (C), et cet outil navigateur (Rust → WebAssembly). Voir le comparatif dédié pour les détails.