IBM: Container sicherer als VMs

16.07.2018

Legt man die Angriffsfläche zugrunde, schneiden Container nicht so schlecht ab wie VMs.

Der IBM-Mitarbeiter James Bottomley berichtet in seinem Blog über Messungen, die belegen sollen, dass Container mindestens genauso sicher sind wie Hypervisoren. Wird eine von IBM als Open Source entwickelte Runtime verwendet, seien Container-Anwendungen gar sicherer als VMs. Als Grundlage seiner Benchmarks definiert Bottomley zunächst zwei Angriffsarten beim Einsatz von Workloads in Cloud-Umgebungen: Das Vertical Attack Profile (VAP) besteht dabei aus dem kompletten Technologie-Stack, angefangen von Web-Frameworks über Webserver-Software bis potenziell hinab zum Betriebssystem. Das Horizontal Attack Profile (HAP) betrifft dagegen eher die nebeneinander auf einer Plattform laufenden VMs/Container und die darunterliegende Software. Typischerweise kümmern sich Cloud-Provider um letzteres, sodass für Cloud-Kunden weniger Aufwand für die Wartung hinsichtlich der Sicherheit entsteht. Je mehr Elemente des VAP von einem Provider übernommen wird, etwa in der Form von PaaS oder SaaS, desto weniger muss sich der Kunde um seinen Stack kümmern.

Der zweite Faktor, den Bottomley seinen Messungen zu Grunde legt, ist die Annahme, dass ein System umso unsicherer ist, desto mehr Code es verwendet. Dementsprechend ist die entscheidende Metrik zur Beurteilung der Sicherheit die Anzahl von Kernel-Funktionen, von einer kompletten Anwendung aufgerufen werden. Damit gerät Bottomley letztlich zu seinem Schluss: Da etwa bei der Container-Ausführung von Googles gVisor weniger Kernel-Funktionen durchlaufen werden als bei der Variante mit KVM, ist die Container-Anwendung rechnerisch sicherer. Selbst Docker-Anwendungen schneiden hierbei sehr gut ab, erlauben Angreifern aber jenseits der laufenden Anwendungen den Zugriff auf weitere verfügbare Systemcalls. Dem kann durch ein "sorgfältig zusammengestelltes" Seccomp-Profil begegnet werden, so Bottomley.

Der beste Weg ist für Bottomley die von IBM als Open Source entwickelte Nabla-Runtime, die aus der Arbeit an Unikerneln enstanden ist. Als eine Art Wrapper begrenzt Nabla noch einmal die zur Verfügung stehenden Kernel-Funktionen und damit die Angriffsfläche auf die Container-Anwendungen. Damit wird Nabla für Bottomley zum Testsieger, der bei reduziertem Angriffsvektor gleichzeitig die höchste Performance liefert.

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite