Umgehung der Festplattenschlüsselung, die TPM2 zur automatischen Entsperrung verwendet

Einer der mit NixOS verbundenen Pakete hat eine Angriffstechnik vorgestellt, die es ermöglicht, auf Daten in verschlüsselten Partitionen zuzugreifen, ohne dass beim Booten ein Entsperrpasswort eingegeben werden muss. Dies geschieht durch die Speicherung von Informationen zur Entschlüsselung im TPM2 (Trusted Platform Module). Solche Konfigurationen werden häufig auf Servern oder Mehrbenutzer-Workstations verwendet, bei denen es problematisch ist, nach jedem Neustart manuell ein Passwort einzugeben.

Bei der Anwendung dieser Art der Festplattenverschlüsselung erfolgt die Entschlüsselung mit einem zusätzlichen Schlüssel, der im TPM gespeichert ist und nur nach Bestätigung des ursprünglichen Systemzustands ausgegeben wird. Der Systemzustand wird als Hash in den PCR-Registern (Platform Configuration Register) gespeichert und mit einer digitalen Signatur des Bootloaders sowie mit Prüfziffern des Bootloaders und der initialen Bootumgebung (initrd) verknüpft. Der Zugriff auf den Schlüssel im TPM erfolgt nur, wenn alle damit verknüpften PCR-Register im selben Zustand sind wie bei der Speicherung des Schlüssels.

Es wird davon ausgegangen, dass die Bootkette des Betriebssystems mittels UEFI Secure Boot verifiziert wird und der Zugang zu den Schlüsseln nur aus einem unveränderten initrd-Abbild erfolgen kann. Bei erfolgreicher Überprüfung wird das Laufwerk automatisch entsperrt, jedoch kann auf die entschlüsselten Daten lediglich über den Zugang zu Ihrem Benutzerkonto im System zugegriffen werden. Wenn Sie ohne verifiziertes Booten oder bei Versuchen, initrd zu ersetzen oder Änderungen daran vorzunehmen, um die Schlüssel abzufangen, darauf zugreifen, wird die Vertrauenskette unterbrochen, der Zustand der PCR-Register ändert sich und TPM2 gibt die notwendigen Informationen zur Entschlüsselung nicht preis.

Die veröffentlichte Angriffsmethode erlaubt es, ohne Änderungen am Inhalt von initrd auszukommen, in Konfigurationen, die keine verschlüsselten LUKS-Partitionen identifizieren. Es wird angemerkt, dass die Implementierung einer solchen Überprüfung der Partitionen in den gefundenen Anleitungen zur Konfiguration der Festplattenverschlüsselung nicht beschrieben wird, da die Identifikation der Partition die Konfiguration erheblich kompliziert (zusätzlicher PCR-Register wird benötigt, um den Schlüssel der Partition zu überprüfen, und die Generierung von initrd muss unter Berücksichtigung seines Wertes erfolgen). Beispiele für die Durchführung des Angriffs wurden für Fedora Linux in Verbindung mit dem Werkzeug clevis und für NixOS in Verbindung mit systemd-cryptenroll demonstriert. Für den Angriff ist physischer Zugang zum Computer und die Möglichkeit der Entnahme des Speichermediums erforderlich.

Die Methode basiert darauf, dass ein Angreifer die bestehende verschlüsselte Root-Partition durch eine eigene verschlüsselte Partition ersetzen kann, die mit demselben UUID-Identifikator und dem angreifenden bekannten Entschlüsselungsschlüssel erstellt wurde. Die initrd-Umgebung übergibt die Kontrolle an den Init-Prozess in der Partition des Angreifers. Da der Inhalt von initrd nicht verändert wurde, wird der TPM-Zustand nicht verletzt, und nachdem der Angreifer die Kontrolle in seiner Umgebung erlangt hat, kann er den TPM zur Entschlüsselung des Schlüssels der ursprünglichen Festplattenpartition verwenden.

Der Angriff besteht aus den folgenden Schritten:

  • Entnahme der Festplatte und Durchführung der Analyse unverschlüsselter Daten auf einem anderen Computer im Verzeichnis /boot. Bestimmung der Informationen zur verschlüsselten Partition und ihrer UUID-Identifikatoren aus dem im Verzeichnis /boot befindlichen initrd-Image.
  • Erstellung einer Sicherungskopie der ersten 64 MB der verschlüsselten LUKS-Partition.
  • Austausch der angegebenen 64 MB durch ein Image mit der eigenen Root-Partition, die mit einem dem Angreifer bekannten Schlüssel verschlüsselt ist und denselben UUID-Identifikator wie die alte Partition hat.
  • Rückführung der Festplatte in den ursprünglichen Computer und Booten mit einem modifizierten Root-Partition. Da die automatische Entsperrung über den Schlüssel aus dem TPM bei der modifizierten Partition fehlschlägt, fordert initrd zur manuellen Eingabe des Passworts auf.
  • Abrufen des ursprünglichen Schlüssels aus dem TPM unter Verwendung von Metadaten über das TPM und einem verschlüsselten Token aus dem LUKS-Header der alten Partition.
  • Umstecken der Festplatte in den Computer des Angreifers, Wiederherstellung des überschriebenen Teils des LUKS-Partitions aus einem Backup und Verwendung des erhaltenen ursprünglichen Schlüssels für den Datenzugriff.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster