Élévation des privilèges

mécanisme permettant à l'utilisateur d'un logiciel d'obtenir des privilèges supérieurs à ceux qu'il a normalement

Une élévation des privilèges est, en informatique, un mécanisme permettant à un utilisateur d'obtenir des privilèges supérieurs à ceux qu'il a normalement.

Généralement, un utilisateur va vouloir élever ses privilèges pour devenir administrateur du système, afin d'effectuer des tâches qu'il n'a pas le droit de faire en temps normal. Ce mécanisme est utile pour lancer des processus sensibles, pouvant nécessiter des compétences particulières en administration système : par exemple lors d'une manipulation des partitions d'un disque dur, ou lors du lancement d'un nouveau service[1].

Cette technique peut être utilisée de manière frauduleuse par un attaquant pour prendre le contrôle total d'un système. Il peut pour cela exploiter une faille de sécurité, en local sur le système (s'il est déjà connecté dessus), ou à distance (si le système est connecté à un réseau).

Implémentations

modifier

Windows

modifier

La boîte de dialogue d'élévation est apparue dans Windows Vista. Dans Windows XP, l'utilisateur par défaut avait les privilèges d'administrateur[2].

Le système de droit des systèmes de type UNIX, dont Linux et Mac OS X, définissent un droit particulier matérialisé par le bit setuid. Si un fichier exécutable possède ce droit, la commande correspondante sera exécutée avec les privilèges de l'utilisateur qui est le propriétaire de ce fichier, et non pas ceux de l’utilisateur qui lance la commande. Une commande « setuid root » possède donc les droits de l'utilisateur root pendant qu'elle est exécutée, comme si elle avait été lancée par cet utilisateur. Un mécanisme identique d'endossement des privilèges d'un groupe existe avec le mécanisme du bit setgid.

Les commandes « setuid root » sont en principe peu nombreuses, car elles représentent un danger de sécurité pour le système. La commande passwd par exemple est « setuid root », ce qui permet à un utilisateur non-privilégié de changer son mot de passe dans le fichier des mots de passe /etc/passwd, alors qu'il n'a normalement pas droit de modifier ce fichier.

Les deux commandes su et sudo sont aussi « setuid root ». Elles permettent de lancer une commande arbitraire (la plupart du temps, un interpréteur de commandes) en endossant les droits d'un autre utilisateur (le plus souvent, root). sudo est plus fin que su dans son mécanisme d'autorisations, mais également plus dur à paramétrer. Plusieurs interfaces graphiques à su et à sudo existent : gksu, kdesu et kdesudo.

Exploitation de failles de sécurité

modifier

Un exemple parmi d'innombrables cas

modifier

Un utilitaire d'élévation populaire pour Windows NT 4 était GetAdmin, apparu en . Cet utilitaire exploitait une faille de sécurité du système pour s'élever aux privilèges du compte arbitraire indiqué.

Notes et références

modifier
  1. « Provisioning en flux tendu ou privilège en flux tendu », sur www.oneidentity.com (consulté le )
  2. (en) « Definition of JAILBREAK », sur www.merriam-webster.com (consulté le )

Articles connexes

modifier