← Retour à l’analyseur

Qu'est-ce que SRUM et pourquoi cela intéresse les analystes forensiques

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 :

GUIDObjet
{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 ? BytesSent par AppId, par UserId, 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 UserId se résout en SID, que le ProfileList du 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.dat depuis 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

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.