Sichern des Startvorgangs von Windows
Windows verfügt über viele Features, mit denen Sie vor Schadsoftware geschützt werden können, und es leistet eine erstaunlich gute Arbeit. Mit Ausnahme von Apps, die von Unternehmen entwickelt und intern verwendet werden, müssen alle Microsoft Store-Apps eine Reihe von Anforderungen erfüllen, um zertifiziert zu sein und im Microsoft Store aufgenommen zu werden. Dieser Zertifizierungsprozess überprüft verschiedene Kriterien, einschließlich der Sicherheit und ist eine effektive Möglichkeit um zu verhindert, dass Schadsoftware im Microsoft Store auftritt. Selbst wenn eine schädliche App durchkommt, enthält Windows eine Reihe von Sicherheitsfeatures, die die Auswirkungen mindern können. Microsoft Store-Apps befinden sich beispielsweise im Sandkasten und verfügen nicht über die erforderlichen Rechte, um auf Benutzerdaten zuzugreifen oder Systemeinstellungen zu ändern.
Windows verfügt über mehrere Ebenen zum Schutz von Desktop-Apps und Daten. Windows Defender Antivirus verwendet cloudgestützte Echtzeiterkennung, um Apps zu identifizieren und unter Quarantäne zu stellen, die bekanntermaßen bösartig sind. Windows Defender SmartScreen warnt den Benutzer, bevor er das Ausführen einer nicht vertrauenswürdigen App zulässt, obwohl die App als Malware erkannt wurde. Bevor eine App Systemeinstellungen ändern kann, müssen Benutzer der App mit der Benutzerkontensteuerung Administratorrechte gewähren.
Diese Komponenten sind nur einige der Möglichkeiten, wie Windows Sie vor Malware schützt. Diese Sicherheitsfunktionen schützen Sie jedoch erst nach dem Starten von Windows. Moderne Malware – und insbesondere Bootkits – können sogar vor dem Start von Windows ausgeführt werden und so die Sicherheit des Betriebssystems vollständig umgehen und verborgen bleiben.
Die Ausführung von Windows 10 oder Windows 11 auf einem PC mit UEFI-Unterstützung (Unified Extensible Firmware Interface) stellt sicher, dass der vertrauenswürdige Start Ihren PC direkt beim Einschalten vor Schadsoftware schützt. Dieser Schutz wird fortgesetzt, bis Ihre Antischadsoftware übernommen wird. Wenn es Schadsoftware durch irgendeinen Zufall gelingt, Ihren PC zu infizieren, wird es nicht in der Lage sein, versteckt zu bleiben. Der vertrauenswürdige Start kann die Systemintegrität für Ihre Infrastruktur so überprüfen, dass Schadsoftware nicht maskieren kann. Auch für PCs ohne UEFI bietet Windows im Vergleich zu früheren Windows-Versionen eine verbesserte Startsicherheit.
Sehen wir uns zunächst Rootkits und deren Funktionsweise genauer an. Anschließend veranschaulichen wir, wie Windows Ihren Schutz gewährleisten kann.
Die Bedrohung: Rootkits
Rootkits sind eine komplexe und gefährliche Art von Malware. Sie werden im Kernelmodus ausgeführt und verwenden die gleichen Berechtigungen wie das Betriebssystem. Da Rootkits dieselben Berechtigungen wie das Betriebssystem haben und vor dem Betriebssystem starten, können sie sich selbst und andere Anwendungen vollständig verstecken. Rootkits sind häufig Bestandteil einer ganzen Schadsoftware-Suite, die lokale Anmeldedaten umgehen, Kennwörter und Tastaturanschlägen aufzeichnen, private Dateien übertragen und kryptografische Daten erfassen kann.
Verschiedene Arten von Rootkits werden in verschiedenen Phasen des Startvorgangs geladen:
- Firmware-Rootkits. Diese Kits überschreiben die Firmware des BIOS des PCs oder andere Hardware, damit das Rootkit vor Windows gestartet werden kann.
- Bootkits. Diese Kits ersetzen den Bootloader des Betriebssystems (das kleine Stück Software, welches das Betriebssystem startet), sodass der PC das Bootkit vor dem Betriebssystem lädt.
- Kernel-Rootkits. Diese Kits ersetzen einen Teil des Betriebssystemkernels, sodass das Rootkit automatisch gestartet werden kann, wenn das Betriebssystem geladen wird.
- Treiber-Rootkits. Diese Kits geben sich als vertrauenswürdiger Treiber aus, den Windows zum Kommunizieren mit der PC-Hardware verwendet.
Die Gegenmaßnahmen
Windows unterstützt vier Features, die verhindern, dass während des Startvorgangs Schadsoftware wie Rootkits und Bootkits geladen wird:
- Sicherer Start. PCs mit UEFI-Firmware und einem Trusted Platform Module (TPM) können so konfiguriert werden, dass nur vertrauenswürdige Betriebssystem-Bootloaders geladen werden.
- Vertrauenswürdiger Start. Windows überprüft die Integrität jeder Komponente des Startvorgangs, bevor diese geladen wird.
- Antischadsoftware-Frühstart (Early Launch Antimalware, ELAM). ELAM testet alle Treiber vor dem Laden und verhindert, dass nicht genehmigte Treiber geladen werden.
- Kontrollierter Start. Die Firmware des PCs protokolliert den Startvorgang, und Windows kann die Informationen an einen vertrauenswürdigen Server senden, der die Integrität des PCs objektiv bewerten kann.
Abbildung 1 zeigt den Windows-Startvorgang.
Abbildung 1. Sicherer Start, vertrauenswürdiger Start und kontrollierter Start, der Malware in jeder Phase blockiert:
Sicherer Start und kontrollierter Start sind nur auf PCs mit UEFI 2.3.1 und TPM-Chip möglich. Glücklicherweise verfügen alle Windows 10- und Windows 11-PCs, die das Windows-Hardware-Kompatibilitätsprogramm erfüllen, diese Anforderungen und viele PCs, die für frühere Versionen von Windows entwickelt wurden, ebenfalls.
Den folgenden Abschnitten wird der sichere Start, der vertrauenswürdige Start, ELAM und der kontrollierte Start beschrieben.
Sicherer Start
Wenn ein PC gestartet wird, wird zuerst der Betriebssystem-Bootloader gefunden. PCs ohne sicheren Start führen jeden Bootloader aus, das sich auf der PC-Festplatte befindet. Der PC kann nicht erkennen, ob es sich um ein vertrauenswürdiges Betriebssystem oder ein Rootkit handelt.
Wenn ein PC mit UEFI gestartet wird, überprüft der PC zunächst, ob die Firmware digital signiert ist und reduziert so das Risiko der Firmware Rootkits. Wenn der sichere Start aktiviert ist, überprüft die Firmware die digitale Signatur des Bootloaders, um sicherzustellen, dass er nicht geändert wurde. Wenn das Startladeprogramm intakt ist, beginnt die Firmware nur dann das Startladeprogramm, wenn eine der folgenden Bedingungen zutrifft:
- Das Startladeprogramm wurde mit einem vertrauenswürdigen Zertifikat signiert. Für PCs, die für Windows zertifiziert sind, ist das Microsoft-Zertifikat vertrauenswürdig.
- Der Benutzer hat die digitale Signatur des Bootloaders manuell genehmigt. Diese Aktion erlaubt dem Benutzer das Laden von Nicht-Microsoft-Betriebssystemen.
Alle auf x86-basierten Windows-zertifizierten PCs müssen bestimmte Anforderungen im Zusammenhang mit dem sicheren Start erfüllen:
- Der sichere Start muss standardmäßig aktiviert sein.
- Sie müssen dem Zertifikat von Microsoft (und damit jedem von Microsoft signierten Bootloader) vertrauen.
- Sie müssen dem Benutzer erlauben, den sicheren Start so zu konfigurieren, dass anderen Startladeprogrammen vertraut wird.
- Sie müssen dem Benutzer erlauben, den sicheren Start vollständig zu deaktivieren.
Diese Anforderungen bieten Schutz gegen Rootkits und erlauben Ihnen gleichzeitig, jedes beliebige von Ihnen gewünschte Betriebssystem auszuführen. Sie haben drei Optionen zum Ausführen nicht von Microsoft stammender Betriebssysteme:
- Verwenden Sie ein Betriebssystem mit einem zertifizierten Bootloader. Da alle Windows-zertifizierten PCs dem Microsoft-Zertifikat vertrauen müssen, bietet Microsoft einen Dienst zum Analysieren und Signieren aller Microsoft-fremden Bootloader an, sodass ihnen von allen Windows-zertifizierten PCs vertraut wird. Ein Open-Source-Startladeprogramm, das Linux laden ist, steht bereits zur Verfügung. Wechseln Sie zu https://partner.microsoft.com/dashboard, um das Zertifikat abzurufen.
- Konfigurieren Sie UEFI, um Ihrem benutzerdefinierten Startladeprogramm zu vertrauen. Alle Windows-zertifizierten PCs ermöglichen Ihnen, einem nicht zertifizierten Bootloader zu vertrauen, indem sie eine Signatur für die UEFI-Datenbank hinzufügen, damit Sie jedes (auch selbst erstellte) Betriebssystem ausführen können.
- Deaktivieren Sie den sicheren Start. Alle Windows-zertifizierten PCs ermöglichen Ihnen, den sicheren Start zu deaktivieren, sodass beliebige Software ausgeführt werden kann. Diese Aktion schützt Sie jedoch nicht vor Bootkits.
Um zu verhindern, dass Schadsoftware diese Optionen missbraucht, muss der Benutzer die UEFI-Firmware manuell so konfigurieren, dass sie einem nicht zertifizierten Startladeprogramm vertraut, oder er muss den sicheren Start deaktivieren. Software kann die Einstellungen für den sicheren Start nicht ändern.
Der Standardstatus von "Sicherer Start" verfügt über einen großen Vertrauenskreis, was dazu führen kann, dass Kunden Startkomponenten vertrauen, die sie möglicherweise nicht benötigen. Da das Microsoft 3-Zertifikat der UEFI-Zertifizierungsstelle die Bootloader für alle Linux-Distributionen signiert, erhöht die Vertrauenswürdigkeit der Microsoft 3-Signatur der UEFI-Zertifizierungsstelle in der UEFI-Datenbank die Angriffsfläche von Systemen. Ein Kunde, der nur einer einzelnen Linux-Distribution vertrauen und diese starten möchte, vertraut allen Distributionen – mehr als die gewünschte Konfiguration. Eine Schwachstelle in einem der Bootloader setzt das System und den Kunden dem Risiko von Exploits durch einen Bootloader aus, den er nie verwenden wollte, wie jüngste Sicherheitsrisiken zeigen, z. B. mit dem GRUB-Bootloader oder einem Rootkit auf Firmwareebene, die Startkomponenten betreffen. Für Secured-Core-PCs muss der sichere Start aktiviert und so konfiguriert werden, dass die Drittanbieter-UEFI-ZS-Signatur von Microsoft standardmäßig als nicht vertrauenswürdig gilt, um Kunden die sicherste Konfiguration ihrer PCs zu ermöglichen.
Um Betriebssystemen wie Linux und von der UEFI-Signatur signierten Komponenten zu vertrauen und diese zu starten, können Secured-Core-PCs im BIOS-Menü so konfiguriert werden, dass die Signatur in der UEFI-Datenbank hinzugefügt wird. Gehen Sie dazu folgendermaßen vor:
- Öffnen Sie das Firmwaremenü; wählen Sie dazu eine der folgenden Methoden:
- Starten Sie den PC, und drücken Sie die Herstellertaste, um die Menüs zu öffnen. Häufig verwendete Tasten: ESC, LÖSCHEN, F1, F2, F10, F11 oder F12. Auf Tablets werden häufig die Tasten "Lauter" oder "Leiser" verwendet. Während des Starts gibt es häufig einen Bildschirm, auf dem der Schlüssel erwähnt wird. Wenn es keinen gibt oder der Bildschirm zu schnell vorbeigeht, um ihn zu sehen, überprüfen Sie die Website Ihres Herstellers.
- Wenn Windows bereits installiert ist, wählen Sie entweder auf dem Anmeldebildschirm oder im Startmenü Ein/Aus ( ) > umschalten, während Sie Neu starten auswählen. Wählen Sie Problembehandlung > Für UEFI-Firmwareeinstellungen erweiterte Optionen > aus.
- Navigieren Sie im Firmwaremenü zu Sicherheit > Sicherer Start, und wählen Sie die Option aus, um der "Drittanbieterzertifizierungsstelle" zu vertrauen.
- Speichern Sie Änderungen, und schließen Sie das Fenster.
Microsoft arbeitet laufend mit Linux- und IHV-Ökosystempartnern zusammen, um Features mit den geringsten Berechtigungen zu entwickeln, damit Sie geschützt bleiben und nur den Herausgebern und Komponenten im System vertrauen, denen Sie auch wirklich vertrauen.
Wie die meisten Mobilgeräte sind ARM-basierte Geräte wie das Microsoft Surface RT-Gerät so konzipiert, dass sie nur Windows 8.1 ausführen. Daher kann der sichere Start nicht deaktiviert werden, und Sie können kein anderes Betriebssystem laden. Es gibt glücklicherweise einen großen Markt von Geräten mit ARM-Prozessoren, die andere Betriebssysteme ausführen können.
Vertrauenswürdiger Start
Der vertrauenswürdige Start übernimmt dort, wo der sichere Start aufhört. Der Bootloader prüft die digitale Signatur des Windows-Kernels, bevor dieser geladen wird. Der Windows-Kernel überprüft wiederum jede andere Komponente des Windows-Startprozesses, einschließlich der Starttreiber, Startdateien und ELAM. Wenn eine Datei geändert wurde, erkennt das Startladeprogramm das Problem und weigert sich, die beschädigte Komponente zu laden. Häufig kann Windows die beschädigte Komponente automatisch reparieren, die Integrität von Windows wiederherstellen und den normalen Start des PCs ermöglichen.
Frühstart an Schadsoftware
Da der sichere Start das Startladeprogramm und der vertrauenswürdige Start den Windows-Kernel geschützt hat, ist die nächste Angriffsgelegenheit für die Schadsoftware die Infizierung eines nicht von Microsoft stammenden Starttreibers. Herkömmliche Anti-Malware-Apps starten erst, nachdem die Starttreiber geladen wurden, was einem als Treiber getarnten Rootkit die Möglichkeit gibt, zu arbeiten.
Early Launch Anti-Malware (ELAM) kann einen Microsoft- oder Nicht-Microsoft-Antischadsoftwaretreiber vor allen Nicht-Microsoft-Starttreibern und -anwendungen laden und so die Vertrauenskette fortsetzen, die durch den sicheren Start und den vertrauenswürdigen Start eingerichtet wurde. Da das Betriebssystem noch nicht gestartet wurde, und da Windows so schnell wie möglich gestartet werden muss, hat ELAM eine einfache Aufgabe: jeden Starttreiber zu untersuchen und zu bestimmen, ob er auf der Liste der vertrauenswürdigen Treiber steht. Wenn es nicht vertrauenswürdig ist, lädt Windows es nicht.
Ein ELAM-Treiber ist keine vollwertige Anti-Malware-Lösung, diese wird später im Startprozess geladen. Windows Defender (in Windows enthalten) unterstützt ELAM, ebenso wie mehrere nicht von Windows stammende Anti-Malware-Apps.
Kontrollierter Start
Wenn ein PC in Ihrer Organisation mit einem Rootkit infiziert wird, müssen Sie darüber Bescheid wissen. Anti-Malware-Apps für Unternehmen können Malwareinfektionen an die IT-Abteilung melden, dies funktioniert allerdings nicht für Rootkits, die ihre Anwesenheit verbergen. Mit anderen Worten: Sie können nicht darauf vertrauen, dass der Client Ihnen sagt, ob er fehlerfrei ist.
Daher erscheinen mit Rootkits infizierte PCs fehlerfrei, auch wenn Antischadsoftware ausgeführt wird. Infizierten PCs stellen auch weiterhin eine Verbindung mit dem Netzwerk des Unternehmens her und geben so dem Rootkit Zugriff auf große Mengen an vertraulichen Daten und lassen potenziell zu, dass das Rootkit auf dem internen Netzwerk verteilt wird.
Kontrollierter Start funktioniert mit dem TPM und mit nicht von Microsoft stammender Software in Windows. Es ermöglicht einem vertrauenswürdigen Server im Netzwerk, die Integrität des Windows-Startprozesses zu überprüfen. Der kontrollierte Start verwendet folgenden Prozess:
- Die UEFI-Firmware des PCs speichert im TPM einen Hash der Firmware, des Bootloaders, der Starttreiber und alles, was vor der Antischadsoftware-App geladen wird.
- Am Ende des Startvorgangs startet Windows den Nicht-Microsoft-Client für dem Remotenachweis. Der vertrauenswürdige Integritätsnachweis-Server sendet dem Client einen eindeutigen Schlüssel.
- Das TPM verwendet den eindeutigen Schlüssel, um das von der UEFI aufgezeichnete Protokoll digital zu signieren.
- Der Client sendet das Protokoll an den Server, eventuell zusammen mit anderen Sicherheitsinformationen.
Je nach Implementierung und Konfiguration kann der Server jetzt ermitteln, ob der Client fehlerfrei ist. Er kann dem Client entweder Zugriff auf ein eingeschränktes Quarantänenetzwerk oder auf das gesamten Netzwerk gewähren.
Abbildung 2 zeigt den kontrollierten Start und Remotenachweisprozess.
Abbildung 2. Der kontrollierte Start beweist die Integrität des PCs gegenüber einem Remoteserver.:
Windows enthält die Anwendungsprogrammierschnittstellen, um den gemessenen Start zu unterstützen. Um dies nutzen zu können, benötigen Sie jedoch Nicht-Microsoft-Tools, um einen Remotenachweisclient und einen vertrauenswürdigen Nachweisserver zu implementieren. Sehen Sie sich beispielsweise die folgenden Tools von Microsoft Research an:
Der kontrollierte Start verwendet die Leistungsfähigkeit von UEFI, TPM und Windows, damit Sie eine Möglichkeit haben, die Vertrauenswürdigkeit des Client-PCs über das Netzwerk zuverlässig zu bewerten.
Zusammenfassung
Sicherer Start, vertrauenswürdiger Start und kontrollierter Start erstellen eine Architektur, die grundsätzlich widerstandsfähiger gegen Bootkits und Rootkits ist. In Windows können diese Features potenzielle Schadsoftware auf Kernel-Ebene aus dem Netzwerk beseitigen. Mit Windows können Sie der Integrität Ihres Betriebssystems vertrauen.