

Containerbeveiliging en de evolutie naar geharde infrastructuren
Daily WTF! por Don Ramón
T1 · E191
31 jul 2026
25:39
Notas del episodio
Het probleem: Scanners zonder context
Momenteel bevat 87% van alle actieve container-images high of critical kwetsbaarheden. Ontwikkelaars ervaren zware alert fatigue door traditionele statische scanners (zoals Trivy of Grype).
- Gebrek aan reachability: Statische scanners kijken puur naar pakketversies in manifesten, niet of kwetsbare code tijdens runtime daadwerkelijk kan worden aangeroepen (reachability).
- Contextuele scanners (bijv. Aikido Security): Koppelen broncode, containers en cloudconfiguraties via AST's en call-graphs. Dit vermindert ruis en biedt AI-gestuurde auto-fixes via Pull Requests.
- Limieten: Bij grote monorepo's vergt dit veel rekenkracht (trage CI/CD) en zijn licentiekosten aanzienlijk.
De omslag: Distroless & Hardened Images
Reactief patchen op traditionele Linux-images blijft dweilen met de kraan open. De oplossing is het verkleinen van het aanvalsoppervlak (attack surface):
- Distroless: Tot 95% van het OS wordt gestript (geen shell, curl of package manager). Wat ontbreekt, kan niet worden misbruikt.
- Google Distroless valkuil: Gebaseerd op Debian Stable, wat door een trage patchcyclus alsnog wekenlang kwetsbaarheden kan bevatten.
- Wolfi & Chainguard:
- Wolfi is een open-source "un-distribution" die package management tijdens de build toestaat, maar het productie-image volledig stript.
- Chainguard levert een Enterprise-laag met SLSA Level 3 compliance en gegarandeerde patches binnen 24 uur bij bekende dreigingen, wat grote interne patch-teams vervangt.
Valkuilen bij migratie naar geharde images
Strikte images brengen directe migratiepijn met zich mee:
- Geen shell (/bin/sh): Kubernetes exec-probes falen direct. Probes moeten worden omgeschreven naar HTTP- of TCP-checks.
- C-library incompatibiliteit (glibc vs. musl): De overstap van Alpine (musl) naar Wolfi/Chainguard (glibc) leidt bij Python/Go-apps met C-bindings vaak tot vage segmentation faults.
- Non-root (UID): Geharde images dwingen non-root executie af (bijv. UID 65532), wat leidt tot permission denied-fouten bij logbestanden.
- Troubleshooting: Zonder shell werkt kubectl exec niet meer, wat volwassen observability (OpenTelemetry, tracing) vereist.
Runtime Beveiliging & "Dark Matter"
Zelfs een gestript image kan runtime-kwetsbaarheden bevatten via eigen applicatielogica.
- Passief vs. Actief: Falco monitort system calls via eBPF passief, terwijl KubeArmor of Aikido Zen schadelijke acties actief blokkeren op kernel- of applicatieniveau.
- Runtime De-bloating (bijv. RapidFort): Het op runtime verwijderen van bestanden sloopt de cryptografische hash en de Software Bill of Materials (SBoM). Dit maakt compliance (zoals FedRAMP) ongeldig en creëert onbeheersbare "Dark Matter" in de infrastructuur..
Palabras clave
container images