BAM & DAM

Modérateur d’activité en arrière-plan (BAM) et modérateur d’activité sur le bureau (DAM)

But et fonction

Le Background Activity Moderator (BAM) et son prédécesseur, le Desktop Activity Moderator (DAM), sont des services Windows conçus pour gérer et contrôler la consommation de ressources des applications en arrière-plan. Introduit dans Windows 10 (Fall Creators Update, version 1709), la fonction principale du système BAM est de s’assurer que les processus en arrière-plan n’affectent pas négativement les performances du système ou l’autonomie en limitant leurs activités.

Du point de vue du DFIR, ce service de modération crée un artefact médico-légal puissant. Pour remplir sa fonction, le service BAM/DAM tient un enregistrement des applications qu’il a surveillées. Cet enregistrement est stocké dans le registre Windows et sert de journal des programmes exécutés, capturant souvent des preuves d’exécution que d’autres artefacts pourraient manquer.

Emplacement et structure

Les données BAM et DAM sont stockées dans un ensemble spécifique de clés dans la ruche du registre SYSTEM. L’accès à cet emplacement nécessite des privilèges administrateur.

  • Emplacement: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings\{User_SID}

  • Pour les systèmes DAM (anciens systèmes) : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\dam\State\UserSettings\{User_SID}

Dans chaque clé SID spécifique à l’utilisateur, les données sont stockées sous forme d’une série de valeurs de registre.

  • Nom de valeur : Le nom de chaque valeur est le chemin complet vers le programme exécuté, précédé de la notation de chemin Windows NT (par exemple, ).\Device\HarddiskVolumeX\...

  • Données de valeur : Les données pour chaque valeur sont une structure binaire. La partie la plus significative de cette structure est un horodatage de 8 octets, qui représente la dernière fois que l’application a été surveillée par le service.FILETIME

Métadonnées et comportements stockés

L’artefact BAM/DAM fournit deux informations clés pour chaque entrée :

  1. Chemin complet de l’exécutable : Le nom de valeur du registre fournit le chemin complet vers le programme exécuté. C’est crucial pour identifier précisément quel fichier a été exécuté et depuis quel endroit (par exemple, une clé USB, un dossier temporaire, etc.).

  2. Dernière heure d’exécution : L’horodatage dans les données binaires de la valeur indique la dernière fois que le programme a été vu en cours d’exécution par le service BAM. Ce timestamp est mis à jour non seulement lors de l’exécution initiale, mais aussi lors des interactions ou fermetures ultérieures, ce qui en fait un indicateur de haute précision de l’activité récente.FILETIME

Contrairement à Prefetch, qui enregistre principalement les fichiers, le BAM/DAM est connu pour enregistrer l’exécution d’un plus large éventail de types d’applications. Cependant, son principal objectif reste les fichiers exécutables..exe

Une caractéristique critique de cet artefact est sa volatilité. Les entrées dans les clés de registre BAM peuvent être écrasées au fur et à mesure que de nouvelles applications sont exécutées et surveillées. De plus, ces clés de registre peuvent être délibérément effacées par des utilisateurs disposant de privilèges suffisants ou par des utilitaires de nettoyage.

Valeur médico-légale

Le BAM/DAM est un artefact d’exécution essentiel, surtout lorsque les données de prélecture sont indisponibles ou ont été modifiées. Sa valeur dans une enquête découle de plusieurs points clés :

  • Horodatages de haute précision : Il fournit un horodatage précis de la dernière activité connue, ce qui est essentiel pour établir des chronologies précises.

  • Informations complètes sur le parcours : Il enregistre l’emplacement exact d’où un programme a été exécuté, aidant à retracer l’origine des exécutables malveillants.

  • Preuves complémentaires : Il capture souvent des exécutions qui ne génèrent pas de fichier de prélecture ou dont l’entrée de prélecture a été supprimée, constituant une excellente source de preuves corroborantes.

  • Preuves de falsification : Parce que les données résident dans un emplacement connu du registre, des preuves de leur suppression peuvent souvent être récupérées à partir de l’espace libre du registre ou en observant que le temps « LastWrite » de la clé a été récemment modifié. Des outils médico-légaux spécialisés peuvent souvent mettre en lumière les entrées BAM récemment supprimées, transformant une tentative de dégagement de pistes en preuve directe d’intention malveillante.


Points de réflexion (Concours SS)

Pour un ScreenSharer, le BAM est une autre source primaire pour prouver l’exécution « in instance », souvent avec une grande précision.

  • Preuve directe d’exécution : Trouver le chemin vers un exécutable de triche dans les clés BAM avec un horodatage récent est une preuve directe et convaincante de son utilisation.

  • Tentatives de pontage à la réception : Le BAM est particulièrement efficace pour détecter les triches qui sont exécutées puis rapidement supprimées. Bien que le fichier lui-même ait disparu, son enregistrement d’exécution peut persister dans le BAM.

  • Détection des chargeurs « sans fichier » : Certaines techniques de contournement utilisent des exécutables légitimes pour lancer du code malveillant. L’exécution du chargeur initial (par exemple, un hôte de script PowerShell ou CMD suspect) peut être enregistrée dans le BAM, fournissant une piste critique pour l’enquête.

Mis à jour