Sichere Virtualisierung mit KVM

Sichere Virtualisierung mit KVM Agenda ● Einleitung ● Architektur ● Analyse ● – QEMU / KVM – libvirt – Netzwerkanbindung – Speicheranb...
Author: Angelika Beyer
3 downloads 1 Views 2MB Size
Sichere Virtualisierung mit KVM

Agenda ●

Einleitung



Architektur



Analyse





QEMU / KVM



libvirt



Netzwerkanbindung



Speicheranbindung

Fazit 24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

2 / 36

Projekt ● ●



„Sicherheitsanalyse von KVM (KVMSec)“ Bundesamt für Sicherheit in der Informationstechnik (BSI) Kann mittels KVM sicher virtualisiert werden?

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

3 / 36

Virtualisierung ●

KVM ermöglicht Virtualisierung mit Linux



Alternative zu VMWare, XEN, ...



Seit 2006 Bestandteil von Linux



Entwickelt von Qumranet, heute Red Hat



„Die“ Virtualisierung mit KVM gibt es nicht! –

Komponenten sind lose gekoppelt



Sehr umfangreich konfigurierbar

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

4 / 36

Bedrohungsszenario ●



Angreifer ist –

im Gast



im Netzwerk

Virtualisierungsumgebung ist ansonsten nicht kompromittiert

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

5 / 36

Architektur ●





KVM: Ansteuerung der Hardware QEMU: Hardwareemulation libvirt: Management

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

6 / 36

Codeanalyse ●

Solider Code



Modulare Architektur



Einfacher Kern



Probleme von QEMU: –

signed/unsigned-Datentypen



Geringe Testabdeckung

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

7 / 36

Härtung ●





CentOS 7: –

Stack Protection



NX-Bit



ASLR

CentOS7 + libvirt: –

cgroups



SELinux

Standardmäßig aktiviert 24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

8 / 36

Hardwaredurchreichung ●

Gast greift unmittelbar auf physische Hardware zu



Isolation des Gastes muss aufrecht erhalten werden



Umsetzung mittels IOMMU



Probleme: –

IRQ-Remapping



Kompromittierte Hardware



Fehlende Live-Migration => Update-Problem



Problematisch in Umgebungen mit hohem Schutzbedarf



Nur Hardware mit SR-IOV nutzen!

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

9 / 36

Versteckte Kommunikationskanäle ●

Kann die Kommunikation zwischen Gästen unterbunden werden?



Kooperativer Informationsaustausch



Problem: Gemeinsam genutzte Ressourcen



Ergebnis: Gäste auf demselben Host können miteinander kommunizieren!

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

10 / 36

Seitenkanalangriffe ●

Kann ein Gast Daten eines anderen Gastes einsehen?



Problem: Gemeinsam genutzte Ressourcen



Ergebnis:





KVM/QEMU nicht anfällig



Kernel Samepage Merging (KSM) ermöglicht Seitenkanalangriffe!

KSM deaktivieren! 24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

11 / 36

libvirt ●



Verwalten von Gästen über ein Netzwerk –

Erstellen



Starten



Stoppen



Migrieren



Snapshots erstellen





Interessant: –

Sicherung der Netzwerkkommunikation



Härtung von QEMU

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

12 / 36

Zugriff auf libvirt ●





Verschiedene Protokolle: –

SSH



TLS



SASL/GSSAPI





Bei SSH hat der Nutzer Konsolenzugriff => TLS und SASL/GSSAPI sind zu bevorzugen Sichere Kommunikation und gegenseitige Authentifizierung möglich 24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

13 / 36

sVirt ●

Härtungsmodul von libvirt



sVirt unterstützt: –

SELinux



cgroups



AppArmor



Wird automatisch verwendet



Kein zusätzlicher Konfigurationsaufwand

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

14 / 36

sVirt + CentOS 7 ●

● ●

Berechtigungen des QEMU-Prozesses werden minimiert Starke „Schutzhülle“ um QEMU Schwachstellen in QEMU ermöglichen typischerweise keinen Ausbruch

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

15 / 36

Netzwerkanbindung ●



Netzwerkschnittstellen: –

Gastnetzwerk



Managementnetzwerk



Storagenetzwerk

Verwaltet mittels libvirt

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

16 / 36

Fragestellungen ●





Kann ein Gast unberechtigt Netzwerkverkehr mitlesen? Kann ein Gast auf das Management- oder Storagenetzwerk zugreifen? Sind typische netzwerkbasierte Angriffe durch den Gast möglich?

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

17 / 36

Konnektivität ● ●

Konnektivität zwischen Gästen (IPv4, IPv6) Trennung des Gastes vom Management- und Storage-Netzwerk



Trennung des Gastes von Diensten des Hosts



Beschränkung auf IP (kein STP, CDP, ...)

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

18 / 36

Filterung ●

MAC-Address-Spoofing



IP-Address-Spoofing



ARP-Spoofing



ARP-Flooding



NDP-/RA-Spoofing



DHCP-Spoofing

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

19 / 36

Anbindungsmöglichkeiten ●

Linux-Bridge



macvtap



Open vSwitch



Virtuelles Libvirt-Netzwerk



Hardwaredurchreichung

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

20 / 36

Linux-Bridge - Konfiguration

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

21 / 36

Linux-Bridge Sicherheitsanforderungen ●

Host hat keine IP-Adresse des Gastnetzwerkes



IP-Forwarding ist nicht aktiviert –



Achtung: libvirt schaltet IP-Forwarding an!

RP-Filter ist aktiviert Ansonsten: Gefahr fehlender Netzwerktrennung!

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

22 / 36

Linux-Bridge - Filterung ●





Möglich mit –

iptables



libvirt (Filter clean-traffic)

Netzwerkbasierte Angriffe können unterbunden werden Gastkommunikation kann eingeschränkt werden

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

23 / 36

Linux-Bridge - Zusammenfassung ●

Netzwerktrennung vorhanden (sofern korrekt konfiguriert)



Filterung möglich



Gefahr: Fehlkonfiguration

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

24 / 36

macvtap ●

Virtuelle Netzwerkkarte



Mehrere Modi







bridge



vepa



private



passthrough

Filterung –

Durch Host nicht möglich



möglich durch externe Komponenten

Host nicht erreichbar

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

25 / 36

macvtap - Modus bridge ● ●

Effizient Filterung von hostinternem Verkehr nicht möglich

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

26 / 36

macvtap - Modus vepa ●





Verkehr der Gäste wird immer ausgeleitet Externe Filterung möglich Externer Switch muss Hairpin-Modus unterstützen

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

27 / 36

macvtap - Modus private ●



Gäste können nicht miteinander kommunizieren Kann u. U. umgangen werden! –

Hairpin-Modus nicht verwenden



Router korrekt konfigurieren 24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

28 / 36

macvtap - Modus passthrough ●



Jeder Gast hat eigene Netzwerkkarte Gast kann Netzwerkkarte umfangreich konfigurieren

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

29 / 36

macvtap - Zusammenfassung ●

Netzwerktrennung vorhanden



Modi: –

bridge: sinnvoll, aber keine Filterung



vepa: sinnvoll, ext. Filterung möglich



private: nicht sinnvoll



passthrough: nicht sinnvoll

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

30 / 36

Zusammenfassung ●

Sichere Netzwerkanbindung möglich



Umfangreiche Filterung möglich



Sicherheitskritische Konfigurationsfehler nicht ausgeschlossen

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

31 / 36

Speicheranbindung I ●

Schutz der Festplattenabbilder –

Vertraulichkeit



Integrität



Verfügbarkeit



Bei Speicherung und Übermittlung



Netzwerkbasierte Speicherbackends –

Ceph



GlusterFS

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

32 / 36

Speicheranbindung II ●







Verschlüsselung durch QEMU (qcow2) –

Mangelhaftes Konzept: Von Verwendung wird abgeraten!



Wird wahrscheinlich in 2017 entfernt

Ceph: Keine Sicherung der Kommunikation möglich GlusterFS: Sicherung der Kommunikation optional Ceph und GlusterFS erfordern strikte logische sowie physische Zugangsbeschränkungen

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

33 / 36

Fazit I ●



KVM-Stack (CentOS 7, KVM, QEMU, libvirt) –

solider Code



mehrschichtiges Sicherheitskonzept



Ausbruch aus Gast unwahrscheinlich

Netzwerkanbindung –

Umfangreich konfigurierbar



Grundsätzlich sicher



Sicherheitskritische Konfigurationsfehler nicht ausgeschlossen

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

34 / 36

Fazit II ●

Speicheranbindung –

Hostbasierte Verschlüsselung möglich



Ceph und GlusterFS ● ●



Hochverfügbare Speicherung möglich Gegenseitige Authentifizierung möglich

Sicherung erfordert strikte logische sowie physische Zugangsbeschränkungen

24. DFN-Konferenz "Sicherheit in vernetzten Systemen"

35 / 36

Fragen?