(E) SAE Deep Dive Serie Teil 1: Hyper-V Host Guardian Service (HGS) und Shielded VMs in einer (E)SAE-Umgebung - TEAL Technology Consulting GmbH
2118
post-template-default,single,single-post,postid-2118,single-format-standard,bridge-core-2.0.2,,qode-title-hidden,qode-child-theme-ver-1.0.0,qode-theme-ver-19.0.2,qode-theme-bridge,disabled_footer_top,qode_header_in_grid,wpb-js-composer js-comp-ver-6.0.5,vc_responsive

(E) SAE Deep Dive Serie Teil 1: Hyper-V Host Guardian Service (HGS) und Shielded VMs in einer (E)SAE-Umgebung

Nach dem Erfolg der ersten ESAE Serie haben wir beschlossen, eine Deep-Dive-Serie zu starten, in der wir auf verschiedene Maßnahmen etwas detaillierter eingehen. In diesem ersten Teil geht es um den Hyper-V Host Guardian Service und wie er im (E)SAE-Kontext helfen kann.

Einsatz von Virtualisierung in einer (E)SAE-Umgebung

Microsoft empfiehlt die Einführung eines Tiering-Modells, das Assets nach Schutzbedarf in verschiedene Schichten (Tiers) einteilt, um diese bedarfsgerecht und effektiv schützen zu können. Dabei ist in der Regel die Tier 0 die Schicht mit dem höchsten Schutzbedarf.

Das Modell sieht vor, dass jede Schicht von dedizierten Administratoren verwalten wird. Je höher der Schutzbedarf, desto höher die Anforderungen an die Administratoren (z.B. Zertifizierungen, Länge der Betriebszugehörigkeit, polizeiliches Führungszeugnis…). Deshalb ist es die Bestrebung, die Anzahl der Administratoren, besonders im Tier 0, so klein wie möglich zu halten. Dabei müssen auch implizite Rechte oder die Möglichkeit der privilege escalation berücksichtigt werden.

Ein Beispiel: Ein Unternehmen nutzt die verbreitete Plattform Microsoft System Center Configuration Manager (SCCM) für das Patchen der Windows Server. Wird auf den Domain Controllern der SCCM-Client installiert, erhalten die Administratoren der SCCM-Plattform implizit administrativen Zugriff auf den Active-Directory-Forest (Da der SCCM Agent im System-Kontext läuft).

In ähnlicher Weise gilt das auch für andere Management-Plattformen und, für unseren Artikel interessant, für Virtualisierungs-Plattformen wie Hyper-V oder VMWare. Ein Hyper-V-Administrator kann grundsätzlich auf die virtuellen Maschinen (VMs) in seiner Umgebung zugreifen, auch wenn er keine gesonderten Berechtigungen im Guest-OS besitzt. So kann er VMs starten und beenden oder virtuelle Festplattendateien mounten und damit z.B. auch den SYSTEM Registry Hive und die Active- Directory-Datenbank ntds.dit wegkopieren und diese offline angreifen. Als Beispiel sei die Funktion Get-ADDBAccount aus dem PowerShell-Modul DSInternals genannt, welche Kennwort-Hashes zur Verwendung in Pass-the-Hash-Angriffen aus der Datenbank extrahieren kann.

Ein Hyper-V-Administrator besitzt sozusagen physischen Zugriff auf die VMs auf seiner Plattform. Damit hat auch eines der unveränderbaren Sicherheitsgesetze seine Gültigkeit:

Law #3: If a bad guy has unrestricted physical access to your computer, it’s not your computer anymore.

Was kann man also tun, um Tier 0-Systeme virtualisieren zu können, ohne eine separate Tier 0-Virtualisierungsumgebung aufzubauen oder die bestehende Umgebung als Tier 0 zu behandeln? Die Antwort ist Hyper-V Host Guardian Service (HGS).

Hyper-V Host Guardian Service und Shielded VM Übersicht

Microsofts Virtualisierungs-Plattform Hyper-V bietet seit Windows Server 2016 die Möglichkeit, eine virtuelle Maschine vor dem Betreiber der Virtualisierungs-Infrastruktur – im englischen auch Fabric genannt – zu schützen.

Eine Ausführliche Dokumentation und eine detaillierte Installationsbeschreibung ist in der Windows Server-Dokumentation zu finden. In unserem Artikel gehen wir auf die grundlegende Funktionalität und auf die Mehrwerte innerhalb eines SAE Projektes ein.

Die Architektur besteht aus folgenden Hauptkomponenten:

Host Guardian Service

Der HGS überwacht die Hyper-V-Hosts und die darauf gehosteten Shielded VMs und

  • stellt sicher, dass nur eine vertrauenswürdige Person Hyper-V-Hosts Shielded VMs ausführen darf, indem sie die Integrität des Hyper-V-Hosts prüft und
  • stellt einen Key Protection Service zur Verfügung, der die Schlüssel zum Starten der Shielded VMs und für eine Live Migration auf andere Hyper-V-Hosts bereitstellt.

 

Der Host Guardian Service  besteht typischerweise aus einem 3-Knoten Windows Failover Cluster und einem „self-contained“ Active Directory. Es kann aber auch in die Root Domain in einem bestehenden Forest installiert werden. Installiert werden. Beide Optionen sind valide in unserem (E) SAE Szenario.

Guarded Host

Als Guarded Host werden die eigentlichen Hyper-V Server bezeichnet, wenn Sie von einem HGS geschützt sind.

VMs

Einer oder mehrere VMs. Ein Guarded Host kann verschiedene Typen von VMs hosten:

  • Normale VM (analog zu älteren Hyper-V-Versionen).
  • Encryption-supported VMs:
    • Der Fabric-Administrator kann dabei bestimme Sicherheitsfunktionen, wie z.B. Secure Boot deaktivieren.
  • Shielded VM:
    • Alle Sicherheitsfunktionen sind eingeschaltet und der Fabric-Administrator kann diese nicht deaktivieren.

In unserem Kontext kommen also nur Shielded VMs in Frage.

Folgende Grafik stellt die Architektur schematisch dar:

Quelle: Microsoft

Hyper-V Host Guardian Service und Shielded VMs Details

Nachdem wir nun wissen, wie uns HGS und Shielded VMs helfen, gehen wir in diesem Abschnitt näher darauf ein, wie die Gesamtlösung funktioniert.

Der Host Guardian Service stellt folgende Kernkomponenten bereit:

  • Der Attestation Service stellt sicher, dass ausschließlich vertrauenswürdige Hyper-V-Hosts Shielded VMs ausführen können. Beim Starten einer Shielded VM sendet der Hyper-V-Host einen Attestation Request an den HGS, der in Abhängigkeit des konfigurierten Attestation-Modus eine oder mehrere Prüfungen durchführt und im Erfolgsfall ein Attestation-Zertifikat an den Hyper-V-Host zurücksendet.
    • Bei einer TPM-trusted Attestation werden die TPM-Identität, die Startsequenz und die Code Integritäts-Richtlinien geprüft .
    • Bei der Host Key Attestation wird geprüft, ob der Hyper-V-Host das korrekte Zertifikat besitzt.
    • AD attestation wird mit Windows Server 2019 nicht mehr unterstützt.
  • Der Key Protection Service (KPS) stellt dem Hyper-V-Host die notwendigen Schlüssel zum Starten der Shielded VM bereit, falls der Attestation-Vorgang erfolgreich war.

In unserem Szenario ist also nur die TPM-trusted Attestation sinnvoll.

Im Folgenden sind die Kernsichersicherheitsfunktionen eines HGS mit Shielded VMs skizziert:

  • Die virtuellen Festplatten einer Shielded VM werden mit BitLocker verschlüsselt. Die Schlüssel der Shielded VM werden beim Starten der Shielded VM im Rahmen des sogenannten Attestation-Verfahrens vom HGS ausgehändigt und im virtuellen TPM der VM gespeichert. Damit kann der Hyper-V-Administrator die virtuellen Festplatten einer VM nicht mehr mounten. Bei einem administrativen Zugriff auf den HGS ist jedoch möglich, die Schlüssel zu exportieren, diese auf einem Standalone-Hyper-V-Host zu importieren und damit kann die Shielded VM auch dort gestartet werden. Die Sicherheit einer Shielded VM ist damit abhängig von der Sicherheit der auf dem HGS gespeicherten Schlüssel und deren Absicherung.
  • Der Hyper-V-Administrator kann die VM-Konfiguration wie z.B. CPU oder RAM ändern, er kann jedoch keine VM starten oder beenden und kann keine Konsolen- oder PowerShell Direct-Session öffnen. (Mit Windows Server 1803 als Hyper-V-Host sind beide Funktionen wieder aktiviert, um im Hoster-Szenario das Troubleshooting zu erleichtern. Sie sollten im (E) SAE Szenario im Guest-OS innerhalb der VM wieder deaktiviert werden.)
  • Damit der Hyper-V Admin neue VMs erstellen kann, werden sensible Informationen wie vertrauenswürdige Datenträgersignaturen, RDP-Zertifikate und das Kennwort des lokalen Administrators verschlüsselt in einer abgeschirmten Datendatei (*.pdk).
  • Optionale Templates für das Deployment von Shielded VMs werden über Signaturen abgesichert, die in einem Signaturenkatalog gespeichert werden und während der Provisionierung einer Shielded VM mit dieser verglichen werden. Nur bei Übereinstimmung der Signaturen ist die Provisionierung erfolgreich.

 

Zusammenfassung und Ausblick

Abschließend wollen wir nochmal kurz zusammenfassen, welche Vorteile der Host Guardian Service und Shielded VMs in einer (E) SAE-Umgebung bietet:

  • Die Lösung HGS mit Shielded VMs macht es möglich, den Betrieb der Virtualisierungs-Infrastuktur z.B. an ein Tier 1-Betriebsteam oder einen Provider zu übergeben und dennoch einen sicheren Betrieb zu ermöglichen.
    • Der Inhalt der virtuellen Festplatte ist verschlüsselt und kann vom Fabric-Betreiber nicht ausgelesen werden. Selbst wenn eine virtuelle Festplatte entwendet wird, kann diese auf einem anderen System nicht gestartet oder gemounted werden.
    • Der Mandant kann kontrollieren, welche Hyper-V-Hosts vertrauenswürdig sind und auf welchen abgeschirmte VMs ausgeführt werden dürfen. Nur wenn der Key Protection Service nach erfolgreicher Attestation die gültigen Schlüssel herausgegeben hat, kann die Shielded VM gestartet werden.
  • Im Falle einer Kompromittierung der Virtualisierungs-Infrastruktur sind abgeschirmte VMs und deren Daten dennoch geschützt. Eine Shielded VM wird auf einem Hyper-V-Host nur dann ausgeführt, wenn der Nachweis (Attestation) über den HGS erfolgreich war.

Da der HGS die Schlüssel verwaltet und das Sicherheitsniveau der Gesamtlösung von diesem abhängt, ist die Konsequenz, dass der HGS vom Tier 0-Betriebsteam verwaltet werden muss.

Auch wenn Hyper-V schon seit einigen Versionen eine zuverlässige Virtualisierungs-Plattform mit vielen Features ist, haben viele unserer Kunden VMWare im Einsatz. Im nächsten Blog-Artikel werden wir euch eine Möglichkeit zeigen, wie wir die gleichen Anforderungen mit VMWare umgesetzt haben.

LETZTE BEITRÄGE