Virtuelle Sicherheit - Mandatory Access Control und TPM in XEN · Intrusion Detection und...

28
Virtuelle Sicherheit Mandatory Access Control und TPM in XEN c 2007 Ralf Spenneberg OpenSource Training Ralf Spenneberg Webereistr. 1 48565 Steinfurt http://www.opensource-training.de http://www.os-t.de c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 1 / 31

Transcript of Virtuelle Sicherheit - Mandatory Access Control und TPM in XEN · Intrusion Detection und...

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

Gliederung

1 XEN

2 sHype

3 vTPM

c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 3 / 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

sHype WorkflowXen Usermanual

c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 13 / 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

vTPM eCryptfs

Fragen ?

OpenSource Training Schulungen direkt vom AutorRalf Spenneberg System und Netzwerk Administration

Webereistr. 1 Apache 2.0, Samba, Postfix48565 Steinfurt VPN, Firewall, IDS

c©2007 Spenneberg (OS-T) Virtuelle Sicherheit 31 / 31