Partager via


Problèmes courants de sécurité WIA

Il existe plusieurs problèmes courants qui peuvent empêcher un pilote WIA existant (qui s’exécute correctement sous LocalSystem) de s’exécuter correctement sous le compte LocalService .

Les problèmes les plus courants se produisent avec :

  • Accès au système de fichiers

    L’accès aux fichiers du compte LocalService est fortement restreint. Par exemple, les pilotes ne peuvent plus écrire dans le répertoire %windir% .

  • Accès au registre

    De nombreuses clés de Registre qui étaient ouvertes aux comptes LocalSystem sont en lecture seule pour LocalService. Par exemple, les pilotes ne sont plus en mesure d’écrire dans des clés de Registre sous la sous-arborescence HKLM.

  • Objets noyau nommés

    Assurez-vous que les objets nommés (par exemple, les événements et les mutex) auxquels accèdent à la fois le pilote WIA et les composants externes, tels que les applications groupées, ont les listes de contrôle d’accès appropriées. Si une application crée un objet d’événement nommé, mais n’accorde pas spécifiquement l’accès à un compte LocalService , le pilote ne peut pas l’utiliser. De même, si un minidriver crée un objet d’événement nommé, il doit accorder le même accès, sinon l’application ne pourra pas utiliser l’objet d’événement.

  • Objets COM hors processus

    Toute tentative de création ou d’utilisation d’une interface COM hors processus échoue, sauf si ce composant accorde explicitement les autorisations appropriées à un compte LocalService . Par exemple, les appels à CoCreateInstance ou CoCreateInstanceEx (tous deux décrits dans la documentation Microsoft Windows SDK) avec le jeu d’indicateurs CLSCTX_LOCAL_SERVER peuvent échouer si le composant n’accorde pas l’autorisation à un compte LocalService. De même, le pilote qui tente d’utiliser un pointeur vers une interface COM qui n’est pas en cours de traitement vers le pilote peut échouer. Cela peut se produire si un composant appelle le pilote et lui remet un pointeur vers une interface par laquelle le pilote peut rappeler l’interface.

  • Création et ouverture de processus

    Les pilotes WIA ne doivent pas démarrer manuellement d’autres processus (par exemple, en appelant CreateProcess ou CreateProcessAsUser). Bien que ce comportement ait réussi pour les pilotes sous des comptes LocalSystem , il n’est plus possible pour les pilotes de le faire sous le nouveau compte LocalService . Pour plus d’informations sur CreateProcess et CreateProcessAsUser, consultez la documentation du Kit de développement logiciel (SDK) Windows.