L'Élévation de Privilèges (Privilege Escalation) : Comprendre et Prévenir la Prise de Contrôle Absolue

L’Élévation de Privilèges (Privilege Escalation) : Comprendre et Prévenir la Prise de Contrôle Absolue

Cet article fait partie de la série Les types de failles informatiques : classement par sévérité et guide complet.
Niveau de sévérité dans cette série : Élevée. Classification indicative (permet à un attaquant déjà entré de devenir administrateur du système) ; la gravité réelle d’une faille dépend toujours du contexte précis et, idéalement, de son score CVSS.

Lorsqu’un cyberattaquant s’infiltre dans un réseau d’entreprise, il obtient rarement un accès administrateur d’emblée. La première brèche — qu’il s’agisse d’un hameçonnage réussi, d’un mot de passe faible ou de l’exploitation d’un composant Web vulnérable — ne lui fournit généralement que le contrôle d’un compte utilisateur basique ou d’un service restreint. C’est ici qu’intervient l’élévation de privilèges (ou privilege escalation) : la technique qui transforme une intrusion initiale mineure en compromission totale du système informatique.

Schéma explicatif du processus d'élévation de privilèges informatique
Schéma montrant l’escalade depuis un accès utilisateur limité vers un accès administrateur absolu. (User:AntiCompositeNumber (CC0), via Wikimedia Commons.)

Sévérité de la faille dans la série : Élevée

Cette faille est classée au niveau Élevée dans notre série consacrée aux vulnérabilités informatiques. Dans le système d’évaluation standardisé CVSS (Common Vulnerability Scoring System), les failles d’élévation locale de privilèges reçoivent quasi systématiquement un score de sévérité élevé (souvent compris entre 7.0 et 8.8 sur 10). Cette classification est due au fait qu’une fois la vulnérabilité exploitée, les trois piliers de la sécurité de l’information — la confidentialité, l’intégrité et la disponibilité — sont simultanément neutralisés, l’attaquant obtenant le contrôle souverain de la machine ou de l’annuaire d’entreprise.

Origine

L’origine de l’élévation de privilèges est consubstantielle à la naissance des systèmes d’exploitation multi-utilisateurs dans les années 1960 et 1970, comme MULTICS puis Unix. Pour empêcher un utilisateur d’altérer les fichiers d’un autre ou de perturber le fonctionnement du matériel, les concepteurs ont instauré une hiérarchie stricte entre les comptes ordinaires et le compte d’administration suprême (nommé root sous Unix ou SYSTEM sous Windows).

Avec la généralisation de la protection matérielle intégrée aux processeurs dans les années 1980 (notamment les anneaux de protection de l’architecture x86), le noyau du système a été isolé dans un espace hautement privilégié (Ring 0), tandis que les applications usagers fonctionnaient dans un espace restreint (Ring 3). Dès lors, les attaquants ont cherché des failles de conception ou de programmation (comme les dépassements de mémoire tampon ou l’exploitation de binaires dotés de permissions spéciales SUID) afin de forcer le système à exécuter du code arbitraire avec les prérogatives du noyau ou de l’administrateur.

Définition

Sur le plan technique, l’élévation de privilèges désigne l’exploitation d’un bogue logiciel, d’un défaut de conception d’une application ou d’une erreur de configuration du système d’exploitation permettant à un utilisateur ou à un processus d’obtenir des droits d’accès plus élevés que ceux attribués initialement par l’administrateur.

Élevée (Verticale) vs Horizontale : Deux trajectoires d’attaque

On distingue rigoureusement deux catégories d’élévation de privilèges dans la littérature de sécurité :

  • Élevée (ou verticale) : L’attaquant augmente son niveau de pouvoir dans la hiérarchie des droits. Il passe d’un compte utilisateur standard à un compte à privilèges élevés (root sous Linux, Administrator ou NT AUTHORITY\SYSTEM sous Microsoft Windows). Cela lui permet de modifier le registre, d’installer des logiciels malveillants persistants ou de désactiver les outils de sécurité.
  • Horizontale : L’attaquant accède aux ressources, données ou fonctionnalités réservées à un autre utilisateur possédant un niveau de privilège équivalent au sien. C’est une vulnérabilité très fréquente sur les applications Web (souvent liée à une faille d’accès direct aux objets ou IDOR répertoriée par l’organisation OWASP), où le client A parvient à consulter ou modifier les données bancaires du client B.

Les vecteurs techniques menant à une escalade verticale incluent le débordement de mémoire tampon dans les services système, la condition de concurrence (race condition) dans le noyau, les exécutables mal configurés (chemins de services non guillemetés, droits d’écriture sur des fichiers binaires système) ou l’abus de fonctionnalités légitimes mal cloisonnées.

Diagramme des anneaux de protection x86 montrant Ring 0 et Ring 3
Les anneaux de protection du processeur isolant l’espace utilisateur (Ring 3) de l’espace noyau (Ring 0). (Hertzsprung at English Wikipedia (CC BY-SA 3.0), via Wikimedia Commons.)

Exemples réels

La littérature en cybersécurité regorge d’incidents critiques causés par des vulnérabilités d’élévation de privilèges. Voici trois cas majeurs particulièrement documentés :

1. Dirty COW (CVE-2016-5195)

Découverte en octobre 2016 par le chercheur Phil Oester, la vulnérabilité Dirty COW (pour Copy-On-Write) résidait dans le sous-système de gestion de la mémoire du noyau Linux. Elle y était présente depuis la version 2.6.22 publiée en septembre 2007, restant indétectée pendant neuf ans.

Dirty COW exploitait une condition de concurrence (race condition) dans la mise en œuvre du mécanisme de copie sur écriture. Un utilisateur local non privilégié pouvait provoquer un chevauchement temporel précis lors des accès mémoire pour transformer une cartographie mémoire en lecture seule en une zone accessible en écriture. Cela permettait de modifier n’importe quel fichier protégé du système (comme /etc/passwd) et d’obtenir immédiatement les droits root sur des millions de serveurs Linux et d’appareils Android.

Logo explicatif de la vulnérabilité Dirty COW du noyau Linux
Logo et illustration de la faille Dirty COW (CVE-2016-5195) basée sur la copie sur écriture. (dirtycow on Github (CC0), via Wikimedia Commons.)

2. PrintNightmare (CVE-2021-34527)

Mise au jour en juin 2021, la faille PrintNightmare a frappé le service de spouleur d’impression (Print Spooler, spoolsv.exe) présent par défaut sur l’ensemble des systèmes Microsoft Windows.

La vulnérabilité se situait dans la fonction RPC RpcAddPrinterDriverEx(). Elle permettait à un utilisateur authentifié, même avec un compte basique d’un domaine Active Directory, d’injecter un fichier DLL malveillant hébergé sur un partage distant. Le service spouleur d’impression, s’exécutant avec les privilèges maximaux NT AUTHORITY\SYSTEM, chargeait et exécutait cette bibliothèque, conférant immédiatement à l’attaquant un contrôle absolu sur le contrôleur de domaine ou le serveur visé.

3. Baron Samedit dans Sudo (CVE-2021-3156)

En janvier 2021, les chercheurs de l’entreprise Qualys ont révélé une faille critique baptisée Baron Samedit au cœur de l’utilitaire sudo, omniprésent sur les systèmes Unix et Linux depuis juillet 2011.

Il s’agissait d’un dépassement de mémoire tampon basé sur le tas (heap-based buffer overflow) provoquable lors de l’exécution de sudoedit avec des arguments malformés. L’exploit permettait à n’importe quel utilisateur local sans aucun droit d’administration ni présence dans le fichier sudoers d’obtenir les privilèges root complets en une fraction de seconde.

Comment s’en protéger

Neutraliser le risque d’élévation de privilèges nécessite une posture de défense structurée et l’application d’actions concrètes au niveau du système d’exploitation et de l’architecture applicative :

  • Appliquer le principe du moindre privilège : Limitez strictement les comptes administrateurs. Aucun utilisateur ni aucun service applicatif ne doit fonctionner avec les droits root ou SYSTEM sauf nécessité absolue. Utilisez des mécanismes de délégation fine (comme sudo restreint ou le contrôle d’accès basé sur les rôles RBAC).
  • Mettre en œuvre le cloisonnement (Sandboxing & Containerisation) : Isolez les applications exposées à l’aide de technologies de conteneurisation ou de modules de sécurité noyau tels que SELinux ou AppArmor. Ainsi, même si une application est compromise, l’attaquant reste verrouillé dans un environnement restreint.
  • Maintenir une gestion rigoureuse des correctifs : Appliquez rapidement les mises à jour de sécurité du noyau et des logiciels clés répertoriés par le MITRE et l’institut NIST dans sa base NVD. Les failles d’élévation de privilèges système sont très rapidement colmatées dès leur publication.
  • Auditer les configurations et les droits sensibles : Inspectez régulièrement les bits SUID/SGID sur les systèmes Unix/Linux, contrôlez la sécurité des chemins de services et des pilotes sous Windows, et mettez en place des outils de gestion des accès privilégiés (PAM – Privileged Access Management) pour traquer les anomalies de comportement.
Modèle en oignon de la défense en profondeur informatique
Le modèle de défense en profondeur combinant plusieurs couches de sécurité pour stopper l’escalade de privilèges. (Auteur inconnu (CC BY-SA 3.0), via Wikimedia Commons.)

Dans votre organisation ou votre environnement personnel, avez-vous déjà audité les exécutables SUID ou passé en revue la répartition des droits d’administration ? Partagez vos retours d’expérience et vos questions dans les commentaires ci-dessous !

Photo : Ann H sur Pexels.

Pour aller plus loin

Liens affiliés Amazon : en tant que Partenaire Amazon, ce site perçoit une commission sur les achats éligibles réalisés via ces liens, sans coût supplémentaire pour vous.

Sécurité informatique – Ethical Hacking : Apprendre l’attaque pour mieux se défendre (7e édition), Franck Ebel, Jérôme Hennecart, ACISSI et al.

Un ouvrage de référence très pédagogique décrivant en détail les méthodologies de pentest et les techniques d’escalade de privilèges sur Windows et Linux.

Cybersécurité : sécurité informatique et réseaux (5e édition), Solange Ghernaouti

Un manuel indispensable pour appréhender le contrôle d’accès, la gestion des identités et la protection des infrastructures contre les compromissions internes.

Voir aussi

Sources

Publications similaires

Laisser un commentaire