# BitLocker

BitLocker ist eine proprietäre Festplattenverschlüsselung des Unternehmens Microsoft, die zu den Features von Windows gehört. Nach dem Prinzip der vollständigen Festplattenverschlüsselung werden mit dieser Software Daten geschützt.
In der Standardeinstellung verwendet BitLocker AES im Cipher Block Chaining (CBC) oder im XTS-Modus mit einem 128 Bit oder 256 Bit langen Schlüssel. CBC wird nicht über das gesamte Laufwerk angewendet, sondern auf den einzelnen Sektoren.

## Geschichte

BitLocker entstand als ein Teil von Microsofts Next-Generation Secure Computing Base-Architektur im Jahr 2004 als ein Feature, das zunächst mit dem Codename „Cornerstone“ bezeichnet wurde und dessen Zweck es war, Informationen auf Speichergeräten zu schützen, besonders vor dem Diebstahl oder dem Verlust des Speichergeräts. Ein anderes Feature mit dem Namen „Code Integrity Rooting“ sollte die Integrität der Windows-Boot- und Systemdateien validieren. Zusammen mit einem kompatiblen Trusted Platform Module (TPM) eingesetzt, kann BitLocker die Integrität von Booting- und Systemdateien validieren, bevor ein geschütztes Laufwerk entschlüsselt wird – eine fehlgeschlagene Validierung wird den Zugriff auf das geschützte System verweigern.
BitLocker ist ab Windows Vista zwar grundsätzlich in allen Editionen von Windows enthalten, kann allerdings neben den Server-Versionen ab Windows Server 2008 nur in den Ultimate- und Enterprise-Versionen von Windows Vista und Windows 7 sowie den Pro- und Enterprise-Versionen von Windows 8, Windows 8.1, Windows 10 und Windows 11 zur Verschlüsselung, u. a. des Systemlaufwerks, verwendet werden. Eine Ausnahme dazu ist „BitLocker to Go“, mit dem eine Nutzung bereits verschlüsselter (USB-)Datenträger ab Windows XP möglich ist, sowie die auf BitLocker basierende eingeschränkte „Geräteverschlüsselung“ in Windows 10 und 11 Home.
Seit Windows Server 2012 und Windows 8 unterstützt BitLocker die Microsoft-Encrypted-Hard-Drive-Spezifikation. Festplatten, die diese Spezifikation erfüllen, können die kryptografischen Operationen von BitLocker und damit vom Hauptsystem übernehmen und auf dem Speichergerät ausführen.

## Funktionsweise

Ursprünglich konnte die Benutzeroberfläche von BitLocker in Windows Vista nur das Systemlaufwerk verschlüsseln. Ab Service Pack 1 für Vista und Windows Server 2008 konnten auch andere Laufwerke verschlüsselt werden. Einige Funktionen von BitLocker, wie das automatische Sperren, mussten trotzdem über ein Kommandozeilenprogramm bedient werden.
Um das Systemlaufwerk verschlüsseln zu können, benötigte BitLocker unter Windows 7 eine eigene Partition der Festplatte, welche bei Bedarf automatisch erstellt wurde. Es startet vor dem Betriebssystem und greift standardmäßig auf ein Trusted Platform Module (TPM) zu, um zu prüfen, ob die Hardware unverändert und somit vertrauenswürdig ist. Microsoft empfiehlt, zusätzlich die Eingabe einer PIN zu erzwingen. Allerdings war bei Auswahl der PIN darauf zu achten, dass diese bei der Startroutine zu einem Zeitpunkt abgefragt wird, bei dem länderspezifische Einstellungen der Tastatur noch nicht geladen waren, also die Tastatur immer dem US-englischen Standard entspricht. Damit sind Y und Z gegenüber der deutschen Tastatur vertauscht, Sonderzeichen liegen vielfach auf anderen Tasten, Umlaute können nicht per Tastatur eingegeben werden. Alternativ oder zusätzlich zur PIN kann das Starten des Systems davon abhängig gemacht werden, ob ein USB-Stick mit einer Schlüsseldatei eingesteckt ist. Wenn keines von beidem konfiguriert wird, tritt BitLocker nicht in Erscheinung, solange die Umgebung der Festplatte unverändert bleibt. Bei Computern ohne TPM kann alternativ eine Schlüsseldatei auf einem USB-Stick zum Einsatz kommen oder die Eingabe eines Passwortes vorgesehen werden.
Gegenüber Windows Vista unterstützt BitLocker ab Windows 7 auch die Verschlüsselung von USB-Medien („BitLocker to Go“), welche auch unter Windows Vista und Windows XP gelesen werden können.
Es ist grundsätzlich auch möglich, die Systempartition gänzlich ohne TPM zu verschlüsseln und stattdessen die PIN-Eingabe zu verwenden.

## Recovery-Funktionalität

BitLocker speichert die Recovery-Daten zur Entschlüsselung der Partition ohne Passwort während des Verschlüsselungsprozesses im Klartext auf einem Datenträger und in gemanagten Umgebungen zusätzlich in das Active Directory. Hier wird pro Partition ein Key angelegt. Wenn ein TPM-Chip verwendet wird, so wird dessen Recovery-Passwort ebenfalls abgelegt. Für eine Entschlüsselung ist entweder das ursprüngliche Passwort oder das TPM-Passwort notwendig, eine Challenge-Response-Authentifizierung ist derzeit nicht vorgesehen.

## Potenzielle Sicherheitsprobleme
### TPM alleine ist nicht genug

Wird BitLocker ohne zusätzliche PIN (nur Trusted Platform Module (TPM)) eingesetzt, ist BitLocker transparent für den User. Beim Starten des verschlüsselten Geräts wird die eingebaute TPM-Hardware verwendet, um zu erkennen, ob nicht autorisierte Änderungen an der Pre-Boot-Umgebung, einschließlich BIOS und MBR, vorgenommen wurden. Wenn nicht autorisierte Änderungen erkannt werden, fordert BitLocker einen Wiederherstellungsschlüssel an. Ansonsten startet das Gerät, ohne dass weitere Interaktion nötig ist. Dadurch ist es beispielsweise nicht möglich von einem alternativen Betriebssystem zu booten und auf Daten im BitLocker gesicherten Betriebssystem zuzugreifen. Es gibt allerdings mehrere mögliche Angriffe auf diese Konfiguration von BitLocker:
* Bei der Kaltstartattacke (englisch cold boot attack) handelt es sich um einen Angriff, bei dem der Arbeitsspeicher des Systems ausgelesen wird, nachdem das System abgeschaltet wurde. Sie basiert auf der Datenremanenz in gängigen RAM-Modulen, da sich die Daten nicht innerhalb von Millisekunden, sondern erst nach und nach langsam über Sekunden bis Minuten verflüchtigen. Werden die Speichermodule gekühlt, verlängert sich diese Remanenzzeit drastisch. In der Praxis wird die Kühlung oft mit Kältespray durchgeführt. Als Gegenmaßnahme sollte immer eine BitLocker-PIN gesetzt sein. Zusätzlich sollten Systeme möglichst immer heruntergefahren werden und selbst beim Aufwachen aus dem Standby eine BitLocker-PIN-Eingabe erzwungen werden.
* Es gibt außerdem mehrere Angriffe auf die Kommunikation zwischen dem Trusted Platform Module und der CPU. Dabei wird direkt auf dieser Verbindung mitgelesen und so der BitLocker Schlüssel ausgelesen. Dieser Angriff funktioniert nur, wenn keine BitLocker-PIN vergeben ist, da die Kommunikation zwischen TPM und CPU erst startet, sobald die korrekte PIN eingegeben wurde.
* Eine weitere Möglichkeit, über die mit BitLocker verschlüsselte Systeme angegriffen werden können, ist Direct Memory Access. Dabei wird nicht direkt BitLocker angegriffen, sondern das dadurch geschützte System. Wird BitLocker ohne PIN eingesetzt, basiert die weitere Sicherheit auf dem Anmeldebildschirm bzw. sicheren Passwörtern. Angreifer können über Direct Memory Access aber direkt auf den Arbeitsspeicher zugreifen und so beispielsweise Kommandos mit lokalen Adminrechten ausführen. Dieser direkte Speicherzugriff funktioniert beispielsweise über Thunderbolt. Als Gegenmaßnahme gibt es die Einstellung "Kernel DMA Protection". Ist diese Einstellung aktiv, wird ein unbekanntes Thunderbolt-Gerät nur dann erlaubt, wenn das Gerät entsperrt ist. Ein weiterer, neuerer Angriff funktioniert über PCI Express. PCI Express-Geräte können auch direkt auf den Speicher zugreifen. Ein Angreifer simuliert ein PCI Express-Gerät (beispielsweise eine Grafikkarte) und kann darüber Befehle ausführen. Als Gegenmaßnahme dagegen gibt es die Einstellung "Virtualization Based Security". Ist diese Einstellung aktiv, werden sicherheitskritische Bereiche virtualisiert und isoliert und können daher nicht mehr von dem PCI Express-Gerät aus zugegriffen werden. Auch gegen diese Angriffe hilft das Setzen einer PIN.
Alle diese Angriffe erfordern einen physischen Zugang zum System und werden durch einen sekundären Schutz wie einen USB-Stick oder einen PIN-Code vereitelt.

### Implementierung in kommerzieller Software

Verschiedene Unternehmen wie Elcomsoft mit System Recovery ab Version 7.05 bieten Software an, um die Bitlocker-Verschlüsselung aufzuheben, indem bei einem gemounteten BitLocker-Laufwerk der Arbeitsspeicher ausgelesen wird. Dazu überträgt ein Programm Inhalte des RAM beispielsweise über den FireWire-Port. Anschließend kann auf einem anderen PC im Speicherabbild der enthaltene Schlüssel angezeigt werden. Damit sind Zugriffe auf geschützte Daten des angegriffenen Rechners sofort oder später möglich. Ein Speicherabbild und damit das Auslesen des Schlüssels ist nur auf einem eingeschalteten Computer möglich, bei dem das Passwort bereits eingegeben wurde. Diese Angriffsmöglichkeit besteht auch für vergleichbare Programme wie TrueCrypt. Um diesen Angriff bei gesperrten PCs zu verhindern, bietet Microsoft eine Gruppenrichtlinie „Neue DMA-Geräte deaktivieren, wenn dieser Computer gesperrt wird“. Durch Aktivierung ist ein Zugriff auf den Arbeitsspeicherinhalt für hotplugfähige Geräte nur möglich, wenn der Computer nach dem Anschließen entsperrt wurde. TrueCrypt als auch Bitlocker löschen das eingegebene Passwort wieder aus dem RAM, nur der Schlüssel bleibt prinzipbedingt im Speicher.

## Vertrauenskrise hardwaregestützte SSD-Verschlüsselung

Sicherheitsfachleute fanden 2018 heraus, dass hardwaregestützte Verschlüsselung eines Solid-State-Drive (SSD) bei vielen Herstellern nicht korrekt implementiert ist. Einige Hersteller waren nicht bereit, Firmware-Aktualisierungen für ältere SSDs bereitzustellen, insbesondere nicht bei der populären Samsung-Evo-Reihe. Die Hersteller gaben stattdessen den Hinweis, auf Softwareverschlüsselung umzusteigen, auch da diese bei Fehlern leichter korrigierbar sei. Microsoft zog daraus die Konsequenz und aktiviert BitLocker bei Windows-Neuinstallationen automatisch und meidet die Hardwareverschlüsselung ab Werk bei Windows 10 Version 1903. Laut der Zeitschrift c’t sind die Leistungseinbußen selbst bei fehlender AES-Beschleunigung „eher messbar als spürbar“.