Eine Schwachstelle in cryptsetup, die es ermöglicht, die Verschlüsselung in LUKS2-Partitionen zu deaktivieren.

Im Cryptsetup-Paket, das zur Verschlüsselung von Festplattenteilen in Linux verwendet wird, wurde eine Sicherheitsanfälligkeit (CVE-2021-4122) entdeckt. Diese erlaubt es, durch Modifikation von Metadaten die Verschlüsselung in LUKS2-Partitionen (Linux Unified Key Setup) zu deaktivieren. Um diese Schwachstelle auszunutzen, muss der Angreifer physischen Zugang zum verschlüsselten Medium haben, was bedeutet, dass dieses Verfahren hauptsächlich für Angriffe auf verschlüsselte externe Speichermedien wie Flash-Laufwerke sinnvoll ist, auf die der Angreifer Zugriff hat, aber das Passwort zur Entschlüsselung der Daten nicht kennt.

Der Angriff ist nur für das LUKS2-Format anwendbar und betrifft die Manipulation von Metadaten, die für die Aktivierung der Funktion "online Reverschlüsselung" verantwortlich sind. Diese ermöglicht es, den Prozess der Datenverschlüsselung im laufenden Betrieb zu starten, ohne die Arbeit mit der Partition zu unterbrechen, wenn ein Zugriffsschlüssel gewechselt werden muss. Da der Prozess der Entschlüsselung und Verschlüsselung mit einem neuen Schlüssel viel Zeit in Anspruch nimmt, ermöglicht die "online Reverschlüsselung" eine nahtlose Nutzung der Partition, während die Daten im Hintergrund schrittweise von einem Schlüssel auf einen anderen umgeschlüsselt werden. Außerdem besteht die Möglichkeit, einen leeren Zielschlüssel auszuwählen, was die Partition in einen entschlüsselten Zustand versetzt.

Ein Angreifer kann in die LUKS2-Metadaten Änderungen einfügen, die einen abrupten Abbruch der Entschlüsselungsoperation simulieren, wodurch ein Teil des Volumes nach der Aktivierung und Nutzung des modifizierten Speichermediums durch den Eigentümer entschlüsselt werden kann. In diesem Fall erhält der Benutzer, der das modifizierte Speichermedium angeschlossen und mit dem korrekten Passwort entsperrt hat, keine Warnung über den Verlauf des Wiederherstellungsprozesses der unterbrochenen Reverschlüsselung und kann den Fortschritt dieses Vorgangs nur mit dem Befehl „luks Dump“ herausfinden. Das Volumen der Daten, die der Angreifer entschlüsseln kann, hängt von der Größe des LUKS2-Headers ab, kann aber bei der Standardgröße (16 MiB) 3 GB überschreiten.

Das Problem tritt auf, weil trotz der Tatsache, dass die Neuschlüsselung die Berechnung und Überprüfung von Hashes für den neuen und den alten Schlüssel erfordert, der Hash zu Beginn der Entschlüsselung nicht erforderlich ist, wenn der neue Zustand kein Schlüsselsystem für die Verschlüsselung (Plaintext) impliziert. Darüber hinaus sind die LUKS2-Metadaten, in denen der Verschlüsselungsalgorithmus festgelegt ist, nicht vor Modifikationen geschützt, wenn sie in die falschen Hände geraten. Um diese Schwäche zu beheben, haben die Entwickler LUKS2 mit zusätzlichem Schutz für die Metadaten ausgestattet, bei dem jetzt ein zusätzlicher Hash überprüft wird, der auf bekannten Schlüsseln und dem Inhalt der Metadaten basiert. Das bedeutet, dass ein Angreifer die Metadaten nicht unbemerkt ändern kann, ohne das Passwort zur Entschlüsselung zu kennen.

Ein typisches Angriffsszenario erfordert, dass ein Angreifer die Möglichkeit hat, ein Speichermedium mehrfach in die Hände zu bekommen. Zunächst ändert der Angreifer, der das Zugangspasswort nicht kennt, die Metadaten, um bei der nächsten Aktivierung des Speichermediums die Entschlüsselung eines Teils der Daten auszulösen. Anschließend wird das Speichermedium zurückgelegt, und der Angreifer wartet, bis der Benutzer es anschließt und das Passwort eingibt. Bei der Aktivierung des Geräts durch den Benutzer wird ein Hintergrundprozess zur erneuten Verschlüsselung gestartet, bei dem ein Teil der verschlüsselten Daten durch entschlüsselte Daten ersetzt wird. Wenn der Angreifer das Gerät dann erneut in die Hände bekommt, werden sich Teile der Daten auf dem Speichermedium im entschlüsselten Zustand befinden.

Das Problem wurde von dem Maintainer des Projekts cryptsetup erkannt und in den Updates cryptsetup 2.4.3 und 2.3.7 behoben. Der Status der Problemlösung in den Distributionen kann auf den folgenden Seiten nachverfolgt werden: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Die Schwachstelle tritt erstmals ab der Version cryptsetup 2.2.0 auf, in der die Unterstützung für die Operation 'online reencryption' eingeführt wurde. Als Schutzmaßnahme kann der Start mit der Option '—disable-luks2-reencryption' verwendet werden.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster