Considérations relatives à la sécurité pour AppLocker

Cet article destiné aux professionnels de l’informatique décrit les considérations de sécurité que vous devez prendre en compte lors de l’implémentation d’AppLocker.

AppLocker permet de restreindre l’accès aux logiciels pour des utilisateurs ou des groupes d’utilisateurs spécifiques. Voici les considérations relatives à la sécurité pour AppLocker :

AppLocker est déployé au sein d’une entreprise et administré de manière centralisée par ces ressources informatiques avec des informations d’identification approuvées. Ce système rend sa création et son déploiement de stratégie conformes aux processus de déploiement de stratégie et aux restrictions de sécurité similaires.

Les stratégies AppLocker sont distribuées via des processus connus et par des moyens connus au sein du domaine via stratégie de groupe. Toutefois, les stratégies AppLocker peuvent également être définies sur des ordinateurs individuels si la personne dispose de privilèges d’administrateur, et ces stratégies peuvent être contraires à la stratégie de sécurité écrite du organization. Les paramètres de mode d’application des stratégies AppLocker distribuées via stratégie de groupe Objects (GPO) sont prioritaires sur les stratégies locales. Toutefois, étant donné que les règles AppLocker sont additives, les règles d’une stratégie locale sont fusionnées avec les règles des objets de stratégie de groupe appliqués à l’ordinateur.

Microsoft n’offre aucun moyen de développer des extensions pour AppLocker. Les interfaces ne sont pas publiques. Un utilisateur disposant d’informations d’identification d’administrateur peut automatiser certains processus AppLocker à l’aide d’applets de commande Windows PowerShell. Pour plus d’informations sur les applets de commande Windows PowerShell pour AppLocker, consultez applets de commande AppLocker dans Windows PowerShell.

AppLocker s’exécute dans le contexte de Administrator ou LocalSystem, qui est le jeu de privilèges le plus élevé. Ce contexte de sécurité est susceptible d’être utilisé à mauvais escient. Étant donné que les règles AppLocker sont additives, toutes les règles de stratégie locale sont appliquées à cet ordinateur avec les objets de stratégie de groupe. Si l’ordinateur local n’est pas joint à un domaine ou contrôlé par stratégie de groupe, une personne disposant d’informations d’identification administratives peut contrôler entièrement la stratégie AppLocker.

Les règles de chemin d’accès AppLocker ne remplacent pas les listes de contrôle d’accès (ACL). Vous devez continuer à utiliser les listes de contrôle d’accès pour restreindre l’accès aux fichiers en fonction de votre stratégie de sécurité.

Vous ne pouvez pas utiliser AppLocker pour empêcher le code de s’exécuter en dehors du sous-système Win32. Par exemple, il ne peut pas contrôler le code en cours d’exécution dans le Sous-système Windows pour Linux. S’il est nécessaire d’empêcher les applications de s’exécuter dans le sous-système Linux, vous devez désactiver le sous-système. Vous pouvez également bloquer le Sous-système Windows pour Linux en bloquant LxssManager.dll.

AppLocker peut uniquement contrôler VBScript, JScript, .bat fichiers, fichiers .cmd et scripts Windows PowerShell. Il ne contrôle pas tout le code interprété qui s’exécute dans un processus hôte, par exemple les macros et les scripts Perl. Le code interprété est une forme de code exécutable qui s’exécute dans un processus hôte. Par exemple, les fichiers de commandes Windows (*.bat) s’exécutent dans le contexte de l’hôte de commande Windows (cmd.exe). Pour contrôler le code interprété à l’aide d’AppLocker, le processus hôte doit appeler AppLocker avant d’exécuter le code interprété, puis appliquer la décision retournée par AppLocker. Tous les processus hôtes n’appellent pas AppLocker et, par conséquent, AppLocker ne peut pas contrôler tous les types de code interprété, tels que les macros Microsoft Office.

Important

Vous devez configurer les paramètres de sécurité appropriés de ces processus hôtes si vous devez les autoriser à s’exécuter. Par exemple, configurez les paramètres de sécurité dans Microsoft Office pour vous assurer que seules les macros signées et approuvées sont chargées.

Les règles AppLocker autorisent ou bloquent l’exécution du fichier d’application. AppLocker ne contrôle pas le comportement des applications après leur lancement. Les applications peuvent contenir des indicateurs transmis aux fonctions qui indiquent à AppLocker de contourner les règles et d’autoriser le chargement d’un autre .exe ou .dll. Dans la pratique, une application autorisée peut utiliser ces indicateurs pour contourner les règles AppLocker et lancer des processus enfants. Vous devez examiner minutieusement chaque application avant de les autoriser à s’exécuter à l’aide de règles AppLocker.

Remarque

Deux indicateurs qui illustrent cette condition sont SANDBOX_INERT, qui peut être passé à CreateRestrictedTokenet LOAD_IGNORE_CODE_AUTHZ_LEVEL, qui peut être passé à LoadLibraryEx. Ces deux indicateurs indiquent à AppLocker de contourner les règles et d’autoriser le chargement d’un .exe ou d’un .dll enfant.