- La distribution des mises à jour Windows de VeraCrypt, logiciel de chiffrement open source, a été totalement bloquée après la résiliation soudaine de son compte par Microsoft, un cas qui met en lumière la fragilité de la chaîne d’approvisionnement des logiciels open source dépendants des grandes entreprises technologiques
- Mounir Idrassi, développeur de VeraCrypt, a découvert à la mi-janvier que son compte de signature des pilotes Windows et du bootloader avait été résilié sans avertissement préalable ; malgré plusieurs tentatives de contact, il n’a reçu que des réponses automatiques semblant générées par une IA
- Le seul message officiel envoyé par Microsoft indiquait un « non-respect des exigences », mais le compte a été fermé sans motif précis ni procédure d’appel, sans aucune explication sur les exigences qui n’étaient soudainement plus remplies
- Jason Donenfeld, développeur de WireGuard, a lui aussi déclaré être confronté au même problème, montrant que l’affaire ne se limite pas à VeraCrypt
- Les mises à jour Linux et macOS peuvent toujours être publiées, mais comme la majorité des utilisateurs sont sur Windows, l’impossibilité de distribuer sur cette plateforme porte un coup critique à l’ensemble du projet
Qu’est-ce que VeraCrypt ?
- Un outil open source qui protège les fichiers en créant soit des partitions chiffrées sur un disque, soit des volumes chiffrés distincts
- Basé sur son prédécesseur TrueCrypt, il propose aussi une fonction de double volume (volume caché) pour les cas où l’on serait contraint de divulguer ses identifiants
Déroulement des faits
- Idrassi a expliqué lui-même sur le forum SourceForge pourquoi il avait été inactif pendant plusieurs mois
- À la mi-janvier, il a constaté que son compte de signature des pilotes Windows et du bootloader, utilisé depuis des années, était soudainement devenu inutilisable
- Il n’avait reçu aucun e-mail préalable ni avertissement, et le seul message de Microsoft disait simplement qu’il ne satisfaisait plus aux exigences actuelles
- Ce message indiquait aussi qu’aucun recours n’était possible et que la demande était close
- Aucune explication n’a été fournie sur les raisons pour lesquelles la société d’Idrassi, IDRIX, ne répondrait soudainement plus à certaines exigences
Réaction du développeur et inquiétudes
- Après avoir contacté le support Microsoft, il n’a reçu que des réponses automatiques semblant générées par une IA
- Il a vivement critiqué l’absence de communication de Microsoft, estimant qu’« ils auraient au moins dû expliquer quel était le problème »
- Il a aussi souligné que « lorsqu’il n’y a aucune communication pour ce type de décision, l’incertitude sur l’avenir grandit, et les réponses automatisées par IA rendent tout le processus inhumain »
WireGuard dans la même situation
- Jason Donenfeld, développeur du populaire client VPN WireGuard, a lui aussi signalé le même problème sur Hacker News
- Il a déclaré : « Sans avertissement, sans notification, un jour j’ai voulu me connecter pour publier une mise à jour et j’ai découvert que le compte avait été suspendu. »
Effets en cascade
- Windows étant la plateforme utilisée par la majorité des utilisateurs de VeraCrypt, l’impossibilité de distribuer des mises à jour Windows constitue un coup potentiellement fatal pour le projet
- Les mises à jour Linux et macOS restent possibles, mais la prise en charge de la plateforme principale est désormais bloquée
- Cet incident met en avant le risque de chaîne d’approvisionnement auquel s’exposent les logiciels open source lorsqu’ils dépendent, même partiellement, de l’infrastructure des grandes entreprises technologiques
- Microsoft n’a pas répondu à la demande de commentaire
5 commentaires
Chaque fois que je vois ce genre de chose, je me dis que la vérification des signatures ne doit pas être faite par la plateforme, mais par l’utilisateur. Le développeur signe avec sa propre clé, et l’utilisateur doit autoriser sur son appareil la clé d’un développeur digne de confiance pour l’utiliser.
Ne pas le savoir et demander qu’on s’en charge à sa place n’a aucun sens. Que l’on s’intéresse ou non à l’informatique, si c’est quelque chose qu’on utilise soi-même, c’est une habitude qu’il faut absolument avoir.
Si vous utilisez un téléphone portable et naviguez sur Internet, il ne faut jamais croire aveuglément ce qu’une page web, un message ou un appel téléphonique vous dit, et il faut avoir la capacité de faire le tri : c’est une consigne de base de ce niveau-là.
Avec une interface du type UAC de Windows, où l’on peut vérifier d’un simple bouton si l’on fait confiance à un développeur donné, même des personnes qui ne connaissent pas les notions de signature de code et de clé pourraient probablement l’utiliser.
Parce que sans certification officielle, une certification malveillante pourrait être exploitée...
Je ne vois pas ce que vous voulez dire.
Vous voulez dire qu’un tiers pourrait détourner l’authentification ? Dans ce cas, c’est exactement pareil avec le système actuel de certificats. Des malwares aussi sortent avec des certificats qui coûtent plusieurs centaines d’euros par an.
Vous voulez dire que le développeur lui-même pourrait en abuser ? Alors, dès le départ, ni le code ni le développeur ne sont dignes de confiance. Choisir ce à quoi l’on accorde sa confiance est à la fois le droit et la responsabilité de l’utilisateur. Avec cette logique, il faudrait, comme des personnes souffrant de troubles obsessionnels, écrire soi-même tous les logiciels, de l’OS jusqu’à la moindre application, pour les utiliser.
Je pense que les pilotes Windows, c’est autre chose.
Commentaires sur Hacker News
Il y a un an, j’utilisais Azure Trusted Signing pour distribuer des logiciels FOSS pour Windows
À l’époque, c’était la méthode la moins chère pour distribuer des logiciels gratuits
Mais il y a quelques mois, lors du renouvellement du certificat, tous mes documents ont été rejetés à cause d’un problème d’échec de vérification, et malgré le fait que j’étais un client payant, il était impossible de parler directement à un humain
J’ai finalement obtenu un certificat via SignPath.org, et j’en suis très satisfait depuis
C’était ouvert aux particuliers, puis limité aux entreprises américaines avec un numéro DUNS, puis à nouveau rouvert à certains particuliers
Il semble probablement qu’il y ait eu un incident où quelqu’un a abusé d’un certificat Trusted Signing
En voyant l’affaire VeraCrypt ce matin, je me suis demandé : « Est-ce qu’ils essaient de forcer les développeurs à passer à Trusted Signing ? »
Cela va un peu à l’encontre de l’esprit open source, mais si Microsoft ou Google faisaient n’importe quoi, la communauté réagirait fortement
S’il existait une organisation fournissant des builds auditables comme FDroid, on pourrait avoir une distribution plus fiable en cas d’attaque de la chaîne d’approvisionnement
Mais une telle organisation devrait disposer d’une gouvernance et d’un financement solides
Je pense qu’il ne faut pas laisser les propriétaires de plateforme décider quels logiciels peuvent être exécutés
La signature logicielle devrait être confiée à un tiers indépendant, sans conflit d’intérêts
C’est précisément pour cela que le Digital Markets Act cherche à protéger les développeurs
Je me demande s’il y a encore des nouvelles concernant l’enquête de l’UE sur Apple
C’est juste que ça coûte cher, et il n’est pas nécessaire d’utiliser les outils de Microsoft
Ce problème ne concerne pas uniquement VeraCrypt
Plusieurs développeurs de pilotes Windows ont été expulsés de force du Partner Center sans la moindre explication
On peut voir des cas similaires sur le forum communautaire OSR
Windscribe est également le troisième cas d’un compte résilié par Microsoft
Tweet associé
On voit apparaître le côté sombre du « Security as a Service »
En simplifiant la procédure de signature avec Trusted Signing, Microsoft a créé un point unique de défaillance
Le fait qu’un projet FOSS essentiel comme VeraCrypt soit bloqué par un signalement automatique, sans aucun canal d’intervention humaine, révèle une architecture fragile
Secure Boot est une bonne fonctionnalité de sécurité, mais il ne devrait pas devenir un outil de dépendance au fournisseur à cause de l’incompétence administrative
Dans le billet précédent, certains estimaient que le titre « Veracrypt project update » était facile à manquer
J’espère toujours que les gens finiront par comprendre que la signature des exécutables et Secure Boot ne sont pas de la vraie sécurité, mais des mécanismes destinés à contrôler ce que l’utilisateur peut exécuter
Sur un ordinateur personnel, je trouve que les hypothèses derrière ces mesures d’atténuation n’ont aucun sens
Il rend plus difficile l’abus de pilotes malveillants et réduit les infections par bootkits
L’utilisateur peut aussi enregistrer lui-même ses clés
Il est vrai que Microsoft s’en sert comme outil de contrôle, mais cela ne permet pas pour autant de nier la valeur de la fonctionnalité de sécurité elle-même
Il garantit la protection contre la falsification du firmware dans la chaîne d’approvisionnement
Il y a 20 ans, ce genre de système aurait semblé dystopique, alors qu’aujourd’hui il est considéré comme normal
En ce sens, la « tivoization » contre laquelle Stallman mettait en garde est devenue réalité
Il est ironique que l’entreprise qui contrôle la chaîne Secure Boot ait bloqué le compte de signature d’un outil de chiffrement de disque
Comme on dit, « la plateforme donne, la plateforme reprend » : si la distribution dépend de la bienveillance d’une seule entreprise, alors ce n’est pas une vraie distribution
Microsoft aurait dû être au courant que le compte développeur de WireGuard a lui aussi été résilié
On y lit : « le client VPN populaire WireGuard rencontre lui aussi le même problème »
Je ne comprends pas pourquoi ils ne génèrent pas simplement leur propre clé de signature pour l’inclure dans l’installateur
Utiliser ce genre de plateforme intermédiaire, c’est comme se tirer une balle dans le pied
Il suffit de regarder le cas Notepad++ pour voir ce que cela donne