Virtualization is a technique that allows multiple instances typically running different guest operating systems on top of single physical hardware. A hypervisor, a layer of software running on top of the host operating system, typically runs and manages these different guest operating systems. Rather than to run different services on different servers for reliability and security reasons, companies started to employ virtualization over their servers to run these services within a single server. This approach proves beneficial to the companies as it provides much better reliability, stronger isolation, improved security and resource utilization compared to running services on multiple servers. Although hypervisor based virtualization offers better resource utilization and stronger isolation, it also suffers from high overhead as the host operating system has to maintain different guest operating systems.
To tackle this issue, another form of virtualization known as Operating System-level virtualization has emerged. This virtualization provides light-weight, minimal and efficient virtualization, as the different instances are run on top of the same host operating system, sharing the resources of the host operating system. But due to instances sharing the same host operating system affects the isolation of the instances. In this paper, we will first establish the basic concepts of virtualization and point out the differences between the hyper-visor based virtualization and operating system-level virtualization. Next, we will discuss the container creation life-cycle which helps in forming a container threat model for the container systems, which allows to map different potential attack vectors within these systems. Finally, we will discuss a case study, which further looks at isolation provided by the containers.
academic
Analyse der Sicherheit in OS-Level-Virtualisierung
Die Virtualisierungstechnologie ermöglicht die Ausführung mehrerer Instanzen mit typischerweise unterschiedlichen Gast-Betriebssystemen auf einer einzigen physischen Hardware. Während die hypervisor-basierte Virtualisierung eine bessere Ressourcenauslastung und stärkere Isolation bietet, entstehen durch die Notwendigkeit, verschiedene Gast-Betriebssysteme zu verwalten, erhebliche Mehrkosten. Um dieses Problem zu lösen, wurde die OS-Level-Virtualisierung entwickelt, die leichte, minimale und effiziente Virtualisierung bietet. Da die Instanzen jedoch dasselbe Host-Betriebssystem gemeinsam nutzen, beeinträchtigt dies die Isolation zwischen den Instanzen. Diese Arbeit etabliert grundlegende Virtualisierungskonzepte, analysiert die Unterschiede zwischen Hypervisor-Virtualisierung und OS-Level-Virtualisierung, erörtert den Lebenszyklus der Container-Erstellung, konstruiert ein Container-Bedrohungsmodell und analysiert durch Fallstudien die von Containern bereitgestellte Isolation.
Ressourcenauslastungseffizienz: Die traditionelle Methode, verschiedene Dienste auf verschiedenen Servern bereitzustellen, erhöht zwar die Zuverlässigkeit und Sicherheit, ist aber kostspielig und ressourcenintensiv
Virtualisierungsmehrkosten: Während die hypervisor-basierte Virtualisierung die Ressourcenauslastung verbessert, führt die Verwaltung mehrerer Gast-Betriebssysteme zu erheblichen Mehrkosten
Container-Sicherheitsisolationsproblem: Obwohl die OS-Level-Virtualisierung das Mehrkosten-Problem löst, könnte die gemeinsame Nutzung des Betriebssystem-Kernels die Sicherheitsisolation beeinträchtigen
Geschäftliche Anforderungen: Unternehmen benötigen sichere und effiziente Ausführung mehrerer Dienste auf einem einzigen Server
Cloud-Computing-Trend: Seit den 1990er Jahren wird die Virtualisierungstechnologie in Cloud-Umgebungen weit verbreitet eingesetzt
Sicherheitsbedrohungen: Die weit verbreitete Einführung von Container-Technologie bringt neue Sicherheitsherausforderungen und Angriffsvektoren mit sich
Etablierung eines Virtualisierungsvergleichsrahmens: Systematischer Vergleich der Vor- und Nachteile von Hypervisor-Virtualisierung und OS-Level-Virtualisierung
Konstruktion eines detaillierten Container-Erstellungslebenszyklus-Modells: Analyse des vollständigen Prozesses von Docker-Containern vom Aufbau bis zur Ausführung
Entwicklung eines umfassenden Container-Bedrohungsmodells: Identifizierung und Klassifizierung von 9 Hauptangriffsvektoren im Container-System
Bereitstellung von Analysen tatsächlicher Sicherheitslücken: Tiefgehende Analyse von Sicherheitsproblemen anhand von zwei echten Sicherheitslücken (CVE-2024-21626 und CVE-2022-0847)
Empfehlungen zur Container-Sicherheitshärtung: Praktische Sicherheits-Best-Practices basierend auf Analyseergebnissen
Diese Forschung zielt darauf ab, die Sicherheit und Isolation der OS-Level-Virtualisierung (insbesondere Docker-Container) systematisch zu analysieren, potenzielle Angriffsvektoren durch die Konstruktion eines Bedrohungsmodells zu identifizieren und Empfehlungen zur Sicherheitshärtung bereitzustellen.
Die Forschung konzentriert sich auf vier Kernkomponenten des Docker-Container-Systems:
Docker Engine: Open-Source-Container-Technologie, die die Fähigkeit bietet, Anwendungen zu erstellen und zu containerisieren
Docker Daemon (dockerd): Ein im Hintergrund laufender Prozess, der Docker-Befehle überwacht und als Schnittstelle zwischen CLI und Container-Laufzeit fungiert
Containerd: Ein hochrangiges Container-Laufzeitsystem, das Bildtransfer-Management, Container-Lebenszyklusverwaltung, Speicher- und Netzwerkfunktionen bereitstellt
Runc: Eine leichte, sichere Low-Level-Container-Laufzeit, die direkt mit dem zugrunde liegenden Betriebssystem interagiert
Externe Angriffe: Fernzugriff auf das Container-System über das Netzwerk
Interne Angriffe: Der Angreifer befindet sich bereits als Benutzer im Container und startet den Angriff
Diese Forschung verwendet die Methode der Analyse tatsächlicher Sicherheitslücken und wählt zwei repräsentative Sicherheitslücken für tiefgehende Analyse:
Ein Container ist aus der Perspektive des Host-Betriebssystems ein Prozess, der durch chroot ein unabhängiges Dateisystem als Root-Dateisystem bereitstellt
Der Angreifer erstellt symbolische Links, die auf die Dateideskriptoren 7 und 8 verweisen
Diese Arbeit basiert auf der Entwicklung der Virtualisierungstechnologie, wobei Virtualisierungskonzepte seit den 1960er Jahren existieren, aber erst seit den 1990er Jahren zur Mainstream-Technologie wurden.
Doppelschneidiges Schwert der OS-Level-Virtualisierung: Während sie eine leichte und effiziente Virtualisierungslösung bietet, bringt die gemeinsame Nutzung des Betriebssystem-Kernels Herausforderungen bei der Sicherheitsisolation mit sich
Vielfalt der Bedrohungsvektoren: Container-Systeme sind mit Sicherheitsbedrohungen über den gesamten Lebenszyklus konfrontiert, von Image-Repositorys bis zu Laufzeitumgebungen
Tatsächliche Sicherheitsrisiken: Die Analyse von CVE-Fällen bestätigt die reale Existenz schwerwiegender Sicherheitsbedrohungen wie Container-Escapes und Berechtigungserhöhungen
Kontinuierliche Sicherheitsherausforderungen: Container-Sicherheit ist ein sich kontinuierlich entwickelndes Problem, das ständige Aktualisierungen der Schutzmaßnahmen erfordert
Forschungsumfang-Einschränkung: Hauptsächlich auf Docker-Container konzentriert, deckt keine anderen Container-Technologien ab (wie FreeBSD Jails, Solaris Zones)
Bedrohungsmodell-Tiefe: Obwohl Hauptangriffsvektoren identifiziert wurden, ist die Diskussion spezifischer Schutzmaßnahmen für jeden Angriff nicht ausreichend tiefgehend
Anzahl der Versuchsfälle: Nur zwei CVE-Fälle wurden analysiert, was möglicherweise nicht ausreicht, um die Komplexität von Container-Sicherheitsbedrohungen vollständig widerzuspiegeln
Unzureichende quantitative Analyse: Fehlende quantitative Bewertung des Risikograds verschiedener Angriffsvektoren
Das Papier schlägt folgende Forschungsrichtungen vor:
KI-gesteuerte Bedrohungserkennung: Integration von künstlicher Intelligenz zur Verbesserung der Widerstandsfähigkeit von containerisierten Systemen gegen neue Sicherheitslücken
Sichere Kommunikationsprotokolle: Entwicklung sichererer Kommunikationsprotokolle zwischen Containern
Optimierung für drahtlose Umgebungen: Optimierung von Container-Netzwerken für drahtlose Umgebungen
Systemische Innovationen: Verbesserung der Ressourcenverteilung durch systemische Innovationen, um Leistung und Sicherheit in dynamischen verteilten Infrastrukturen zu gewährleisten
Verwandte Forschungsarbeiten des Autorenteams in den Bereichen Sicherheit, KI und IoT
Gesamtbewertung: Dieses Papier bietet einen relativ umfassenden Analysisrahmen für die Sicherheit der OS-Level-Virtualisierung. Obwohl die theoretische Innovation begrenzt ist, hat es hohen Wert in Bezug auf Praktikabilität und Systematik und eignet sich als Einführungs- und Referenzmaterial im Bereich der Container-Sicherheit.