Architecture et composants AppLocker

Cet article destiné aux professionnels de l’informatique décrit l’architecture de base d’AppLocker et ses principaux composants.

AppLocker utilise le service Application Identity pour fournir des attributs pour un fichier et évaluer la stratégie AppLocker pour le fichier. Les stratégies AppLocker sont des entrées de contrôle d’accès conditionnel (AAC) et les stratégies sont évaluées à l’aide des fonctions de contrôle d’accès basé sur les attributs SeAccessCheckWithSecurityAttributes ou AuthzAccessCheck .

AppLocker offre trois façons d’intercepter et de valider si un fichier est autorisé à s’exécuter conformément à une stratégie AppLocker.

Un nouveau processus est créé

Lorsqu’un fichier d’application est exécuté, un nouveau processus est créé. Dans ce cas, AppLocker appelle le composant Application Identity pour calculer les attributs du fichier exécutable main utilisé pour créer un processus. Il met ensuite à jour le jeton du nouveau processus avec ces attributs et vérifie la stratégie AppLocker pour vérifier que le fichier exécutable est autorisé à s’exécuter.

Une DLL est chargée

Lorsqu’une DLL est chargée, une notification est envoyée à AppLocker pour vérifier que la DLL est autorisée à se charger. AppLocker appelle le composant Application Identity pour calculer les attributs du fichier. Il duplique le jeton de processus existant et remplace ces attributs d’identité d’application dans le jeton dupliqué par les attributs de la DLL chargée. AppLocker évalue ensuite la stratégie pour cette DLL, et le jeton dupliqué est ignoré. Selon le résultat de cette case activée, le système continue de charger la DLL ou arrête le processus.

Un script est exécuté

Avant l’exécution d’un fichier de script, l’hôte de script (par exemple, PowerShell) appelle AppLocker pour vérifier le script. AppLocker appelle le composant Application Identity en mode utilisateur avec le nom de fichier ou le handle de fichier pour calculer les propriétés du fichier. Le fichier de script est ensuite évalué par rapport à la stratégie AppLocker pour vérifier qu’il doit s’exécuter. Dans chaque cas, les actions effectuées par AppLocker sont écrites dans le journal des événements.