Partager via


Protection supplémentaire des ressources Windows sur les clés de registre

Plateforme

Clients : Windows 7
Serveurs : Windows Server 2008 R2

Impact de la fonctionnalité

Gravité : moyenne
Fréquence : faible

Description

Des ressources système supplémentaires ont ajouté des paramètres de Windows Resource Protection (WRP) dans Windows 7, les rendant en lecture seule. La grande majorité des ressources ayant reçu une protection supplémentaire sont des clés de serveur COM système, bien que certaines fonctionnalités aient ajouté une protection ciblée des ressources. Microsoft a modifié ces ressources afin de protéger le système et les autres applications contre les perturbations mutuelles et de fournir une plateforme cohérente et stable sur laquelle les applications peuvent fonctionner de manière fiable. Par le passé, les applications pouvaient fournir des fichiers personnalisés et utiliser l’enregistrement COM non protégé pour modifier le système. Dans le cas d’applications plus anciennes, cela pouvait rétrograder les runtimes système ou modifier l’interface dont les autres applications avaient besoin pour fonctionner correctement. Dans le pire des cas, de telles installations pouvaient provoquer une défaillance du système ou une dégradation au fil du temps. Pour offrir une meilleure expérience et une plateforme d’application plus stable, nous avons verrouillé ces enregistrements afin que seuls les mises à jour Microsoft puissent modifier les composants système.

Étant donné que la plupart des ressources modifiées sont des clés COM utilisées par le système, ce changement n’affectera pas la majorité des applications. Bien que nous nous attendions à ce que la plupart des applications offrent une meilleure expérience sur Windows 7 en raison de ces modifications, un petit sous-ensemble d’applications pourrait être affecté négativement. Les couches de compatibilité des applications du système résoudront automatiquement les problèmes d’installation en indiquant toujours à l’application qu’elle a réussi à modifier un paramètre, même si cela a échoué en raison de la protection de la ressource. Cela empêche les installations d’applications de se casser, mais peut causer des problèmes si le paramètre devait être modifié pour que l’application fonctionne correctement.

Manifestation

Les applications peuvent avoir modifié ces paramètres avant Windows 7. Lors de l’installation sur Windows 7, les applications peuvent constater que certaines fonctionnalités ne fonctionnent plus car les paramètres ne reflètent pas ce que l’application attendait.

Il existe deux scénarios dans lesquels les applications peuvent rencontrer des problèmes liés à cette protection supplémentaire :

  • Les applications qui pouvaient utiliser les paramètres désormais protégés comme magasin de données ou comme point d’extensibilité rare ou involontaire
  • Dans de rares cas, le mécanisme de détection utilisé pour identifier les installations d’applications peut ne pas reconnaître une installation particulière et donc la couche de mitigation de compatibilité des applications peut ne pas être appliquée

Limitation des risques

Le principal moyen de mitigation est la couche de compatibilité des applications du système, qui est automatiquement appliquée aux installations d’applications lorsqu’elles sont détectées. Vous pouvez également l’appliquer manuellement à toute application en utilisant l’onglet de compatibilité dans les propriétés de l’application.

Cette couche résout le problème en interceptant les opérations de registre. Dans le cas où l’application tentait de modifier un paramètre en lecture seule (WRP), la couche retourne toujours un succès, même si le paramètre n’a pas réellement été modifié. Pour la plupart des applications, cela ne causera aucun problème. Cependant, il est possible que l’application ait besoin que ce paramètre soit modifié pour fonctionner correctement, ce qui est le premier scénario décrit ci-dessus.

Solution

Pour les deux scénarios identifiés ci-dessus :

  • Si l’application nécessite que la clé soit modifiable pour fonctionner ou utiliser le magasin de données, il n’y a pas d’autre solution que de modifier l’application afin qu’elle n’écrive plus à cet emplacement.
  • Si la couche de compatibilité n’a pas été appliquée à une installation, l’échec de l’installation devrait être détecté et proposé à être appliqué et relancé. Les applications peuvent également fonctionner en mode de compatibilité, auquel cas la couche de mitigation est toujours appliquée.

Tests de compatibilité

Comment détecter si une application a eu une mitigation WRP appliquée :

  • Windows Installer est conscient de WRP ; il ignore automatiquement et silencieusement les tentatives d’écriture ou de modification d’une ressource protégée. Si l’application a été installée avec Windows Installer et que la journalisation était activée, un avertissement sera consigné pour chaque opération d’écriture de clé de registre qui a été ignorée en raison de la protection WRP de la ressource.
  • L’API Windows Resource Protection intègre SfCIsKeyProtected, qui peut interroger si une clé de registre est protégée par WRP sur le système actuel.