Exécution en tant que membre du groupe Utilisateurs
Cette rubrique explique comment la configuration de comptes d'utilisateurs Windows en tant que membres du Groupe Utilisateurs (par opposition au Groupe Administrateurs) améliore la sécurité et réduit le risque d'être infecté par un code malveillant.
Risques de sécurité
L’exécution en tant qu’administrateur rend votre système vulnérable à plusieurs types d’attaques de sécurité, tels que « cheval de Troie » et « dépassement de mémoire tampon ». La simple visite d’un site Internet en tant qu’administrateur peut endommager le système, car le code malveillant téléchargé à partir d’un site Internet peut attaquer votre ordinateur. S'il y parvient, il hérite de vos autorisations d'administrateur et peut alors perpétrer des actions telles que supprimer tous vos fichiers, reformater votre disque dur, et créer de nouveaux comptes utilisateurs avec accès d'administration.
Groupes Utilisateurs non Administrateurs
Les comptes utilisateurs Windows normalement utilisés par les développeurs doivent être ajoutés aux groupes Utilisateurs ou Utilisateurs avec pouvoir. Les développeurs doivent également être ajoutés au groupe Débogage. Être membre du groupe Utilisateurs permet d’effectuer des tâches habituelles, notamment exécuter les programmes et visiter des sites Internet sans exposer son ordinateur à des risques inutiles. En tant que membre du groupe Utilisateurs avec pouvoir, il est également possible d'effectuer des tâches telles que l'installation d'application, d'imprimante, et la plupart des opérations du panneau de configuration. Si vous devez exécuter des tâches d’administration telles que mettre à niveau le système d’exploitation ou configurer les paramètres du système, vous devez vous connecter à un compte d’administrateur juste le temps d’exécuter la tâche d’administration. Vous pouvez également utiliser la commande Runas Windows pour lancer des applications spécifiques avec un accès administratif.
Exposition des clients aux risques de sécurité
Il est particulièrement important que les développeurs ne fassent pas partie du groupe Administrateurs car, outre la protection des ordinateurs de développement, cela évite aux développeurs d'écrire par inadvertance du code qui exigerait que les clients fassent partie du Groupe Administrateurs pour pouvoir exécuter les applications que vous développez. Si un code qui requiert l'accès administrateur est introduit au cours du développement, il échouera pendant l'exécution et déclenchera une alerte indiquant que les clients doivent désormais exécuter votre application en tant qu'Administrateurs.
Code qui requiert des privilèges Administrateurs
Certains codes requièrent un accès Administrateur pour s'exécuter. Il faut dans la mesure du possible trouver des alternatives à ce code. Les exemples qui suivent sont des opérations de code qui requièrent l'accès Administrateur :
Écriture dans les zones protégées du système de fichiers, telles que les répertoires Windows ou Program Files
Écriture dans les zones protégées du Registre, tel que HKEY_LOCAL_MACHINE
Installation d'assemblys dans le GAC (Global Assembly Cache)
En général, ces actions sont réservées aux programmes d'installation des applications. Elles permettent aux utilisateurs d'utiliser le statut d'administrateur seulement de façon temporaire.
Débogage
Vous pouvez déboguer n'importe quelle application lancée dans Visual Studio (natif et non managé) en tant que non administrateur en devenant membre du Groupe Débogage. Cela permet notamment d'attacher au processus d'une application en cours d'exécution, à l'aide de la commande Attacher au processus. Toutefois, il est nécessaire de faire partie du Groupe Administrateurs pour déboguer des applications natives ou managées lancées par un utilisateur différent.