Stratégie de restriction logicielle
Les paramètres de stratégie de restriction logicielle (SRP) ont été introduits avec la version de Windows XP pour aider à protéger les systèmes contre le code inconnu et potentiellement dangereux. Le SRP fournit un mécanisme où seul le code approuvé reçoit un accès illimité aux privilèges d’un utilisateur. Le code inconnu, qui peut contenir des virus ou du code qui est en conflit avec les programmes actuellement installés, est autorisé à s’exécuter uniquement dans un environnement contraint (souvent appelé bac à sable) où il n’est pas autorisé à accéder à tous les privilèges utilisateur sensibles à la sécurité. L’utilisation correcte du SRP peut rendre votre entreprise plus agile, car elle fournit un framework proactif pour prévenir les problèmes, plutôt qu’un framework réactif qui s’appuie sur l’alternative coûteuse de restauration d’un système une fois qu’un problème s’est produit.
Le SRP dépend de l’attribution de niveaux de confiance au code qui peut s’exécuter sur un système. Actuellement, deux niveaux de confiance existent : illimité et interdit. Le code disposant d’un niveau d’approbation illimité reçoit un accès illimité aux privilèges de l’utilisateur. Ce niveau d’approbation doit donc être appliqué uniquement au code entièrement approuvé. Le code avec un niveau d’approbation non autorisé n’est pas autorisé à accéder aux privilèges utilisateur sensibles à la sécurité et ne peut s’exécuter que dans un bac à sable afin que le code illimité ne puisse pas charger le code non autorisé dans son espace d’adressage.
La configuration SRP des applications COM individuelles est effectuée via la valeur SRPTrustLevel dans la clé AppID appID de l’application dans le Registre. Si le niveau d’approbation SRP n’est pas spécifié pour une application COM, la valeur par défaut de Disallowed est utilisée. Une application COM disposant d’un niveau d’approbation Illimité a un accès illimité aux privilèges de l’utilisateur, mais peut charger uniquement des composants avec un niveau d’approbation Illimité, tandis qu’une application COM non autorisée peut charger des composants avec n’importe quel niveau d’approbation, mais ne peut pas accéder aux privilèges utilisateur sensibles à la sécurité.
En plus des niveaux de confiance SRP des applications COM individuelles, deux autres propriétés SRP déterminent la façon dont le SRP est utilisé pour toutes les applications COM. Si SRPRunningObjectChecks est activé, les tentatives de connexion aux objets en cours d’exécution sont vérifiées pour les niveaux d’approbation SRP appropriés. L’objet en cours d’exécution ne peut pas avoir un niveau de confiance SRP moins strict que l’objet client. Par exemple, l’objet en cours d’exécution ne peut pas avoir de niveau d’approbation non autorisé si l’objet client a un niveau d’approbation illimité.
La deuxième propriété détermine la façon dont le SRP gère les connexions activate-as-activateor. Si SRPActivateAsActivatorChecks est activé, le niveau d’approbation SRP configuré pour l’objet serveur est comparé au niveau d’approbation SRP de l’objet client et le niveau d’approbation plus strict sera utilisé pour exécuter l’objet serveur. Si SRPActivateAsActivatorChecks n’est pas activé, l’objet serveur s’exécute avec le niveau d’approbation SRP de l’objet client, quel que soit le niveau d’approbation SRP avec lequel il a été configuré. Par défaut, SRPRunningObjectChecks et SRPActivateAsActivatorChecks sont activés.