Container Escape
cloudDéfinition
Un Container Escape (évasion de conteneur) est une technique d'attaque permettant à un processus s'exécutant dans un conteneur d'accéder à l'hôte sous-jacent ou à d'autres conteneurs sur le même hôte, brisant l'isolation que le système de conteneurisation est censé fournir. C'est l'une des techniques les plus critiques dans la Kubernetes Threat Matrix, permettant à un attaquant d'escalader d'un pod compromis à l'ensemble d'un nœud Kubernetes. Les techniques de container escape exploitent généralement : les configurations Docker/Kubernetes non-sécurisées (conteneurs privilegiés avec privileged: true, montages hostPath du socket Docker /var/run/docker.sock, montages hostPath du système de fichiers hôte /etc, /proc), les vulnérabilités du runtime de conteneur (CVEs dans containerd, runc - ex: runc CVE-2019-5736 permettant l'écrasement du binaire runc depuis un conteneur), et les vulnérabilités du noyau Linux (des syscalls non filtrés permettant d'exploiter des vulnérabilités kernel depuis un espace de noms conteneur). Le montage du socket Docker (/var/run/docker.sock) dans un conteneur est souvent la technique la plus simple d'évasion sans exploit : depuis le conteneur avec accès au socket, il est possible de lancer de nouveaux conteneurs privilegiés montant le système de fichiers hôte et d'obtenir un shell root sur l'hôte. Cette configuration est malheureusement commune dans les environnements CI/CD où des agents Jenkins ou GitLab Runner nécessitent l'accès à Docker. Les mesures de protection contre les container escapes incluent : l'utilisation de conteneurs non-privilegiés (privileged: false), la limitation des capabilities Linux (capDrop: [ALL]), l'activation de seccomp (RuntimeDefault ou profil personnalisé), l'utilisation d'AppArmor, l'interdiction des montages hostPath sensibles via des Admission Controllers (Kyverno, Gatekeeper), la mise à jour régulière des container runtimes pour corriger les CVEs, et l'utilisation d'OS durcis pour les nœuds (Bottlerocket, COS). La détection des container escapes en production passe par Falco qui surveille les syscalls dangereux dans les conteneurs : exec dans un namespace hôte, accès à /proc/host depuis un conteneur, écriture dans /etc depuis un conteneur, et montage de systèmes de fichiers depuis un conteneur.
Détection des container escapes avec Falco
Falco inclut des règles prédéfinies pour détecter les tentatives d'évasion de conteneur : launch_privileged_container détecte le démarrage d'un conteneur privilegié, container_privileged_ssh_violation détecte un shell interactif dans un conteneur privilegié, write_below_root détecte l'écriture dans des répertoires système (/etc, /usr, /bin) depuis un conteneur, et runc_override détecte l'écrasement du binaire runc. Configurez ces règles avec priorité CRITICAL et routez les alertes vers PagerDuty pour une réponse immédiate.
Prévention des escapes via le securityContext
Configuration securityContext complète pour prévenir les container escapes : privileged: false, allowPrivilegeEscalation: false, readOnlyRootFilesystem: true, runAsNonRoot: true, runAsUser: 10001, capabilities: {drop: [ALL]}, seccompProfile: {type: RuntimeDefault}. Cette configuration implémente toutes les défenses disponibles au niveau Kubernetes pour minimiser la surface d'attaque des container escapes. Enforcez ces paramètres via une Kyverno ClusterPolicy mutation qui les ajoute automatiquement à tous les pods sans securityContext.
Test de résistance aux escapes
Testez la résistance aux container escapes de votre cluster avec des outils dédiés : traitor (github.com/liamg/traitor) teste automatiquement plusieurs techniques d'évasion depuis un pod (SUID binaries, dangerous capabilities, writable /proc paths). Déployez un pod de test avec la configuration standard et exécutez traitor : s'il trouve des vecteurs d'évasion, durcissez la configuration jusqu'à ce qu'il n'en trouve plus. Ces tests valident l'efficacité de vos contrôles de sécurité dans votre environnement spécifique.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h