Une modification a été apportée au système COM afin de fournir des contrôles d'accès au niveau de l'ordinateur permettant de régir l'accès à toutes les demandes d'appel, d'activation ou de lancement. Ces contrôles d'accès se présentent comme des appels AccessCheck supplémentaires qui sont comparés à une liste de contrôle d'accès (ACL) lors de chaque appel, activation ou lancement de serveur COM sur l'ordinateur. En cas d'échec de l'appel AccessCheck, la requête d'appel, d'activation ou de lancement est ignorée. Cet appel vient s'ajouter aux appels AccessCheck exécutés via les ACL du serveur. Il fournit un seuil d'autorisation minimale qui doit être dépassé pour accéder aux serveurs COM de l'ordinateur. Au niveau de l'ordinateur, il existera une ACL d'autorisation de lancement couvrant l'activation et le lancement, et une ACL d'autorisation d'accès couvrant les appels. Ces éléments peuvent être configurés à l'aide de la console MMC (Microsoft Management Console) ou encore être programmés. Pour configurer ces paramètres à partir de l'interface utilisateur, les administrateurs doivent ouvrir les Services de composants et sélectionner Propriétés dans le menu contextuel de l'ordinateur à configurer. La boîte de dialogue illustrée à la figure 11 s'affiche et la sécurité est configurée dans l'onglet Sécurité COM. Ces ACL permettent de se substituer à de trop faibles valeurs de paramètres spécifiés par une application spécifique via CoInitializeSecurity, ou aux paramètres de sécurité propres à une application. Cela définit un niveau minimal de sécurité à passer, quels que soient les paramètres du serveur spécifique. Ces ACL sont interrogées en cas d'accès aux interfaces exposées par RPCSS (outil de gestion de mémoire). Elles constituent une méthode de contrôle d'accès à ce service système. Elles représentent un emplacement centralisé dans lequel un administrateur peut définir des règles d'autorisation générales s'appliquant à tous les serveurs COM de l'ordinateur. Par défaut, les paramètres de restriction applicables aux ordinateurs Windows XP sont les suivants : | Autorisation | Administrateur | Tout le monde | Anonyme | | Exécution | Locale (exécution) Activation locale Exécution à distance Activation à distance | Locale (exécution) Activation locale | | | Accès | | Local (appel) À distance (Appel) | Local (appel) |
Tableau 4 : Paramètres de restriction applicables aux ordinateurs Windows XP
De nombreuses applications COM incluent un code de sécurité spécifique (appel de CoInitializeSecurity, par exemple), mais avec des paramètres très faibles, ce qui autorise souvent l'accès non authentifié au processus. Actuellement, il n'existe aucune méthode utilisable par l'administrateur pour remplacer ces paramètres dans le but de renforcer la sécurité dans les versions antérieures de Windows. L'infrastructure COM inclut l'outil de gestion de mémoire RpcSs (service exécuté pendant le démarrage du système, après son ajout à la machine). Cet outil gère l'activation des objets COM et la table des objets en cours d'exécution. Il contient des services destinés aux appels à distance DCOM. Il expose les interfaces RPC que l'on peut appeler à distance. Étant donné que certains serveurs COM autorisent l'accès à distance non authentifié (comme l'explique la section précédente), ces interfaces peuvent être appelées par toute personne (y compris par des utilisateurs non authentifiés). Par conséquent, RpcSs peut être attaqué par des utilisateurs malveillants à l'aide d'ordinateurs distants non authentifiés. Dans les versions antérieures de Windows, l'administrateur ne pouvait pas connaître facilement le niveau d'exposition des serveurs COM sur un ordinateur. Il devait vérifier systématiquement les paramètres de sécurité de chaque application COM enregistrée sur l'ordinateur, mais puisqu'il y a environ 150 serveurs COM dans une installation par défaut de Windows XP, cette tâche est gigantesque. Il était impossible d'afficher les paramètres d'un serveur qui intègre une sécurité dans le logiciel, à moins d'examiner le code source pour ce logiciel. Les restrictions DCOM au niveau de l'ordinateur résolvent ces trois problèmes. Elles fournissent également à l'administrateur la capacité d'interdire les demandes entrantes d'activation, de lancement et d'appels DCOM. Afficher les implications pour les développeurs
Dernière mise à jour le lundi 27 mai 2004 |