Eine Sicherheitslücke im Cryptsetup, die es Ihnen ermöglicht, die Verschlüsselung in LUKS2-Partitionen zu deaktivieren

Im Cryptsetup-Paket, das zum Verschlüsseln von Festplattenpartitionen unter Linux verwendet wird, wurde eine Schwachstelle (CVE-2021-4122) identifiziert, die es ermöglicht, die Verschlüsselung auf Partitionen im LUKS2-Format (Linux Unified Key Setup) durch Ändern von Metadaten zu deaktivieren. Um die Sicherheitslücke auszunutzen, muss der Angreifer physischen Zugriff auf die verschlüsselten Medien haben, d. h. Sinnvoll ist die Methode vor allem für den Angriff auf verschlüsselte externe Speichergeräte, etwa Flash-Laufwerke, auf die der Angreifer zwar Zugriff hat, aber das Passwort zum Entschlüsseln der Daten nicht kennt.

Der Angriff gilt nur für das LUKS2-Format und ist mit der Manipulation von Metadaten verbunden, die für die Aktivierung der Erweiterung „Online-Neuverschlüsselung“ verantwortlich sind, die es ermöglicht, den Prozess der Daten-Neuverschlüsselung im Handumdrehen einzuleiten, wenn der Zugriffsschlüssel geändert werden muss ohne die Arbeit mit der Partition zu unterbrechen. Da der Prozess der Entschlüsselung und Verschlüsselung mit einem neuen Schlüssel viel Zeit in Anspruch nimmt, ermöglicht die „Online-Neuverschlüsselung“ die Möglichkeit, die Arbeit mit der Partition nicht zu unterbrechen und die Neuverschlüsselung im Hintergrund durchzuführen, wodurch die Daten schrittweise von einem Schlüssel zum anderen neu verschlüsselt werden . Es ist auch möglich, einen leeren Zielschlüssel auszuwählen, der es Ihnen ermöglicht, den Abschnitt in eine entschlüsselte Form umzuwandeln.

Ein Angreifer kann Änderungen an den LUKS2-Metadaten vornehmen, die einen Abbruch des Entschlüsselungsvorgangs aufgrund eines Fehlers simulieren und die Entschlüsselung eines Teils der Partition nach Aktivierung und Verwendung des geänderten Laufwerks durch den Eigentümer erreichen. In diesem Fall erhält der Benutzer, der das geänderte Laufwerk angeschlossen und mit dem richtigen Passwort entsperrt hat, keine Warnung über den Vorgang der Wiederherstellung des unterbrochenen Neuverschlüsselungsvorgangs und kann sich über den Fortschritt dieses Vorgangs nur über den „luks Dump“ informieren. Befehl. Die Datenmenge, die ein Angreifer entschlüsseln kann, hängt von der Größe des LUKS2-Headers ab, kann jedoch bei der Standardgröße (16 MiB) 3 GB überschreiten.

Das Problem wird durch die Tatsache verursacht, dass die Neuverschlüsselung zwar die Berechnung und Überprüfung von Hashes des neuen und des alten Schlüssels erfordert, ein Hash jedoch nicht erforderlich ist, um mit der Entschlüsselung zu beginnen, wenn der neue Status das Fehlen eines Klartextschlüssels für die Verschlüsselung impliziert. Darüber hinaus sind die LUKS2-Metadaten, die den Verschlüsselungsalgorithmus angeben, nicht vor Änderungen geschützt, wenn sie in die Hände eines Angreifers gelangen. Um die Schwachstelle zu blockieren, haben die Entwickler LUKS2 um einen zusätzlichen Schutz für Metadaten erweitert, für den nun ein zusätzlicher Hash überprüft wird, der auf der Grundlage bekannter Schlüssel und Metadateninhalte berechnet wird, d. h. Ein Angreifer kann Metadaten nicht mehr heimlich ändern, ohne das Entschlüsselungskennwort zu kennen.

Ein typisches Angriffsszenario erfordert, dass der Angreifer mehrmals an das Laufwerk gelangen kann. Zunächst nimmt ein Angreifer, der das Zugangspasswort nicht kennt, Änderungen am Metadatenbereich vor und löst so bei der nächsten Aktivierung des Laufwerks die Entschlüsselung eines Teils der Daten aus. Das Laufwerk wird dann an seinen Platz zurückgebracht und der Angreifer wartet, bis der Benutzer es durch Eingabe eines Passworts verbindet. Wenn das Gerät vom Benutzer aktiviert wird, wird im Hintergrund ein Neuverschlüsselungsprozess gestartet, bei dem ein Teil der verschlüsselten Daten durch entschlüsselte Daten ersetzt wird. Sollte es dem Angreifer außerdem gelingen, erneut an das Gerät zu gelangen, liegen einige der Daten auf dem Laufwerk in entschlüsselter Form vor.

Das Problem wurde vom Betreuer des Cryptsetup-Projekts identifiziert und in den Updates Cryptsetup 2.4.3 und 2.3.7 behoben. Der Status der Updates, die zur Behebung des Problems in Distributionen generiert werden, kann auf diesen Seiten verfolgt werden: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Die Sicherheitslücke tritt erst ab der Veröffentlichung von cryptsetup 2.2.0 auf, das die Unterstützung für den Vorgang „Online-Neuverschlüsselung“ einführte. Als Workaround zum Schutz kann der Start mit der Option „--disable-luks2-reencryption“ verwendet werden.

Source: opennet.ru

Kommentar hinzufügen