Schützen der Vor-Betriebssystemumgebung mit UEFI

Wir haben einige Kommentare zur Implementierung des sicheren Starts durch Microsoft erhalten. Leider scheinen viele dieser Kommentare von falschen Voraussetzungen auszugehen. Daher möchten wir diesen Beitrag nutzen, um genauer zu beschreiben, wie UEFI den sicheren Start ermöglicht, und welche Möglichkeiten PC-Herstellern zur Verfügung stehen. Besonders wichtig hierbei ist, dass wir einen kompromisslosen Ansatz bezüglich der Sicherheit von Kunden verfolgen, während gleichzeitig die Kontrolle über den PC vollständig erhalten bleibt. Dieser Beitrag stammt von Tony Mangefeste vom Ecosystem-Team. – Steven

Kurzzusammenfassung

  • UEFI ermöglicht die Implementierung von Sicherheitsrichtlinien über die Firmware.
  • Der sichere Start ist ein UEFI-Protokoll und kein Feature von Windows 8.
  • Der sichere Start von UEFI ist Teil der Architektur für den sicheren Start von Windows 8.
  • Windows 8 nutzt den sicheren Start, um die Sicherheit der Vor-Betriebssystemumgebung zu gewährleisten.
  • Betriebssystem-Ladeprogramme werden durch den sicheren Start nicht "gesperrt", vielmehr handelt es sich um eine Richtlinie, die der Firmware die Überprüfung der Authentizität von Komponenten ermöglicht.
  • OEMs haben die Möglichkeit, ihre Firmware an Kundenanforderungen anzupassen, indem sie das Maß an Zertifikats- und Richtlinienverwaltung auf der Plattform festlegen.
  • Microsoft verlangt bzw. kontrolliert keinerlei Einstellungen an PC-Firmware, die den sicheren Start von Betriebssystemen, bei denen es sich nicht um Windows handelt, steuern oder ermöglichen.

Das Gesamtbild: keine Kompromisse bei der Sicherheit

Das UEFI-Protokoll für den sicheren Start bildet die Grundlage für einen architekturneutralen Ansatz bei Plattform- und Firmwaresicherheit. Ausgehend vom PKI (Public Key Infrastructure)-Prozess zur Überprüfung von Firmware-Images vor dem Ausführen trägt der sichere Start dazu bei, Angriffe auf Startladeprogramme zu verhindern. Microsoft nutzt dieses Protokoll in Windows 8, um die Plattformsicherheit für Kunden zu erhöhen.

 Diagramm der Plattformintegritätsarchitektur von Windows 8: 1. Der sichere Start verhindert das Ausführen unbekannter Betriebssystem-Ladeprogramme. 2. Der Kernel startet zunächst ELAM (Early Launch Anti-Malware)-Treiber, die Richtlinien für Drittanbietertreiber und -anwendungen erzwingen. 3. Die Systemstart-Zustandsdaten wurden beim Start im TPM gespeichert. 4. Die Antimalware-Software kann die TPM-Daten an eine Remoteprüfung übergeben, um den ordnungsgemäßen Zustand des Clients sicherzustellen.
Abbildung 1 – Plattformintegritätsarchitektur

Microsoft arbeitet gemeinsam mit seinen Partnern daran, dass der sichere Start ein hohes Maß an Sicherheit für unsere Kunden gewährleistet. Microsoft unterstützt OEMs mit der Flexibilität, zu entscheiden, wer die Sicherheitszertifikate verwaltet. So kann Kunden neben dem Importieren auch das Verwalten dieser Zertifikate und des sicheren Starts ermöglicht werden. Wir sind davon überzeugt, dass diese Flexibilität unterstützt und Kunden die Entscheidung über die Verwaltung ihrer Systeme überlassen werden sollte.

Für Windows-Kunden verwendet Microsoft das Windows Certification-Programm, um sicherzustellen, dass bei mit Windows 8 ausgelieferten Systemen der sichere Start standardmäßig aktiviert ist, dass die Firmware keine Softwareeingriffe in den sicheren Start zulässt (um zu verhindern, dass die Sicherheitsrichtlinien der Firmware durch Malware außer Kraft gesetzt werden) und dass OEMs nicht autorisierte Firmwareupdates verhindern, die die Systemintegrität beeinträchtigen können.

Die meisten dieser Richtlinien sind kein neuer Bestandteil der UEFI-Firmware, und die meisten modernen PCs verfügen über eine Art der Firmwareüberprüfung. Selbst bei der veralteten Lösung, dem BIOS-Kennwort, handelt es sich um eine Art des sicheren Starts, der sich seit Jahren in der Hand von OEMs und Endbenutzern befindet. Jedoch tragen die Branche und Microsoft mit dem sicheren Start und UEFI dazu bei, für eine höhere Systemintegrität zu sorgen, und bieten Kunden einen wirksamen Schutz vor einer wachsenden Klasse von Bedrohungen.

Was ist UEFI?

UEFI (Unified Extensible Firmware Interface) wird durch das UEFI-Forum verwaltet, einem Zusammenschluss von Chipsatz-, Hardware-, System-, Firmware- und Betriebssystemherstellern. Das Forum pflegt die Spezifikationen, Testtools und Referenzimplementierungen, die in zahlreichen UEFI-PCs zum Einsatz kommen. Microsoft ist Mitglied im Vorstand des Forums, dem alle Einzelpersonen und Unternehmen kostenlos beitreten können.

UEFI definiert die nächste Generation der Firmware-Schnittstellen von PCs. Die BIOS (Basic Input and Output System)-Firmware, die ursprünglich in Assembly und mit Softwareinterrupts für I/O erstellt wurde, definierte das PC-Ökosystem und dessen Startvorgang – doch haben Veränderungen in der Computerlandschaft den Weg für eine "moderne" Firmwaredefinition für die nächste Generation von Tablets und Geräten geebnet.

Zweck von UEFI ist die Definition eines Standards für die Kommunikation von Betriebssystemen mit der Plattformfirmware während des Startvorgangs. Vor UEFI bildeten Softwareinterrupts den primären Mechanismus für die Kommunikation mit der Hardware während des Startvorgangs. Moderne PCs sind in der Lage, I/O zwischen Hard- und Software schneller und effizienter zu blockieren – außerdem erlaubt UEFI Entwürfe, die das volle Potenzial der Hardware ausschöpfen.

UEFI ermöglicht ein modulares Firmwaredesign, das den Hardware- und Systemdesignern größere Flexibilität beim Entwurf der Firmware für anspruchsvollere moderne Computerumgebungen gestattet. Wo I/O auf Softwareinterrupts beschränkt war, bietet UEFI das Konzept ereignisbasierter, architekturneutraler Codierungsstandards.

Was ist der sichere Start?

UEFI verfügt über einen Überprüfungsprozess für die Firmware, der als sicherer Start bezeichnet und in Kapitel 27 der UEFI 2.3.1-Spezifikation definiert wird. Der sichere Start legt fest, wie die Plattformfirmware Sicherheitszertifikate sowie die Überprüfung der Firmware handhabt, und stellt eine Definition der Schnittstelle (Protokoll) zwischen Firmware und Betriebssystem dar.

Die Plattformintegritätsarchitektur von Microsoft schafft dank der Plattformfirmware mit dem sicheren Start von UEFI und den in der Firmware gespeicherten Sicherheitszertifikaten eine vertrauenswürdige Grundlage. Malware-Exploits nutzen zunehmend den Startpfad als bevorzugte Angriffsfläche. Vor dieser Klasse von Angriffen war ein Schutz nur schwer möglich, da Antimalware-Produkte durch die Schadsoftware außer Kraft gesetzt werden, indem diese verhindert, dass die Antimalware-Lösung vollständig geladen wird. Dank der Windows 8-Architektur für den sicheren Start und dessen Vertrauensgrundlage werden Kunden vor der Ausführung von böswilligem Code im Startpfad geschützt, indem sichergestellt wird, dass ausschließlich signierter und als vertrauenswürdig zertifizierter Code bzw. Startladeprogramme vor dem Laden des eigentlichen Betriebssystems ausgeführt werden können.

Bei den meisten modernen PCs ist die Vor-Betriebssystemumgebung unzureichend vor Angriffen geschützt, bei denen die Bereitstellung der Startladeprogramme an möglicherweise böswillige Ladeprogramme umgeleitet wird. Dieser Ladeprogramme werden von den Sicherheitsmaßmaßnahmen und der Antimalware-Software des Betriebssystems nicht erkannt.

Bestehender Startvorgang: BIOS > beliebiger Code von Betriebsystem-Ladeprogrammen > Start des Betriebssystems
Abbildung 2 – Veralteter BIOS-Startpfad

Windows 8 behebt diese Anfälligkeit mit dem sicheren Start von UEFI sowie den Richtlinien der Firmware und Zertifikaten, die sicherzustellen, dass ausschließlich ordnungsgemäß signierte und authentifizierte Komponenten ausgeführt werden.

Sicherer Start mit Windows 8: Systemeigenes UEFI 2.3.1 > nur überprüfte Betriebssystem-Ladeprogramme > Start des Betriebssystems
Abbildung 3 – Sicherer Startpfad mit UEFI

Der sichere Start ist nur ein Teil der Plattformintegrität von Windows 8. Neben UEFI verfolgt Microsoft einen ganzheitlichen Ansatz zum besseren Schutz der Plattform mithilfe von anderer verfügbarer Hardware.

Hintergrund: Funktionsweise

Beim Einschalten eines PCs beginnt die Ausführung des Codes zur Konfiguration des Prozessors, des Speichers und der Hardwareperipherie in Vorbereitung auf den Start des Betriebssystems. Dieser Prozess ist auf allen Plattformen gleichartig, ungeachtet der zugrunde liegenden Siliziumarchitektur (x86, ARM usw.).

Kurz nach dem Einschalten des Systems und vor der Übergabe des Startladeprogramms wird von der Firmware die Signatur des Firmwarecodes der Hardwareperipherie wie Netzwerkkarten, Speichergeräten und Grafikkarten überprüft. Dieser Gerätecode, der auch als Option ROMs bezeichnet wird, setzt den Konfigurationsvorgang fort, mit dem sichergestellt wird, dass die Peripherie auf die Übergabe an das Betriebssystem vorbereitet ist.

Während dieses Abschnitts des Startvorgangs überprüft die Firmware (wie eine Anwendung) die im Firmwaremodul eingebettete Signatur und gestattet die Ausführung des Moduls, wenn die Signatur der in einer Datenbank gespeicherten Firmwaresignatur entspricht. Diese Signaturen werden in einer Firmwaredatenbank gespeichert. Bei diesen Datenbanken handelt es sich um Listen zur Genehmigung bzw. Verweigerung, mit denen festgelegt wird, ob der Startvorgang fortgesetzt werden kann.

Diagramm mit den Listen "Genehmigt" und "Verweigert" (Malware-Hashes), die über KEK und Plattformschlüsselzertifikate gesteuert werden
Abbildung 4 – Sicherheitsdatenbanken für Zertifikate

Diese Abbildung stellt die Hierarchie der Signaturen und Schlüssel in einem System mit sicherem Start dar. Die Plattform wird mit einem Plattformschlüssel gesichert, der vom OEM während der Herstellung in der Firmware installiert wird. Dieser Vorgang kommt in den meisten heutzutage ausgelieferten Systemen zum Einsatz – ganz gleich, ob diese UEFI oder ein veraltetes BIOS verwenden. (Anwendungen wie Firmwareupdateprogramme verwenden den Plattformschlüssel zum Schutz des Firmware-Images.) Beim sicheren Start werden weitere Schlüssel als Zugriffsschutz für die Datenbanken verwendet, in denen die Schlüssel für die Genehmigung bzw. Verweigerung der Ausführung der Firmware gespeichert sind.

Die Datenbank mit den Genehmigungen enthält Schlüssel, die vertrauenswürdige Firmwarekomponenten und vor allem Betriebssystem-Ladeprogramme bezeichnen. Eine weitere Datenbank enthält Hashes von Malware sowie Firmware und blockiert die Ausführung dieser Malware-Komponenten. Die Wirksamkeit dieser Richtlinien beruht auf der Signatur von Firmware mithilfe von Authenticode und PKI (Public Key Infrastructure). Bei PKI handelt es sich um einen bewährten Vorgang zum Erstellen, Verwalten und Sperren von Zertifikaten, der während des Informationsaustauschs eine Vertrauensbasis schafft. PKI bildet den Kern des Schutzmodells beim sicheren Start.

Was ist für den sicheren Start erforderlich?

Der sichere Start erfordert eine Firmware, die mindesten der UEFI-Version 2.3.1 entspricht. Das UEFI-Forum hat die neueste Version ratifiziert, mit der die Richtlinien in Kapitel 27 aktualisiert werden, um das vorhandene Protokoll für den sicheren Start mit zeitauthentifizierten Variablen, stärkeren Schlüsseln für die Verschlüsselung und einer Verdeutlichung der Speicherung dieser Zertifikate zu verbessern.

Dieses Feature ist für PC-Käufer transparent. Der Vorteil liegt darin, dass ihre Systeme über einen zusätzlichen Schutz vor Bootkit- und Rootkit-Angriffen verfügen, der wie oben beschrieben Anfälligkeiten behebt, die vor dem Laden des Betriebssystem bestehen.

Wer hat die Kontrolle?

Letztendlich hat der Kunde die Kontrolle über seinen PC. Microsoft möchte den Kunden die höchstmögliche Sicherheit zur Verfügung stellen und das Treffen eigener Entscheidungen ermöglichen. Diese Flexibilität bieten wir unseren Kunden in Zusammenarbeit mit unseren OEMs. Mit UEFI und dem sicheren Start sind die Systeme der meisten Kunden vor Angriffen mit Startladeprogrammen geschützt. Jedoch können Kunden bei Bedarf auch ältere Betriebssysteme ausführen – die Entscheidung liegt bei ihnen.

Eine Demo dieser Funktion findet sich auf dem Samsung-Tablet mit der Windows 8 Developer Preview, dass BUILD-Teilnehmer erhalten haben. Im folgenden Screenshot sehen Sie die Möglichkeit, den sicheren Start zu deaktivieren. Dies erfolgt jedoch auf eigenes Risiko. OEMs können selbst entscheiden, ob sie diese Option unterstützen möchten, und haben zudem die Möglichkeit, die im Vorangegangenen beschriebenen Parameter weiter anzupassen, um ihren Kunden den bestmöglichen Schutz zu bieten. In Bezug auf Windows wurde lediglich daran gearbeitet, die beste Betriebssystemunterstützung für ein Szenario zu bieten, das für viele End- und Unternehmenskunden von Interesse sein wird.

Bild einer Konsole mit den Optionen für die TPM-Konfiguration: Enable virtualization [Enabled], CSM Support [Disabled], Attempt Secure Boot [Enabled], Display Rev. Info - Intel UEFI...
Abbildung 5 – Einstellung für den sicheren Start des Samsung-PCs

Tony Mangefeste
Ecosystem