Container-Security und “Policy im Kernel”: Warum klassische Tools allein nicht mehr reichen
Inhaltsverzeichnis:
Container haben sich zwischen 2025 und 2034 zu einem Markt entwickelt, der von 3,07 Milliarden auf prognostizierte 25,51 Milliarden Dollar wachsen soll. Diese explosive Entwicklung zeigt, wie unverzichtbar containerisierte Anwendungen für moderne Cloud-native Infrastrukturen geworden sind. Kubernetes orchestriert mittlerweile Millionen von Containern in Produktionsumgebungen weltweit, während Entwicklerteams auf die Geschwindigkeit und Portabilität dieser Technologie setzen. Gleichzeitig entstehen neuartige Angriffsvektoren, die sich fundamental von denen klassischer Serverumgebungen unterscheiden.
Traditionelle Sicherheitslösungen, die man für monolithische oder statische Systeme konzipiert hat, passen sich nicht nativ an die häufigen Änderungen in Container-Umgebungen an. Scanner für Schwachstellen und statische Konfigurationsprüfungen bilden nur einen Bruchteil des tatsächlichen Risikoprofils ab. Die dynamische Natur von Containern, gepaart mit ihrer Shared-Kernel-Architektur, erfordert einen Paradigmenwechsel. Kernel-basierte Policy-Enforcement entwickelt sich dabei zur Schlüsseltechnologie für wirksamen Schutz in Echtzeit.
Die Schwachstellen traditioneller Container-Security-Werkzeuge
Virtuelle Maschinen bieten Hardware-Level-Isolation durch Hypervisoren, die Gast-Betriebssysteme vom Host trennen, während Container denselben Host-Kernel teilen und Namespaces sowie Control Groups für Isolation nutzen. Dieser grundlegende Architekturunterschied macht Antivirus-Software und Host-basierte Firewalls weitgehend ineffektiv. Tools, die für langlebige VM-Instanzen entwickelt wurden, können den Lebenszyklus eines Containers oft nicht einmal erfassen. Zwischen Erstellung und Zerstörung liegen manchmal nur Minuten, was klassische Scanning-Ansätze regelrecht überfordert.
Container sind von Natur aus kurzlebig und dynamisch, existieren häufig nur wenige Minuten, während traditionelle Sicherheitsansätze für lang laufende virtuelle Maschinen oder physische Server konzipiert wurden. Ein Image-Scan vor dem Deployment erfasst keine Runtime-Anomalien oder Zero-Day-Exploits. Netzwerk-Segmentierung allein verhindert nicht, dass ein kompromittierter Container Kernel-Schwachstellen ausnutzt. Die fehlende Visibility in den tatsächlichen Systemaufruf-Kontext führt dazu, dass Sicherheitsteams erst reagieren, wenn der Angriff bereits erfolgt ist.
Shared Kernel als Sicherheitsrisiko
Container erweitern durch das Teilen des Host-Kernels die potenzielle Angriffsfläche für böswillige Akteure erheblich. Jeder Prozess innerhalb eines Containers kommuniziert über denselben Kernel mit dem System. Eine Schwachstelle in diesem gemeinsamen Kern gefährdet potenziell alle laufenden Workloads gleichzeitig. Angreifer suchen gezielt nach Kernel-Exploits, besonders in Multi-Tenant- oder Cloud-Umgebungen, wo ein einzelner Kompromiss breiten Zugang verschaffen kann. Namespaces und Cgroups bieten Prozessisolation, aber keine absolute Sicherheitsbarriere gegen Kernel-Level-Angriffe.
Die ersten 16 Tage des Jahres 2025 verzeichneten bereits 134 neue Linux-Kernel-CVEs, wobei viele Schwachstellen Isolationsschichten wie Guest/Host-Schnittstellen oder Container-Sandboxes gezielt angreifen. Vsock-Vulnerabilities brechen VM-zu-Host-Barrieren, während UNIX-Socket-Exploits Privilege-Escalation aus Sandboxes heraus ermöglichen. Timer-Subsysteme, Virtualisierungsschnittstellen und Treiber-Code stellen komplexe Angriffspunkte dar, die privilegierten Kontext mit externem Input kombinieren. Ohne Kernel-Level-Kontrollen können Angreifer diese Schwachstellen ausnutzen, bevor Patches verfügbar sind.
Linux Security Modules als Fundament
Capabilities verwandeln die binäre Root/Nicht-Root-Dichotomie in ein feinkörniges Zugriffskontrollsystem, wobei Prozesse wie Webserver, die nur an einem Port unter 1024 binden müssen, nicht als Root laufen müssen. Linux Security Modules wie AppArmor und SELinux setzen genau hier an. Sie platzieren Hooks im Kernel-Code kurz vor kritischen Zugriffsentscheidungen. Mandatory Access Control (MAC) erzwingt Policies unabhängig von Benutzerrechten. Diese Mechanismen definieren präzise, welche Dateien man gelesen, welche Netzwerkverbindungen man geöffnet oder welche Systemaufrufe man ausgeführt hat.

LSMs sind wirklich mächtig, aber sie wurden nicht mit modernen Workloads einschließlich Containern und Orchestratoren im Sinn entwickelt, und die Lernkurve ihrer Policy-Sprache scheint steil zu sein. AppArmor-Profile erfordern tiefes Verständnis von Dateipfaden und Berechtigungen, während SELinux-Contexts komplex zu verwalten sind. In Kubernetes-Umgebungen mit hunderten sich ständig ändernden Pods wird die manuelle Policy-Erstellung zum Flaschenhals. Container-Identitäten basieren auf Labels und Namespaces, nicht auf statischen Hostnamen. Traditionelle LSM-Implementierungen fehlt der native Kubernetes-Kontext für effektive Policy-Enforcement.
eBPF und BPF-LSM als Game-Changer
eBPF ermöglicht es, kleine, sichere, hochperformante Programme innerhalb des Kernels auszuführen, ohne Kernel-Quellcode zu ändern oder Kernel-Module zu laden. Diese Technologie revolutioniert Runtime-Security grundlegend. Programme werden an Kernel-Hooks angehängt und laufen direkt im privilegierten Kontext. Dadurch entsteht vollständige Visibility über Systemaufrufe, Netzwerkevents und Dateizugriffe in Echtzeit. BPF-Maps ermöglichen effizienten Datenaustausch zwischen Kernel- und Userspace. Security-Entscheidungen können ohne Context-Switch getroffen werden, was die Performance-Auswirkungen minimiert.
BPF-LSM ist ein neues Linux Security Module, das in neueren Kerneln eingeführt wurde und es ermöglicht, eBPF-Bytecode an LSM-Hooks anzuhängen, die benutzerdefinierte Policy-Kontrollen enthalten. Diese Kombination vereint die Stärken beider Welten. LSM-Hooks garantieren, dass Security-Checks an den richtigen Kernel-Stellen greifen. eBPF bringt Flexibilität und Programmierbarkeit ohne Kernel-Recompilation. Policies können dynamisch geladen und aktualisiert werden. Container-Identitäten aus Namespace-IDs fließen direkt in Enforcement-Entscheidungen ein. Blockierte Aktionen werden unmittelbar gestoppt, bevor sie Schaden anrichten können.
Policy-Enforcement auf Kernel-Ebene in der Praxis
KubeArmor nutzt Linux Security Modules wie AppArmor, SELinux oder BPF-LSM zur Durchsetzung benutzerdefinierter Policies und generiert detaillierte Alerts mit Container-, Pod- und Namespace-Identitäten durch eBPF. Als DaemonSet auf Kubernetes-Nodes installiert, überwacht es Systemaufrufe und Container-Aktivitäten kontinuierlich. Policies werden als Custom Resource Definitions definiert, was sie nativ in GitOps-Workflows integriert. Die Lösung blockiert unautorisierten Dateizugriff, verdächtige Prozessausführungen oder anomale Netzwerkverbindungen automatisch. Compliance-Frameworks wie MITRE, CIS und NIST-800-53 werden out-of-the-box unterstützt.

Security-Policies werden auf Workloads angewendet und definieren erlaubte sowie blockierte Prozess-, Datei- und Netzwerkverhalten, während KubeArmor unautorisierten Aktionen wie Privilege-Escalation oder Crypto-Mining in Echtzeit blockt. Die Integration in CI/CD-Pipelines ermöglicht Policy-as-Code-Ansätze. Teams können Policies versionieren, reviewen und automatisiert deployen. CloudWatch, GuardDuty oder Prometheus sammeln Security-Events für zentrale Überwachung. Automatische Remediation terminiert kompromittierte Pods und isoliert betroffene Workloads. Der Ansatz verschiebt Security left, ohne DevOps-Geschwindigkeit zu beeinträchtigen.
Die Zukunft der Container-Security
Zero-Trust-Prinzipien gehen davon aus, dass keine Workload (intern oder extern) implizit vertrauenswürdig sein sollte, wobei jeder Benutzer, jede Workload und jede Anfrage unabhängig von Standort oder Netzwerksegment validiert wird. Container-zu-Container-Kommunikation erfordert explizite Autorisierung. Behavior Monitoring erkennt Abweichungen vom erwarteten Verhalten. Service-Meshes mit mTLS verschlüsseln Traffic und erzwingen Identitätsvalidierung. Microsegmentation begrenzt den Blast-Radius kompromittierter Workloads. Diese Layered Defense kombiniert Netzwerk-, Identity- und Kernel-Level-Controls für Defense-in-Depth.
Image-Scanning ohne Runtime-Visibility, Allow-All-Network-Policies und das Ignorieren von Drift gehören zwar zu häufigen Container-Security-Fehlern, die jedoch vermieden werden sollten, da sie Risiken unnötig erhöhen. Stattdessen liegt die Zukunft in der Konvergenz von Supply-Chain-Security, Runtime-Protection und kontinuierlichem Compliance-Monitoring, weil nur ein ganzheitlicher Ansatz nachhaltige Sicherheit schafft. Signierte Images mit Software Bill of Materials (SBOM) garantieren dabei die Provenance, während Admission-Controller non-konforme Deployments blockieren und dadurch frühzeitig eingreifen. Runtime-Agents mit eBPF detektieren Anomalien und reagieren anschließend automatisch, sodass Sicherheitsvorfälle schneller eingedämmt werden. Metriken wie Mean Time to Detection und Mean Time to Remediation messen folglich die Wirksamkeit der Maßnahmen. Unter dem Strich wird Security somit zum integralen Bestandteil des gesamten Container-Lifecycles.
Fazit zur Container-Security und Policy im Kernel

Tools wie KubeArmor demonstrieren, wie sich Kubernetes-native Policy-Enforcement in DevSecOps-Workflows integrieren lassen. Der mehrschichtige Ansatz aus Supply-Chain-Security, Admission-Control und Kernel-basierter Runtime-Protection definiert den Standard für Container-Security in 2026. Organisationen, die diese Technologien implementieren, schützen ihre Workloads proaktiv gegen Zero-Day-Exploits und sophisticated Angriffe, während sie gleichzeitig Compliance-Anforderungen erfüllen und DevOps-Agilität bewahren.