View
213
Download
0
Category
Preview:
Citation preview
Virtuelle SicherheitMandatory Access Control und TPM in XEN
c© 2007 Ralf Spenneberg
OpenSource TrainingRalf Spenneberg
Webereistr. 148565 Steinfurt
http://www.opensource-training.dehttp://www.os-t.de
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 1 / 31
Vorstellung
Wer bin ich?UNIX-Administrator seit 1989Linux-Administrator seit 1994Freier UNIX/Linux Dozent und Berater seit 1999Buchautor
Intrusion Detection für Linux-Server (M+T)VPN mit Linux (AWL)Intrusion Detection und Prevention mit Snort + Co. (AWL)Linux Firewalls mit Iptables + Co. (AWL)
ZeitschriftenautorLinux-Magazin, iX, Linux-User, SysAdmin Magazine
Sprecher auf KonferenzenLinuxTag, Frühjahrsfachgespräch, Linux-KongressBlack Hat Briefings USA, SANS Conferenceetc.
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 2 / 31
XEN Einführung
XEN Einführung
Open Source HypervisorVirtual-Machine-MonitorParavirtualisierung
Modifikation des Gastbetriebssystems erforderlichFast native GeschwindigkeitSuspend, Resume, Live MigrationGäste: Linux 2.6, FreeBSD und Solaris
Full VirtualizationIntel Vanderpool TechnologyAMD PacificaKeine Modifikation des Betriebssystem erforderlichTreiber werden von Qemu zur Verfügung gestellt
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 5 / 31
XEN Gründe
Gründe für den Einsatz von Xen
Viele Gründe sprechen für den Einsatz einerVirtualisierungslösung
Server KonsolidierungHardware UnabhängigkeitGleichzeitige Nutzung mehrerer BetriebssystemeFlexible Zuteilung von RessourcenReduktion des WartungsfenstersEinfache AdministrationTrennung der Funktionalitäten
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 6 / 31
XEN Sicherheit
Sicherheit durch XEN
Sicherheit durch IsolationTrennung der FunktionalitätenGetrennte Root-KontenÄhnlich physikalisch getrennten Maschinen
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 7 / 31
XEN Sicherheitsprobleme
Sicherheitsprobleme bei dem Einsatz von XEN
Probleme bei dem Einsatz von XenVM VerwaltungGleichzeitiger Betrieb von zwei unterschiedlichen VMsZugriff auf gleiche RessourcenEinsatz von TC für die Überprüfung des Systems
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 8 / 31
XEN Allgemeine Ansätze
Allgemeine Lösungsansätze
Allgemeine LösungsansätzeTrennung der Netzwerkfunktionen durch Custom BridgesHärtung der Domäne 0Device-Driver Domain
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 9 / 31
sHype sHype
sHype - Mandatory Access Control
sHypeFLASK ArchitekturTrennung von Reference Monitor und Access Control PolicyAccess-Control-Modul (ACM)Distributed Workload Protection across Workload Balancing andVirtual I/O
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 11 / 31
sHype Hypervisor Architektur
Wo erfolgt die Kontrolle?
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 12 / 31
sHype Workflow
Xen Konfiguration
ACM ist meist nicht StandardConfig.mk
ACM_SECURITY=yes
’FC6-RPMs: http://www.spenneberg.org/Xen
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 14 / 31
sHype Erzeugung der Policy
Erzeugung der Policy
xensec_ezpolicy
xensec_gen
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 15 / 31
sHype Erzeugung der Policy
Verwaltung der Policy
Speicherung der Policies in/etc/xen/acm-security/policies
Übersetzung:xm makepolicy example.chwall_ste.chinawall-wld
Konfiguration als Boot-Policyxm cfgbootpolicy example.chwall_ste.test-wld
Manuelles Laden:xm loadpolicy example.chwall_ste.test-wld
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 16 / 31
sHype Labeling
Labeling
[root@supergrobi ~]# xm labelMailserversMailservers.GatewayMailservers.IntranetMailservers.SpamFilterMailservers.VirusFilterSystemManagementWebServersWebServers.AdvertisementsWebServers.E-CommerceWebServers.Intranet[root@supergrobi ~]# xm addlabel Mailservers.Gateway ↘
dom fc6-Mailservers.Gateway[root@supergrobi ~]# xm addlabel Mailservers.Gateway ↘
res file:/vmware/xen/fc6-Mailservers.Gateway.↘img
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 17 / 31
sHype Labeling
Domain Labeling
kernel=’/boot/vmlinuz-2.6.18-1.2849.nopaexen’ramdisk=’/boot/domU-initrd.img’name = "fc6-Mailservers.Gateway"memory = "128"disk = [ ’file:/vmware/xen/fc6-Mailservers.Gateway.img,↘
sda1,w’, ]vif = [ ’’ ]nographic=1vcpus=1on_reboot = ’restart’on_crash = ’restart’root = ’/dev/sda1’extra = ’ro selinux=0’
access_control = [’policy=example.chwall_ste.test-wld,↘label=Mailservers.Gateway’]
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 18 / 31
sHype Labeling
Resource Labeling
resources = {’file:/vmware/xen/fc6-Mailservers.Gateway.img’: (’↘
example.chwall_ste.test-wld’, ’Mailservers.↘Gateway’),
’file:/vmware/xen/fc6-Mailservers.Intranet.img’: (’↘example.chwall_ste.test-wld’, ’Mailservers.↘Intranet’),
’phy:hda2’: (’example.chwall_ste.test-wld’, ’↘Mailservers.SpamFilter’),
’file:/vmware/xen/fc6-Mailservers.SpamFilter.img’: ↘
(’example.chwall_ste.test-wld’, ’↘Mailservers.SpamFilter’),
}
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 19 / 31
sHype Labeling
Demonstration
Anzeige der Domäne 0 mit LabelStart einer ungelabelten DomäneStart einer gelabelten DomäneStart einer zweite Domäne mit KonfliktZugriff auf eine falsch gelabelte Ressource
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 20 / 31
vTPM Trusted Computing
Trusted Computing
Software IntegritätHardware Based Root of TrustTPMvTPM
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 22 / 31
vTPM Trusted Computing
TPM
Platform-Configuration-Register (PCR)PCR werden zum Bootzeitpunkt initialisiertPCR-Extension-OperationExtend(PCRN , Wert) = SHA1(PCRN ||Wert)BIOS, Bootloader und OS können so die Integrität messen
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 23 / 31
vTPM Trusted Computing
Versiegelung
Verschlüsselung der DatenEntschlüsselung nur bei Erreichen des identischen ZustandesmöglichSchlüssel
Endorsement Key (EK, Gültigkeit des TPM)Attestation-Identity-Keys (AIK, erzeugt durch TPM, beglaubigtdurch Privacy CA)Storage-Root-Key (SRK, Speicherung von Anwenderschlüsseln)
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 24 / 31
vTPM Probleme und Implementierung
vTPM Probleme
Chain of TrustUnterschied: Virtuelle und Physikalisches TPM(Live) Migration
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 25 / 31
vTPM Probleme und Implementierung
Implementierung
Jeder Gast erhält ein vTPMJedes vTPM besitzt einen eigenen Keyring und einen SRKJe vTPM ein EK
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 26 / 31
vTPM Probleme und Implementierung
Kombination aus TPM und vTPM
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 27 / 31
vTPM Probleme und Implementierung
Vertrauen
Wie überprüft man die Integrität des TPM?Wer erstellt die Zertifikate des EK?Lösungsvorschläge:
Zertifikatskette vom vTPM zu Hardware-TPMAustellen der vAIKs direkt mit dem AIK des Hardware-TPMLokale CA für die Erzeugung der Zertifikate des vEK
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 28 / 31
vTPM Potentieller Nutzen
Potentieller Nutzen
Secure GrubSichere SchlüsselspeicherSoftware AttestationeCryptfs
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 29 / 31
vTPM eCryptfs
eCryptfs
POSIXVerschlüsselung einzelner Dateien"gnupgfs"Natives Linux Dateisystem (2.6.19)Unterstützung für TPM-Keyring und Trousers
c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 30 / 31
Recommended