Principle of least privilege

En informatique, le principe de moindre privilège (Principle of least privilege) est un principe qui stipule, selon l'ANSSI, qu'une tâche ne doit bénéficier que de privilèges strictement nécessaires à l'exécution du code menant à bien ses fonctionnalités. En d'autres termes, une tâche ne devrait avoir la possibilité de mener à bien que les actions dont l'utilité fonctionnelle est avérée.

Ce principe suppose alors que chaque fonctionnalité ne doit posséder que les privilèges et ressources nécessaires à son exécution, et rien de plus. Ainsi en cas de défaillance grave du système, les dommages ne peuvent pas dépasser ce qui est autorisé par les privilèges et les ressources utilisés, ces derniers étant eux-mêmes limités par la séparation de privilège.

Le principe consiste à ne donner à un utilisateur un compte ou un processus que les privilèges qui sont essentiels à l'accomplissement de sa fonction.

Le cas le plus simple à comprendre est celui d'un administrateur qui doit toujours utiliser son compte utilisateur normal lorsqu'il n'a pas besoin d'accéder à des ressources appartenant à l'utilisateur root. Lorsque l'administrateur est obligé d'utiliser le compte root, il doit en limiter le plus possible la durée afin de s'exposer le moins possible à un quelconque problème.

Prenons aussi, par exemple, un compte d'utilisateur ayant pour seul but de créer des sauvegardes n'a pas besoin d'installer de logiciel : il n'a donc le droit que d'exécuter des applications de sauvegarde et des applications connexes. Tous les autres privilèges, tels que l'installation de nouveaux logiciels, sont bloqués. Le principe s'applique également à l'utilisateur d'un ordinateur personnel qui travaille habituellement sur un compte d'utilisateur normal et qui n'ouvre un compte privilégié protégé par un mot de passe (c'est-à-dire un super-utilisateur) que lorsque la situation l'exige absolument.

Lorsqu'ils s'appliquent aux utilisateurs, les termes “accès le plus faible” ou “compte d'utilisateur le moins privilégié” (LUA) sont également utilisés, en référence au concept selon lequel tous les comptes d'utilisateur doivent fonctionner à tout moment avec le moins de privilèges possible, et également lancer des applications avec le moins de privilèges possible.

Le principe du moindre privilège est largement reconnu comme une considération de conception importante pour améliorer la protection des données et des fonctionnalités contre les défaillances (tolérance aux fautes) et les comportements malveillants (sécurité informatique).

  • Une meilleure stabilité du système : Les privilèges étant limités, les interactions entre les différentes applications installées, ainsi que les possibilités qu'une application puisse ralentir ou provoquer un crash système sont aussi limitées.
  • Une meilleure sécurité du système : L'exploitation d'une faille dans un logiciel pour prendre le contrôle de la machine (que cette faille ait été découverte dans un logiciel légitime ou introduite par un attaquant : malware, rootkit par exemple) est rendue plus difficile pour un attaquant.
  • Une facilité de déploiement accrue : La limitation des privilèges et ressources nécessaires à un logiciel permet de l'installer plus facilement, en évitant notamment les étapes additionnelles liées à l'User Account Control.

En pratique, il existe de multiples définitions concurrentes du véritable moindre privilège. Comme la complexité des programmes augmente à un rythme exponentiel, le nombre de problèmes potentiels augmente également, ce qui rend une approche prédictive peu pratique.

Actuellement, l'approche pratique la plus répandue consiste à éliminer les privilèges qui peuvent être évalués manuellement comme étant inutiles. L'ensemble de privilèges qui en résulte dépasse généralement les véritables privilèges minimums requis pour le processus.

Une autre limitation est la granularité du contrôle que l'environnement d'exploitation exerce sur les privilèges d'un processus individuel. Dans la pratique, il est rarement possible de contrôler l'accès d'un processus à la mémoire, le temps de traitement, les adresses des périphériques d'E/S ou les modes avec la précision nécessaire pour ne faciliter que l'ensemble précis de privilèges dont un processus aura besoin.

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus