#CloudNativeDaysFR
Tokyo Drift Containers : Immuabilité au service de la sécurité Cloud Native Speaker : Daniel Maher // Datadog // @phrawzty
2
Slide 3
#CloudNativeDaysFR
Maîtriser la dérive des conteneurs Les mythes et la réalité Techniques de détection Stratégies de remédiation
● ● ●
3
Slide 4
#CloudNativeDaysFR
Qui suis-je ? Daniel “phrawzty” Maher Senior Security Advocate chez Datadog Trajet : Admin Sys → DevOps Engineer → Analyste en Sécurité
● ● ●
4
Slide 5
#CloudNativeDaysFR
Le Contrat Cloud Native Immuabilité : L’artefact est scellé au build Reproductibilité : De la CI au Cluster, rien ne bouge Prédictibilité : On sait exactement ce qui tourne
● ● ●
5
Slide 6
#CloudNativeDaysFR
La Réalité : Drift Happens kubectl exec : Le pêché originel du debug Les sidecars qui modifient le réseau ou le FS Les scripts d’entrypoint qui font des pip install ou apt upgrade Résultat : Votre conteneur en prod est un snowflake
● ● ● ●
6
Slide 7
#CloudNativeDaysFR
Anatomie d’une dérive : la Kill Chain Recon : Scan de vulnérabilité (e.g. Log4Shell) Exploit : Injection de code en mémoire Mutation : Téléchargement d’un binaire dans /tmp Persistance : Modification d’un script pour rester là
● ● ● ●
7
Slide 8
#CloudNativeDaysFR
Shift Left : Forger l’immuabilité Réduire la surface d’attaque Supprimer les outils de mutation Rendre le conteneur “stupide” et focalisé
● ● ●
8
Slide 9
#CloudNativeDaysFR
L’approche “Distroless” Pas de gestionnaire de paquets (apt, apk, etc.) Pas de Shell (bash, zsh, etc.) Uniquement le runtime (Go, Node, JRE, etc. selon le besoin) et l’application elle-même
● ● ●
9
Slide 10
#CloudNativeDaysFR
Visibilité & SBOM
10
Slide 11
#CloudNativeDaysFR
2. Le Runtime : Le moment de vérité Kubernetes est-il une passoire ? Les limites des outils traditionnels Pourquoi l’observabilité doit être kernel-level
● ● ●
11
#CloudNativeDaysFR
Pourquoi l’eBPF change la donne Logs ? Faciles à effacer ou à bypasser, souvent cryptique Sidecars ? Lourds, ne voient pas tout eBPF ! Directement dans le noyau, faible latence, visibilité absolue sur les syscalls 👍
● ● ●
13
Slide 14
#CloudNativeDaysFR
Détecter la dérive en temps réel
14
Slide 15
#CloudNativeDaysFR
Processus inattendu
15
Slide 16
#CloudNativeDaysFR
3. Réponse sur Incident : “Cattle, not Pets” On ne patche pas un conteneur en prod On ne “nettoie” pas une dérive On termine et on remplace 👍
● ● ●
16
Slide 17
#CloudNativeDaysFR
Rollback immuable Isolation : Couper le réseau du pod déviant Snapshot : Garder une trace pour l’analyse Termination : kubectl delete pod Fix : Mettre à jour l’image à la source (Dockerfile)
● ● ● ●
17
Slide 18
#CloudNativeDaysFR
Le cycle de vie complet
18
Slide 19
#CloudNativeDaysFR
Conclusion La dérive est inévitable sans mécanismes de contrôle Le Shift Left simplifie le runtime. Le Runtime Observability (eBPF) est votre source de vérité. Ne réparez jamais : remplacez !
● ● ● ●
19