L'outil de chiffrement de disques VeraCrypt revient d'un audit en profondeur, qui a révélé plusieurs failles, dont certaines directement liées à l'entrée du mot de passe au démarrage. Avec la version 1.19, son développeur revoit et supprime certaines fonctions peu sûres, et corrige d'autres problèmes hérités de TrueCrypt.

VeraCrypt, successeur affiché de TrueCrypt, a encore quelques problèmes à régler. À la mi-août, son développeur principal Mounir Idrassi mettait en ligne la version 1.18, apportant le chiffrement UEFI et plusieurs algorithmes non-occidentaux. Comme il nous l'expliquait longuement, il espère imposer VeraCrypt comme un logiciel de confiance, ne tenant pas uniquement compte des outils occidentaux habituels.

Surtout, la version 1.18 était le point de départ d'un audit commandité par l'organisation OSTIF, et réalisé par la société française Quarkslab. Un audit qui s'est conclu le 14 septembre, sans que la société ne donne le détail des problèmes trouvés sur le coup. Il a fallu attendre hier, et la sortie de la version 1.19 de VeraCrypt, pour que les soucis détectés dans le logiciel soient révélés.

Une vingtaine de problèmes trouvés

Pour son étude, Quarkslab est parti de l'hypothèse d'un ordinateur portable perdu ou volé, dont un attaquant voudrait déchiffrer (ou décrypter) le disque dur. Au total, 26 failles ou soucis ont été trouvés, dont huit vulnérabilités critiques, qui demandaient à être corrigées avant d'être révélées. Si la vaste majorité d'entre eux ont été éliminés avec la version 1.19, « certains de ces problèmes n'ont pas été réglés, à cause de la forte complexité des corrections proposées, mais des contournements ont été ajoutés dans la documentation de VeraCrypt ».

Concrètement, la majorité des problèmes critiques concerne la rétention du mot de passe quand il est tapé, l'algorithme russe GOST 28147-89 (que l'équipe recommande de supprimer) et les outils de compression XZip et XUnzip. Certains soucis datent d'ailleurs de l'époque de TrueCrypt, dont une partie avait déjà été relevée lors de précédents audits.

Dans un billet de blog, Quarkslab affirme que les problèmes non-résolus réclament une modification importante du code ou de l'architecture du logiciel. L'implémentation d'AES est ainsi considérée comme un souci majeur, car sensible à des attaques liées au cache. Pour l'équipe, le projet avance tout de même dans la bonne direction, la compatibilité UEFI demandant encore du travail, « même si elle ne pose pas de problème d'un pur point de vue cryptographique ».

Ce dernier audit a d'ailleurs rendu ses commanditaires nerveux. L'organisation avait exploré publiquement la piste d'une ingérence étatique dans l'audit suite à la disparition d'emails... Avant que Quarkslab n'indique à Threatpost qu'il s'agissait en fait d'un simple problème d'envoi de messages. Dans son rapport d'audit (PDF), Quarkslab estime surtout que « l'audit régulier de projets de sécurité d'une telle complexité n'est pas une option ».

VeraCrypt 1.19 supprime un algorithme de chiffrement

La dernière version de l'outil, mise en ligne hier matin, règle donc une bonne partie des problèmes signalés dans l'audit. Les notes de version indiquent ainsi qu'une fuite de mot de passe dans le secteur de démarrage (MBR) « hérité de TrueCrypt » a été colmatée, tout comme plusieurs autres fuites. Le cache du clavier est aussi maintenant vidé une fois le mot de passe tapé. La bibliothèque de compression « vulnérable » XUnzip a été, elle, remplacée par libzip pour la gestion du fichier de secours (Rescue Disk).

Cette version supprime aussi la fonction de chiffrement de l'algorithme GOST 28147-89, mal implémenté... Même si celle de déchiffrement reste bien disponible. Mounir Idrassi a également nettoyé une partie du code et, cerise sur le gâteau, rendu le chiffrement UEFI compatible avec les systèmes Windows 32 bit. Contacté, il n'était pas encore disponible pour discuter de ces dernières nouvelles.