Vulnérabilité dans cryptsetup, permettant de désactiver le chiffrement dans les partitions LUKS2.

Une vulnérabilité (CVE-2021-4122) a été identifiée dans le package Cryptsetup, utilisé pour le chiffrement des partitions de disque sous Linux, permettant, via la modification des métadonnées, de désactiver le chiffrement dans les partitions au format LUKS2 (Linux Unified Key Setup). Pour exploiter cette vulnérabilité, l'attaquant doit avoir un accès physique au support chiffré, c'est-à-dire que cette méthode a principalement du sens pour une attaque contre des supports externes chiffrés, tels que des clés USB, auxquels l'attaquant a accès mais ne connaît pas le mot de passe pour déchiffrer les données.

L'attaque ne s'applique qu'au format LUKS2 et est liée à la manipulation des métadonnées responsables de l'activation de l'extension « online reencryption », permettant, lors d'un besoin de changement de clé d'accès, d'initier le processus de re-chiffrement des données à la volée sans interrompre le travail sur la partition. Étant donné que le processus de déchiffrement et de chiffrement avec une nouvelle clé prend beaucoup de temps, « online reencryption » offre la possibilité de ne pas interrompre le travail sur la partition et d'effectuer le re-chiffrement en arrière-plan, en re-chiffrant progressivement les données d'une clé à une autre. Il existe également la possibilité de choisir une clé cible vide, ce qui permet de passer la partition en mode déchiffré.

L'attaquant peut apporter des modifications aux métadonnées LUKS2 qui simulent une interruption soudaine de l'opération de déchiffrement résultant d'un échec et réussir à déchiffrer une partie de la partition après l'activation et l'utilisation du support modifié par le propriétaire. Dans ce cas, l'utilisateur ayant connecté le support modifié et l'ayant déverrouillé avec le mot de passe correct ne reçoit aucun avertissement concernant l'exécution du processus de récupération de l'opération de re-chiffrement interrompue et peut connaître l'état de cette opération uniquement par la commande « luks Dump ». Le volume des données dont l'attaquant peut obtenir le déchiffrement dépend de la taille de l'en-tête LUKS2, mais pour la taille par défaut (16 MiB), il peut dépasser 3 Go.

Le problème est causé par le fait que, bien que le ré-encryptage nécessite le calcul et la vérification des hachages des nouvelles et anciennes clés, la décryptage peut commencer sans hachage si le nouvel état implique l'absence de clé pour le chiffrement (texte en clair). De plus, les métadonnées LUKS2, qui spécifient l'algorithme de chiffrement, ne sont pas protégées contre la modification si elles tombent entre de mauvaises mains. Pour bloquer cette vulnérabilité, les développeurs ont ajouté une protection supplémentaire pour les métadonnées dans LUKS2, où un hachage supplémentaire est maintenant vérifié, calculé en fonction des clés connues et du contenu des métadonnées, c'est-à-dire qu'un attaquant ne peut plus modifier silencieusement les métadonnées sans connaître le mot de passe pour le décryptage.

Un scénario typique d'attaque exige que l'attaquant ait la possibilité d'obtenir le stockage entre ses mains plusieurs fois. Dans un premier temps, l'attaquant, qui ne connaît pas le mot de passe d'accès, effectue des modifications dans la zone des métadonnées qui déclenchent le décryptage d'une partie des données lors de la prochaine activation du stockage. Ensuite, le stockage est remis à sa place et l'attaquant attend que l'utilisateur le connecte en saisissant le mot de passe. Pendant l'activation de l'appareil par l'utilisateur, un processus en arrière-plan de ré-encryptage se lance, au cours duquel une partie des données chiffrées est remplacée par des données décryptées. Ensuite, si l'attaquant peut obtenir à nouveau l'appareil, une partie des données sur le stockage sera en clair.

Le problème a été identifié par le mainteneur du projet cryptsetup et corrigé dans les mises à jour cryptsetup 2.4.3 et 2.3.7. L'état de la formation des mises à jour corrigées dans les distributions peut être suivi sur ces pages : Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. La vulnérabilité ne se manifeste qu'à partir de la version cryptsetup 2.2.0, où le support de l'opération « ré-encryptage en ligne » a été ajouté. Comme solution de contournement, il est possible d'utiliser le démarrage avec l'option « --disable-luks2-reencryption ».

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster