Utiliser SRUM dans une investigation forensique
17/05/2026
SRUM est l'artefact qui ferme la boucle sur "cela a-t-il tourné, quand, qui l'a lancé, combien de données a-t-il déplacé". Sur les affaires où l'EDR est absent, où la fenêtre suspecte précède la couverture EDR, ou où l'EDR a été contourné, SRUM est fréquemment l'enregistrement d'activité par processus le plus défendable sur la machine. Le compromis est la résolution : la plupart des lignes sont regroupées par heure, on ancre donc des affirmations grossières avec SRUM puis on les affine avec des artefacts à la seconde près ailleurs.
Ce que SRUM prouve bien
- Une application tournait à une date donnée. Les lignes
Application Resource Use avec
FaceTime > 0ouBackgroundCycleTime > 0pour un binaire résolu viaAppIdplacent ce processus sur le système pour un seau horaire donné. - Combien de données une application a envoyées ou reçues.
BytesSent/BytesRecvdde Network Data Usage parAppIdpar profil réseau. - Sur quel réseau était l'hôte. Network Connectivity porte des horodatages de connexion FILETIME précis par profil Wi-Fi.
- Le portable était-il sur secteur ou batterie. Energy Usage enregistre chaque transition avec un FILETIME précis à la seconde.
Un exemple traité : exfiltration de données
Le schéma standard de l'employé partant. Image prise trois jours après le dernier jour ; la question est de savoir s'il a préparé et exfiltré des données.
- Acquérir
C:\Windows\System32\sru\*et la ruche registreSOFTWAREdepuis l'image. Voir où se trouve SRUDB.dat. - Récupérer la base si sale, voir comment réparer un SRUDB.dat corrompu.
- Analyser. Déposez la base dans l'analyseur navigateur ou
lancez
SrumECmd. Voir comment analyser SRUDB.dat. - Filtrer Network Data Usage sur le
UserIddu suspect (résolu viaSruDbIdMapTablevers son SID, lui-même associé à un nom d'utilisateur viaProfileListdu registre). - Trier par
BytesSentdécroissant pour la fenêtre suspecte (14 derniers jours d'emploi). Cherchez les processus non-navigateur avec des centaines de Mo sortants :OneDrive.exe,Dropbox.exe,pwsh.exe,curl.exe,7z.exe, binaires sur mesure. - Recouper Network Connectivity pour la même fenêtre. L'appareil
était-il sur Wi-Fi d'entreprise, un hotspot personnel, ou un SSID
inconnu ? Le haut débit mobile (
L2ProfileFlags & 0x400) signifie souvent un hotspot intentionnellement choisi pour contourner le filtrage de sortie. - Pivoter vers Application Resource Use pour ces processus.
FaceTime > 0distingue l'usage au premier plan d'un agent de synchronisation en arrière-plan. - Corroborer l'activité fichier avec le journal USN et le MFT : les octets sont un bonus si vous pouvez aussi montrer ce qui a été archivé et copié.
Processus + octets + réseau + utilisateur + heure est une histoire bien plus forte que n'importe quelle source unique.
Un exemple traité : persistance de malware
Alerte SOC déclenchée sur un binaire à faible prévalence exécuté hier matin.
- Résolvez le chemin du binaire dans
SruDbIdMapTable. S'il existe une ligne, le processus s'est enregistré auprès de SRUM à un moment, donc il a tourné. - Extrayez toutes les lignes Application Resource Use pour cet
AppId, triées parTimeStamp. La plus ancienne est la première exécution ; les lignes suivantes montrent les intervalles de récurrence, empreinte d'une persistance par tâche planifiée ou clé Run. - Si les cycles CPU en arrière-plan continuent sans temps au premier plan, le processus tourne silencieusement.
- Recoupez Network Data Usage pour le même
AppIdpour voir s'il a téléphoné chez lui et sur quel réseau. - Récupérez le hash du binaire via AmCache pour le pivot threat-intel, Prefetch pour des horodatages d'exécution précis, et Sysmon 1 / EVTX 4688 (EVTX) pour le processus parent.
Chevauchement EDR et là où SRUM gagne encore
L'EDR moderne enregistre la plupart de ce que SRUM fait, souvent avec une meilleure granularité. SRUM gagne encore sa place quand :
- L'EDR n'était pas déployé au moment de l'activité suspecte.
- L'EDR a été désactivé ou contourné par l'adversaire (et SRUM ne l'a pas été, DPS figure rarement sur les checklists adversariales).
- La rétention EDR est plus courte que la fenêtre d'investigation.
- L'hôte est un portable personnel/prestataire avec une couverture EDR inégale.
Dans ces cas, SRUM est un journal d'audit intégré, activé par défaut, que Microsoft a laissé tourner depuis des années.
Mises en garde
- Regroupement horaire. Une session navigateur de cinq minutes peut apparaître comme une ligne de 60 minutes. Ne revendiquez pas une résolution minute par minute.
FaceTime > 0≠ humain au clavier. Interface visible n'est pas entrée humaine. Sessions RDP, kiosques, écrans de connexion sans surveillance s'enregistrent tous.- Les agrégats LT diffèrent des compteurs court-terme. Ne comparez pas un à un les comptes d'octets LT hebdomadaires aux lignes court-terme horaires.
- SYSTEM peut manipuler. Vérifiez l'entrée
MFT de
SRUDB.datpour des horodatages de modification inattendus et utilisez Energy Usage comme oracle de continuité (il journalise même quand la plupart de la télémétrie d'application est supprimée).
Pour aller plus loin
Questions fréquentes
Les preuves SRUM sont-elles recevables en justice ?
Oui. Des tribunaux aux États-Unis, au Royaume-Uni et dans l'UE ont accepté des témoignages dérivés de SRUM. Comme pour toute preuve numérique, la chaîne de possession et la méthodologie d'analyse doivent être documentées.
SRUM peut-il prouver qu'un utilisateur était au clavier ?
Indirectement. La colonne FaceTime de Application Resource Use capture le temps pendant lequel l'interface de l'application était visible, ce qui corrèle généralement à l'usage actif. Ce n'est pas la même chose qu'une entrée humaine confirmée.
Quelle est la précision des horodatages SRUM ?
Les TimeStamp de lignes sont regroupés par intervalle d'échantillonnage SRUM (typiquement 60 minutes). Les événements d'énergie et de connexion réseau sont précis à la seconde.
Un attaquant peut-il altérer SRUDB.dat ?
Oui, avec les privilèges SYSTEM il peut arrêter le service SRUM et écraser le fichier. Cherchez des comptes de lignes incohérents, des écarts dans la séquence TimeStamp, ou des horodatages de modification récents sur le fichier lui-même.
SRUM enregistre-t-il la navigation privée/incognito ?
Il enregistre les octets utilisés par le processus du navigateur, mais pas les URL visitées. Vous verrez donc que Chrome a envoyé 200 Mo à une heure donnée, mais pas vers où.