Suites aux informations d’Ivan concernant l’accès de la police à ses stockages chiffrés. “Est ce que le cryptage de linux a été cracké ?” Explications, synthétisation et conseils.
Catégorie : Global
Thèmes : sécurité numérique
Lieux : FranceGlobal
Plus bas, une traduction de l’article du collectif tech sytemli.org “Is linux hard disk encryption hacked ?” (https://www.systemli.org/en/2023/04/30/is-linux-hard-disk-encryption-hacked/) avec quelque mises à jour depuis la version 5.13 de Tails. Les images et schémas ont aussi été supprimées, allez voir l’article original pour les consulter.
Même si l’article a été écrit avec l’objectif d’être compréhensible pour des personnes avec peu de connaissances informatiques, il reste un peu complexe.
Mais globalement, la police française a pu accéder aux données chiffrées d’Ivan, un anarchiste en détention provisoire, chiffrement en LUKS sur Linux qui concerne des versions anciennes de plusieurs années ou Tails dans sa version antérieure à 5.13.
Depuis la sortie de l’article en anglais et allemand la version 5.13 de Tails est sortie, comprenant un passage du cryptage LUKS à LUKS2 pour les nouveaux stockage persistent crées.
Il ne suffit pas seulement de mettre sa clé à jour mais bien de réinstaller tout son stockage persistent, c’est à dire en faisant une copie de toutes ses données sur un autre support, puis supprimer son persistent, le recréer (avec la version 5.13) et recopier ses données dans le nouveau persistent crée (faites le !!!). Ne pas oublier de bien supprimer les données que vous avez copié sur le stockage de transition ou alors de le crypter lui aussi et de ne pas le laisser trainer.
La prochaine version de juin 5.14 proposera un passage de LUKS à LUKS2 pour persistent existant, sans devoir le supprimer au préalable.
Il en va de même avec les anciennes versions Linux, même si vous avez fait toutes les mises à jour, cela ne change pas la base de votre cryptage LUKS, il faut recommencer le cryptage en LUKS2.
La marche a suivre pour vérifier cela se trouve à la fin de l’article qui se trouve en lien à la deuxième note de bas de page.
En addition à l’article suivant, la police a pu retrouver des fichiers supprimés par Ivan, il importe donc beaucoup d’utiliser des outils de suppression efficaces comme “la méthode gutman” sur Tails (clic droit , supprimer, et dans les paramètres de suppression methode gutman qui réecrit 38 fois sur le fichier pour le supprimer) ou des logiciels comme Files Shredder sur Linux. Mais également de ne jamais faire confiance à 100 pour 100 à l’informatique, car comme le rappelle l’article, il y a d’autres moyens que ceux informatiques pour accéder des données : filmer une personne rentrer son mot de passe, analyser le clavier pour voir quelles touches sont le plus utilisées…
Avis personnel : le maximum de choses sur nos activités devrait être gardé dans nos têtes.
La sécurité informatique n’est pas seulement une affaire personelle mais interpersonelle et collective, en effet les flics et autres attaquant.es peuvent faire de nombreux liens en ayant accès aux téléphones, ordinateurs, stockages… Ne leur facilitons pas la tache !
Est ce que le cryptage de Linux a été cracké ?
Ivan, un anarchiste en détention provisoire en France depuis un certain temps, a signalé dans une lettre que la police française avait pu accéder au contenu de son ordinateur portable(1). L’ordinateur portable en question était équipé d’un système Ubuntu Linux crypté. Il n’a pas été possible d’accéder à un autre appareil équipé de Windows et crypté avec Bitlocker. Ivan a expliqué dans sa lettre qu’il avait utilisé un mot de passe à 20 chiffres composé de lettres, de chiffres et de caractères spéciaux pour le système.
Le cryptage des disques Linux n’a pas été craqué et n’est pas non plus “non sécurisé”. Les performances de la technologie ainsi que les algorithmes ont évolué, de sorte que les paramètres de chiffrement doivent être vérifiés et mis à jour si nécessaire.
Depuis lors, des discussions ont eu lieu sur le web et dans notre milieu pour savoir comment cela était possible, si un algorithme de cryptage obsolète dans l’installation Ubuntu d’Ivan était à blâmer, et ce que cela signifiait pour la sécurité d’autres systèmes Linux. Nous avons même reçu des affirmations selon lesquelles le chiffrement du système d’exploitation Tails – qui est également un système Linux – n’était pas sécurisé en raison d’algorithmes obsolètes (cela a changé avec la version 5.13). Le sujet du chiffrement des appareils n’est pas facilement accessible pour beaucoup, c’est pourquoi nous aimerions encadrer un peu la discussion avec cet article.
Tous les systèmes d’exploitation Linux utilisent le Linux Unified Key Setup, ou LUKS en abrégé, pour chiffrer le disque dur. L’hypothèse selon laquelle un algorithme obsolète pourrait être en cause dans le cas d’Ivan s’explique par le fait que la version 18.04 d’Ubuntu (publiée en avril 2018, comme l’abréviation le suggère) utilise toujours la norme “LUKS1” relativement obsolète pour le chiffrement du disque dur, alors que les installations Linux plus récentes utilisent la norme “LUKS2” à cette fin(2). Pour comprendre pourquoi cela est pertinent, il est nécessaire d’avoir une vue d’ensemble du chiffrement LUKS et de comprendre le rôle que joue ce que l’on appelle la fonction de dérivation de clé dans celui-ci. Pour comprendre pourquoi cela est important, il est nécessaire d’avoir une vue d’ensemble du chiffrement LUKS et de comprendre le rôle que joue la fonction dite de dérivation de clé dans ce chiffrement.
Linux Unified Key Setup (LUKS) en quelques mots
Un disque dur chiffré avec LUKS est initialement un bloc en deux parties avec un en-tête non chiffré et un corps chiffré. Le corps contient les données chiffrées proprement dites, tandis que l’en-tête doit être considéré comme un manuel d’instructions : quel algorithme de chiffrement est utilisé pour le corps, quelle taille doit avoir le corps, où se trouve le corps sur le disque dur, quel est l’ID de périphérique de la partition, etc. – Cela ressemble à peu près à ceci :
LUKS header information
Version: 2
UUID: d077227a-eb02-4349-ab5b-fd9494ade3a6
Data segments:
0: crypt
offset: 16764544 [bytes]
length: (whole device)
cipher: aes-xts-plain64
sector: 512 [bytes] …
Important pour nous : L’en-tête contient également des informations sur la fonction de dérivation de clé à utiliser pendant le processus de cryptage ou de décryptage. La dérivation de clé est une conversion cryptographique du mot de passe en clé avec laquelle le corps a été crypté et avec laquelle le corps peut être décrypté à nouveau. Contrairement à ce que l’on pourrait penser, le mot de passe lui-même n’est pas la clé avec laquelle le corps a été crypté, mais seule la clé réelle est dérivée de ce mot de passe. Nous expliquerons dans un instant pourquoi cette étape intermédiaire est nécessaire. Tout d’abord, il est important qu’il existe de nombreux algorithmes différents pour la dérivation et que les informations stockées dans l’en-tête soient nécessaires pour la dérivation de la clé.
La question se pose maintenant de savoir pourquoi cette étape intermédiaire est nécessaire au lieu de simplement crypter/décrypter le corps du disque dur directement avec le mot de passe. Tout d’abord, il faut considérer le scénario d’attaque contre lequel le cryptage est censé protéger : Personne n’essaierait de craquer l’algorithme réel – dans ce cas : AES-XTS-PLAIN64 : Cet algorithme est considéré comme sûr par la recherche. En général, les gens essaient de deviner le mot de passe en essayant simplement toutes les combinaisons de caractères possibles. Cette méthode est appelée force brute. Chaque tentative coûte de la puissance de calcul, de la mémoire et du temps, de sorte que l’on utilise généralement un ordinateur exceptionnellement puissant ou une batterie d’ordinateurs. Il existe également des logiciels spécialisés qui utilisent des listes de mots de passe connus ou même des données personnelles sur le propriétaire (langues, centres d’intérêt, mots de passe utilisés pour d’autres services) pour obtenir des combinaisons plus probables.
C’est là que la fonction de dérivation de clé entre en jeu : L’idée est de prolonger le décryptage avec le bon mot de passe par l’étape intermédiaire de la dérivation du mot de passe de quelques millisecondes seulement, ce qui n’est pas perceptible dans l’utilisation quotidienne d’un ordinateur portable, mais augmente massivement l’effort de deviner les mots de passe en masse. La fonction de dérivation de clé protège principalement les mots de passe courts et ceux qui sont composés d’un petit nombre de caractères possibles : pour un mot de passe composé de seulement 6 chiffres, par exemple, la multitude de combinaisons possibles est calculée beaucoup plus rapidement que pour un mot de passe alphanumérique de 20 caractères.
La fonction de dérivation des clés doit répondre à des exigences élevées. D’une part, elles doivent pouvoir résister à d’énormes groupes d’ordinateurs qui disposent d’une puissance de calcul considérable : La solution à ce problème consiste – pour schématiser – à développer des algorithmes mathématiques conçus de telle sorte que, même lorsque la puissance de calcul est multipliée, le temps nécessaire à la dérivation de la clé reste relativement le même.
Maintenant que la signification de la fonction de dérivation de clé est expliquée, nous revenons à l’ordinateur portable d’Ivan : D’après sa lettre, la version 18.04 d’Ubuntu y était installée. Cette version d’Ubuntu utilise toujours la norme LUKS1 dépassée, qui à son tour utilise une fonction de dérivation de clé dépassée (PBKDF2). Cette fonction est connue pour être peu utile contre le matériel spécialisé et n’est donc plus considérée comme sûre. D’où l’hypothèse selon laquelle la fonction de dérivation de clé obsolète a permis d’accéder à l’ordinateur portable d’Ivan. D’autres versions sont également concernées par cette éventuelle vulnérabilité si leur première installation remonte à longtemps : En effet, l’algorithme n’est généralement pas amélioré sur une installation existante lorsqu’une mise à niveau complète est effectuée (par exemple, d’Ubuntu 18.04 à Ubuntu 22.04)(3). Il a également été discuté que, bien que la communauté des développeurs du système d’exploitation Tails ait inscrit le passage au cryptage plus sûr LUKS2 sur sa liste de tâches depuis plusieurs années, elle ne l’avait pas encore mis en œuvre. Cela semble avoir conduit d’autres personnes à affirmer que le chiffrement des clefs Tails avant la version 5.13 n’était pas sûr(4).
Que faut-il en penser ? Fondamentalement, il s’agit d’un problème lié au fait que de nombreuses installations Linux anciennes utilisent un algorithme obsolète pour le cryptage des disques durs. Les utilisateurs d’anciennes installations doivent à présent décider s’ils sont suffisamment avisés pour mettre à jour leur chiffrement eux-mêmes – il existe un guide à ce sujet dans notre wiki -, réinstaller leur système ou accepter d’utiliser un algorithme obsolète. Toutefois, la question de savoir si cette vulnérabilité a joué un rôle quelconque dans le cas d’Ivan n’est qu’une hypothèse et non un fait. La possibilité qu’il ait été observé ou filmé pendant qu’il saisissait son mot de passe, qu’il ait réutilisé son mot de passe à différents endroits, que le mot de passe n’ait tout simplement pas été sécurisé, voire que les traces d’utilisation sur le clavier aient pu constituer un indice pour le mot de passe, sont autant d’explications concevables pour l’accès à ses données. Au vu de ces informations floues, des déclarations telles que “Le cryptage de Tails a été craqué” semblent alarmistes et douteuses.
Il est difficile d’évaluer la gravité de cet algorithme obsolète : une meilleure fonction de dérivation de clé qui rend plus difficile le forçage brutal contribue sans aucun doute grandement à la sécurité du cryptage des appareils. Inversement, cela ne signifie pas que tous les appareils qui utilisent un algorithme de dérivation de clé obsolète sont fondamentalement peu sûrs. Avant tout, la sécurité du cryptage LUKS dépend de la sécurité du mot de passe, et si celle-ci est améliorée par un bon mot de passe, elle n’est pas aggravée par un algorithme de dérivation de clé obsolète. Un bon mot de passe, c’est-à-dire un mot de passe véritablement généré de manière aléatoire, d’une longueur suffisante et généré à partir d’un ensemble suffisamment large de lettres, de chiffres et de caractères spéciaux, nécessite un temps extraordinaire, même avec une fonction de dérivation de clé obsolète et même avec une quantité extraordinaire de ressources. Cependant, nous ne pouvons pas estimer les ressources dont dispose un attaquant potentiel et nous ne le faisons pas. Cependant, nous considérons qu’il est au moins improbable que de tels mots de passe – même avec une dérivation de clé médiocre – puissent être forcés de manière brute sans autre forme de procès.
Mots de passe sécurisés
Un petit complément sur la sécurité des mots de passe : Un mot de passe aléatoire est un mot de passe généré par une machine. Un mot de passe inventé par vous-même ne sera jamais aussi sûr qu’un mot de passe vraiment aléatoire : même le mot de passe dPhdWnv1;3k4d4;szv ! semble sûr à première vue avec ses lettres minuscules et majuscules, ses chiffres et ses caractères spéciaux. Cependant, il ne s’agit que de la forme abrégée de la phrase allemande pas si secrète “Die Philosophen haben die Welt nur verschieden interpretiert ; es kommt aber darauf an, sie zu verändern”, dont certaines voyelles ont été remplacées par des chiffres et à laquelle quelques caractères spéciaux ont été ajoutés. Ces astuces et d’autres du même genre sont très courantes, mais elles peuvent être facilement devinées après un peu de recherche et d’intuition et ne constituent pas la base d’un mot de passe sûr.
La communauté Tails recommande dans sa documentation d’utiliser diceware passwords.
1. https://nantes.indymedia.org/posts/87395/une-lettre-divan-enferme-a-la-prison-de-villepinte-perquisitions-et-disques-durs-dechiffres/ and https://lanemesi.noblogs.org/post/2023/04/09/qualche-novita-su-ivan-recluso-nel-carcere-di-villepinte-francia-8-aprile-2023/ and https://www.csrc.link/read/some-initial-notes-on-the-investigation-file-against-ivan.html
2. https://mjg59.dreamwidth.org/66429.html
3. C’est compréhensible en soi : Dans le pire des cas, le fait de manipuler les paramètres de cryptage peut entraîner la perte de données, et vous souhaitez naturellement éviter de tels risques lors de la mise à niveau de votre système.
4. La communauté Tails a sorti une mise à jour concernant LUKS2 : https://tails.boum.org/news/version_5.13/index.en.html
Comments
Les commentaires sont modérés a posteriori.Leave a Comment