Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Container Escape (Évasion de conteneur)

cloud

Définition

Une évasion de conteneur, ou container escape, désigne une technique par laquelle un processus malveillant s'exécutant à l'intérieur d'un conteneur Docker ou Kubernetes parvient à franchir les limites de son isolation pour accéder directement au système d'exploitation hôte sous-jacent, compromettant potentiellement l'ensemble des autres conteneurs cohébergés sur la même machine. L'isolation native des conteneurs repose techniquement sur les namespaces Linux, qui cloisonnent la visibilité des processus, du réseau et du système de fichiers, et les cgroups, qui limitent les ressources allouées, mais ces mécanismes ne constituent pas une frontière de sécurité aussi robuste et étanche que celle offerte par une machine virtuelle disposant de son propre noyau isolé, puisque tous les conteneurs d'un même hôte partagent effectivement le même noyau Linux sous-jacent. Les vecteurs d'évasion documentés incluent l'exploitation de vulnérabilités du moteur d'exécution de conteneurs lui-même, comme celles historiquement identifiées dans runc, l'exploitation d'un conteneur lancé en mode privilégié disposant d'un accès quasi complet aux capacités du noyau hôte, le montage non contrôlé du socket Docker à l'intérieur du conteneur permettant de piloter directement le démon hôte, ou l'abus de capacités Linux excessivement accordées. La prévention repose sur le principe du moindre privilège appliqué aux conteneurs, l'usage de profils Seccomp et AppArmor restrictifs, et l'évitement systématique du mode privilégié en production.

Description

L'évasion de conteneur (container escape) est une technique par laquelle un processus malveillant s'exécutant dans un conteneur Docker ou Kubernetes perce l'isolation pour accéder au système d'exploitation hôte. L'isolation conteneur repose sur les namespaces Linux et cgroups, moins hermétiques qu'une VM complète.

Contexte cloud

Dans les environnements cloud EKS/AKS/GKE, une évasion de conteneur peut compromettre un nœud worker et accéder aux credentials IMDS (Instance Metadata Service) de l'instance EC2/VM, permettant l'escalade vers des permissions IAM cloud. Les CVE critiques runc (CVE-2019-5736) et containerd (CVE-2022-23648) illustrent la réalité de ces risques.

Points clés

  • Prévention : securityContext: runAsNonRoot: true, allowPrivilegeEscalation: false, capabilities: drop: [ALL] dans les manifests Kubernetes
  • Détection Falco : règle spawned_process_in_container where container.name!=host and proc.name in (nsenter, docker, kubectl) pour détecter les outils d'évasion
  • Runtimes isolés : gVisor (runtimeClassName: gvisor) ou Kata Containers pour les workloads non-trusted nécessitant une isolation renforcée

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis