Leitfaden zum Schutz vor spekulativen ausführungsseitigen Channelsicherheitsanfälligkeiten bei Windows

Gilt für: Windows Server 2019, all versionsWindows 10, version 1809Windows Server version 1803 Mehr

Zusammenfassung


Microsoft sind neue Varianten der als spekulative ausführungsseitige Channelsicherheitsanfälligkeiten bezeichneten Angriffsklasse bekannt. Bei diesen Varianten handelt es sich um L1 Terminal Fault (L1TF) und Microarchitectural Data Sampling (MDS). Ein Angreifer, der L1TF oder MDS erfolgreich ausnutzt, kann möglicherweise durch Zugriffsberechtigungen geschützte Daten über Vertrauensstellungsgrenzen hinweg lesen.

AKTUALISIERT AM 14. Mai 2019: Am 14. Mai 2019 hat Intel Informationen über eine neue Unterklasse von spekulativen ausführungsseitigen Channelsicherheitsanfälligkeiten veröffentlicht, die als Microarchitectural Data Sampling bezeichnet werden. Ihnen wurden die folgenden CVEs zugewiesen:

Übersicht über die Sicherheitsanfälligkeit


In Umgebungen mit gemeinsam genutzten Ressourcen, wie beispielsweise Virtualisierungshosts, kann ein Angreifer, der beliebigen Code auf einem virtuellen Computer ausführen kann, möglicherweise auf Informationen auf einem anderen virtuellen Computer oder auf dem Virtualisierungshost selbst zugreifen.

Für Serverworkloads wie etwa Windows Server-Remotedesktopdienste (Remote Desktop Services, RDS) und dediziertere Rollen wie etwa Active Directory-Domänencontroller besteht ebenfalls ein Risiko. Angreifer, die beliebigen Code ausführen können (unabhängig von ihren Zugriffsberechtigungen), können möglicherweise auf geheime Betriebssystem- oder Workloadinformationen wie etwa Verschlüsselungsschlüssel, Kennwörter und sonstige vertrauliche Daten zugreifen.

Für Windows-Clientbetriebssysteme besteht ebenfalls ein Risiko, insbesondere wenn sie nicht vertrauenswürdigen Code ausführen, Features der virtualisierungsbasierten Sicherheit (VBS) wie etwa Windows Defender Credential Guard verwenden oder aber mithilfe von Hyper-V virtuelle Computer ausführen.

Hinweis: Diese Sicherheitsanfälligkeiten betreffen nur Intel Core-Prozessoren und Intel Xeon-Prozessoren.

Übersicht über Risikominderungen

Zur Behebung dieser Probleme arbeitet Microsoft gemeinsam mit Intel an der Entwicklung von Softwarerisikominderungen und Leitfäden. Softwareupdates zur Reduzierung des Risikos durch diese Sicherheitsanfälligkeiten wurden veröffentlicht. Für den umfassenden Schutz sind möglicherweise Updates erforderlich, die auch Microcode von Geräte-OEMs beinhalten können.

In diesem Artikel wird beschrieben, wie Sie das Risiko der folgenden Sicherheitsanfälligkeiten reduzieren können:

  • CVE-2018-3620 – „L1 Terminal Fault – OS, SMM“
  • CVE-2018-3646 – „L1 Terminal Fault – VMM“
  • CVE-2018-11091 – „Microarchitectural Data Sampling Uncacheable Memory (MDSUM)“
  • CVE-2018-12126 – „Microarchitectural Store Buffer Data Sampling (MSBDS)“
  • CVE-2018-12127 – „Microarchitectural Load Port Data Sampling (MLPDS)“
  • CVE-2018-12130 – „Microarchitectural Fill Buffer Data Sampling (MFBDS)“

Weitere Informationen zu den Sicherheitsanfälligkeit finden Sie in den folgenden Sicherheitsempfehlungen:

L1TF: https://portal.msrc.microsoft.com/de-de/security-guidance/advisory/adv180018

MDS: https://portal.msrc.microsoft.com/de-de/security-guidance/advisory/adv190013

Bestimmen der erforderlichen Aktionen zur Reduzierung des Risikos durch diese Sicherheitsbedrohung


Mithilfe der folgenden Abschnitte können Sie von den L1TF- und/oder MDS-Sicherheitsanfälligkeiten betroffene Systeme identifizieren sowie die damit verbundenen Risiken verstehen und reduzieren.

Potenzielle Leistungsbeeinträchtigung

In Tests hat Microsoft in Abhängigkeit von der Systemkonfiguration und den erforderlichen Risikominderungen eine gewisse Leistungsbeeinträchtigung durch diese Risikominderungen festgestellt.

Manche Kunden müssen möglicherweise Hyperthreading (wird auch als „simultanes Multithreading“ oder SMT bezeichnet) deaktivieren, um das Risiko durch L1TF und MDS zu beseitigen. Beachten Sie, dass die Deaktivierung von Hyperthreading zu einer Leistungsbeeinträchtigung führen kann. Dies kann Kunden betreffen, die Folgendes verwenden:

  • Hyper-V-Versionen vor Windows Server 2016 oder Windows 10, Version 1607 (Anniversary Update)
  • Features der virtualisierungsbasierten Sicherheit (VBS) wie etwa Credential Guard und Device Guard
  • Software, mit der nicht vertrauenswürdiger Code ausgeführt werden kann (z. B. ein Build-Automatisierungsserver oder eine gemeinsam genutzte IIS-Hostumgebung)

Die Leistungsbeeinträchtigung kann je nach Hardware und den im System ausgeführten Workloads variieren. In der Regel ist Hyperthreading in der Systemkonfiguration aktiviert. Deshalb ist die Leistungsbeeinträchtigung auf den Benutzer oder Administrator begrenzt, der die Aktion zum Deaktivieren von Hyperthreading im System ausführt.

Hinweis: Gehen Sie folgendermaßen vor, um festzustellen, ob Ihr System VBS-geschützte Sicherheitsfeatures verwendet:

  1. Geben Sie im Startmenü die Zeichenfolge „MSINFO32“ ein.

    Hinweis: Das Fenster Systeminformationen wird geöffnet.
  2. Geben Sie in das Feld Suchen nach die Zeichenfolge Sicherheit ein.
  3. Suchen Sie im rechten Bereich die im Screenshot ausgewählten beiden Zeilen, und vergewissern Sie sich, dass in der Spalte Wert der Eintrag Virtualisierungsbasierte Sicherheit aktiviert ist, und stellen Sie fest, welche virtualisierungsbasierten Sicherheitsdienste ausgeführt werden.
     

    System-Infofenster


Der Hyper-V-Core-Scheduler reduziert das Risiko der L1TF- und MDS-Angriffsvektoren für virtuelle Hyper-V-Computer und lässt gleichzeitig Hyperthreading aktiviert. Der Core-Scheduler ist ab Windows Server 2016 und Windows 10, Version 1607, verfügbar. Dies bedeutet eine minimale Leistungsbeeinträchtigung für die virtuellen Computer.

Das Risiko der L1TF- und MDS-Angriffsvektoren für VBS-geschützte Sicherheitsfeatures wird durch den Core-Scheduler nicht reduziert. Weitere Informationen finden Sie unter Risikominderung C und im folgenden Virtualization Blog-Artikel:

https://aka.ms/hyperclear

Ausführliche Informationen von Intel zur Leistungsbeeinträchtigung finden Sie auf der folgenden Intel-Website:

www.intel.com/securityfirst

Identifizieren betroffener Systeme und erforderlicher Risikominderungen

Mithilfe des Flussdiagramms in Abbildung 1 können Sie betroffene Systeme identifizieren und die entsprechenden Maßnahmen bestimmen. 

Wichtig: Wenn Sie virtuelle Computer verwenden, müssen Sie das Flussdiagramm für Hyper-V-Hosts und jede betroffene Gast-VM einzeln berücksichtigen und anwenden, da Risikominderungen beide Komponenten betreffen können. Für einen Hyper-V-Host enthält das Flussdiagramm Schutzmaßnahmen zwischen VMs und Hosts. Das Anwenden dieser Risikominderungen nur auf den Hyper-V-Host ist jedoch nicht ausreichend, um Schutz zwischen VMs zu bieten. Für den Schutz zwischen VMs müssen Sie das Flussdiagramm auf jede Windows-VM anwenden. In den meisten Fällen muss deshalb sichergestellt werden, dass die Registrierungsschlüssel in der VM festgelegt sind.

Bei der Navigation im Flussdiagramm werden Sie blaue Kreise finden, die einer oder mehreren Aktionen zugeordnet sind. Diese Aktionen sind erforderlich, um das Risiko der L1TF-Angriffsvektoren speziell für Ihre Systemkonfiguration zu reduzieren. Jede gefundene Aktion muss angewendet werden. Eine grüne Linie stellt einen direkten Pfad zum Ende dar, und es gibt keine zusätzlichen Risikominderungsschritte.

Eine kurze Erläuterung der Risikominderungen finden Sie in der Legende rechts. Ausführliche Erläuterungen zu den einzelnen Risikominderungen einschließlich schrittweiser Installations- und Konfigurationsanweisungen finden Sie im Abschnitt „Risikominderungen“.

Flussdiagramm

 

Risikominderungen


Wichtig: Im folgenden Abschnitt werden Risikominderungen beschrieben, die NUR unter den speziellen Bedingungen gemäß dem Flussdiagramm in Abbildung 1 des vorherigen Abschnitts angewendet werden sollten. Wenden Sie diese Risikominderungen NUR an, wenn das Flussdiagramm besagt, dass eine bestimmte Risikominderung erforderlich ist.

Neben Software- und Microcodeupdates können auch manuelle Konfigurationsänderungen erforderlich sein, um bestimmte Schutzmaßnahmen zu aktivieren. Darüber hinaus empfehlen wir Unternehmenskunden, sich für Sicherheitsbenachrichtigungen per E-Mail zu registrieren, um bei Änderungen des Inhalts benachrichtigt zu werden. (Weitere Informationen finden Sie unter Technische Sicherheitsbenachrichtigungen von Microsoft.)

Risikominderung A

Beziehen und Anwenden der neuesten Windows-Updates

Wenden Sie alle verfügbaren Updates für Windows-Betriebssysteme an, einschließlich der monatlichen Windows-Sicherheitsupdates. Die Tabelle mit den betroffenen Produkten finden Sie in der Microsoft-Sicherheitsempfehlung | ADV 180018 für L1TF bzw. in der Microsoft-Sicherheitsempfehlung | ADV 190013 für MDS.

Risikominderung B

Beziehen und Anwenden der neuesten Microcode- oder Firmwareupdates

Neben der Installation der neuesten Windows-Sicherheitsupdates ist auch ein Update des Prozessor-Microcodes erforderlich. Die Installation dieser Updates wird durch den Geräte-OEM vorbereitet.

Hinweis: Wenn Sie die geschachtelte Virtualisierung (einschließlich ausgeführter Hyper-V-Container in einer Gast-VM) verwenden, müssen Sie die neuen Microcodeoptimierungen der Gast-VM verfügbar machen. Hierfür ist möglicherweise ein Upgrade der VM-Konfiguration auf Version 8 erforderlich. Version 8 enthält standardmäßig die Microcodeoptimierungen. Weitere Informationen und die erforderlichen Schritte finden Sie im folgenden Microsoft Docs-Artikel:

Ausführen von Hyper-V auf einem virtuellen Computer mit geschachtelter Virtualisierung

Risikominderung C

Sollte ich Hyperthreading (HT) deaktivieren?

Die L1TF- und MDS-Sicherheitsanfälligkeiten beinhalten das Risiko, dass die Vertraulichkeit von virtuellen Hyper-V-Computern und die von der virtualisierungsbasierten Sicherheit (VBS) von Microsoft verwalteten geheimen Informationen mittels eines spekulativen ausführungsseitigen Channelangriffs kompromittiert werden. Wenn Hyperthreading (HT) aktiviert ist, sind die Sicherheitsbegrenzungen von Hyper-V und VBS geschwächt.

Der Hyper-V-Core-Scheduler (verfügbar ab Windows Server 2016 und Windows 10, Version 1607) reduziert das Risiko der L1TF- und MDS-Angriffsvektoren für virtuelle Hyper-V-Computer und lässt gleichzeitig Hyperthreading aktiviert. Dies bedeutet eine minimale Leistungsbeeinträchtigung.

Das Risiko der L1TF- oder MDS-Angriffsvektoren für VBS-geschützte Sicherheitsfeatures wird durch den Core-Scheduler nicht reduziert. Die L1TF- und MDS-Sicherheitsanfälligkeiten beinhalten das Risiko, dass die Vertraulichkeit von geheimen VBS-Informationen mittels eines spekulativen ausführungsseitigen Channelangriffs kompromittiert wird. Dadurch würde die Sicherheitsbegrenzung von VBS geschwächt. Trotz dieses erhöhten Risikos bietet VBS dennoch wertvolle Sicherheitsvorteile und reduziert das Risiko einer Reihe von Angriffen bei aktiviertem Hyperthreading (HT). Deshalb sollte VBS auf Systemen mit aktiviertem HT weiterhin verwendet werden. Kunden, die das potenzielle Risiko der L1TF- und MDS-Sicherheitsanfälligkeiten für die Vertraulichkeit von VBS eliminieren möchten, sollten möglicherweise HT deaktivieren, um dieses zusätzliche Risiko zu reduzieren.

Kunden, die das Risiko der L1TF- und MDS-Sicherheitsanfälligkeiten für die Vertraulichkeit von Hyper-V-Versionen vor Windows Server 2016 oder das Risiko für VBS-Sicherheitsfunktionen eliminieren möchten, müssen die Entscheidung gut abwägen und möglicherweise HT deaktivieren, um dieses Risiko zu reduzieren. Im Allgemeinen können Sie sich bei dieser Entscheidung an die folgenden Richtlinien halten:

  • Für Windows 10, Version 1607, und Windows Server 2016 sowie neuere Systeme, bei denen Hyper-V nicht ausgeführt wird und für die VBS-geschützte Sicherheitsfeatures nicht verwendet werden, sollten Kunden HT nicht deaktivieren.
  • Für Windows 10, Version 1607, und Windows Server 2016 sowie neuere Systeme, bei denen Hyper-V mit dem Core-Scheduler ausgeführt wird, aber VBS-geschützte Sicherheitsfeatures nicht verwendet werden, sollten Kunden HT nicht deaktivieren.
  • Für Windows 10, Version 1511, und Windows Server 2012 R2 sowie ältere Systeme, bei denen Hyper-V ausgeführt wird, müssen Kunden die Deaktivierung von HT in Betracht ziehen, um dieses Risiko zu reduzieren.

Die erforderlichen Schritte zum Deaktivieren von HT hängen vom jeweiligen OEM ab. Sie sind jedoch in der Regel Bestandteil des BIOS- oder Firmwaresetups und der Konfigurationstools.

Microsoft ermöglicht nun auch die Deaktivierung der Hyperthreading-Technologie mittels einer Softwareeinstellung, falls es schwierig oder unmöglich ist, HT per BIOS- oder Firmwaresetup und Konfigurationstools zu deaktivieren. Die BIOS- oder Firmwareeinstellung hat Vorrang vor der Softwareeinstellung zum Deaktivieren von HT und diese Einstellung ist standardmäßig deaktiviert (dies bedeutet, dass für HT die BIOS- oder Firmwareeinstellung gilt). Weitere Informationen zu dieser Einstellung und wie Sie HT damit deaktivieren, finden Sie im folgenden Artikel:

Leitfaden zum Schutz vor spekulativen ausführungsseitigen Channelsicherheitsanfälligkeiten bei Windows-Servern

Es wird empfohlen, HT nach Möglichkeit im BIOS oder per Firmware zu deaktivieren, um wirklich zu garantieren, dass HT deaktiviert ist.

Hinweis: Durch Deaktivieren von Hyperthreading wird die Anzahl der verfügbaren CPU-Kerne reduziert. Dies kann Auswirkungen auf Features haben, die eine Mindestanzahl von funktionsfähigen CPU-Kernen benötigen. Beispielsweise Windows Defender Application Guard (WDAG).

Risikominderung D

Aktivieren des Hyper-V-Core-Schedulers und Festlegen der Anzahl des VM-Hardwarethreads pro Kern auf „2“

Hinweis: Diese Risikominderungsschritte gelten nur für Windows Server 2016 und ältere Windows 10-Versionen als Version 1809. Der Core-Scheduler ist unter Windows Server 2019 und Windows 10, Version 1809, standardmäßig aktiviert.

Der Core-Scheduler besteht aus einem zweistufigen Prozess, bei dem Sie zuerst den Scheduler auf dem Hyper-V-Host aktivieren und anschließend jede VM konfigurieren müssen, um sie nutzen zu können, indem Sie für die Anzahl der VM-Hardwarethreads pro Kern den Wert „2“ festlegen.

Der in Windows Server 2016 und Windows 10, Version 1607, eingeführte Hyper-V-Core-Scheduler ist eine neue Alternative zur klassischen Schedulerlogik. Der Core-Scheduler bietet eine geringere Leistungsschwankung für Workloads in VMs, die auf einem Hyper-V-Host mit aktiviertem Hyperthreading (HT) ausgeführt werden

Ausführliche Erläuterungen des Hyper-V-Core-Schedulers und der Schritte zum Aktivieren finden Sie im folgenden Windows IT Pro Center-Artikel:

Grundlegendes zu und Verwenden von Hyper-V-Hypervisor-Schedulertypen

Geben Sie folgenden Befehl ein, um den Hyper-V-Core-Scheduler unter Windows Server 2016 oder Windows 10 zu aktivieren:

bcdedit /set HypervisorSchedulerType core

Im nächsten Schritt entscheiden Sie, ob für die Anzahl der Hardwarethreads pro Kern einer bestimmten VM der Wert „2“ konfiguriert werden soll. Angesichts der Tatsache, dass virtuelle Prozessoren Hyperthreading für eine Gast-VM verwenden, ermöglichen Sie dem Scheduler im VM-Betriebssystem sowie den VM-Workloads die Verwendung von HT bei der Planung der eigenen Arbeit. Geben Sie dazu den folgenden PowerShell-Befehl ein, wobei „<VMName>“ der Name des virtuellen Computers ist:

Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2

Risikominderung E

Aktivieren von Risikominderungen für die Sicherheitsempfehlungen CVE-2017-5715 und CVE-2017-5754

Hinweis: Diese Risikominderungen sind unter Windows Server 2019 und Windows-Clientbetriebssystemen standardmäßig aktiviert.

Gehen Sie wie im folgenden Artikel beschrieben vor, um Risikominderungen für die Sicherheitsempfehlungen CVE-2017-5715 und CVE-2017-5754 zu aktivieren:

KB 4072698 | Leitfaden zum Schutz vor spekulativen ausführungsseitigen Channelsicherheitsanfälligkeiten bei Windows-Servern

KB 4073119 | Leitfaden für IT-Experten zum Schutz vor spekulativen ausführungsseitigen Channelsicherheitsanfälligkeiten bei Windows-Clients

 

Hinweis: Diese Risikominderungen beinhalten und aktivieren automatisch die Risikominderung sichere Seitenrahmenbits für den Windows-Kernel sowie für die in CVE-2018-3620 beschriebenen Risikominderungen. Eine ausführliche Erläuterung der Risikominderung „sichere Seitenrahmenbits“ finden Sie im folgenden Security Research & Defense-Blogartikel:

Analysis and mitigation of L1 Terminal Fault (L1TF)