Au cours des derniers jours, des personnes qui essayaient de bien faire ont perdu leur Bitcoin. Elles ont acheté un signataire matériel respecté, généré une graine hors ligne en utilisant cet appareil et ont fait confiance à l'appareil pour faire la seule chose pour laquelle un signataire existe : produire un nombre que personne d'autre ne peut deviner. Le Coldcard ne l'a pas fait. Un garde préprocesseur qui vérifiait la mauvaise chose avait discrètement redirigé la génération de graine vers un PRNG logiciel faible (générateur de nombres pseudo-aléatoires), Yasmarang de MicroPython, au lieu de la source d'entropie matérielle. Sur certains modèles, l'entropie effective est tombée à environ 40 bits. Le défaut a été expédié en mars 2021 et est resté dans un firmware lisible publiquement pendant plus de cinq ans. Des attaquants ont balayé 500 adresses avant que quiconque ne comprenne pourquoi ; en quelques jours, le décompte de Galaxy Research a atteint 4 585 adresses et près de 90 millions de dollars ; l'attaque est en cours à la date de cet article.
L'hypothèse de travail de Coinkite, largement acceptée sur X, est que quelqu'un a utilisé l'IA pour fouiller le firmware disponible publiquement afin de trouver le bug. Que ce soit ainsi que cet attaquant l'ait trouvé ou non, le prochain le fera. Bien qu'un audit assisté par IA ait été réalisé quelques semaines avant le vol, il n'a rien trouvé (potentiellement en raison des capacités du modèle, potentiellement en raison de la construction spécifique de la recherche). Depuis le début de l'attaque, des chercheurs ont montré plusieurs modèles de pointe localisant le même défaut en quelques minutes à partir d'une seule invite. Le code est resté ouvert à l'examen humain pendant cinq ans et aucun humain ne l'a remarqué.
Coinkite avait déplacé son firmware d'une licence de logiciel libre à des termes de source disponible, MIT avec une clause Commons, après que Foundation Devices ait utilisé le code dans un produit concurrent. Vous pouviez lire la source mais pas construire une entreprise dessus. Cela n'a rien changé. Le bug vivait dans un code qu'une machine pouvait lire indépendamment de ce que la licence permettait ; il est entré dans l'arbre, en fait, dans la réécriture qui a supprimé le dernier des codes GPL. Le changement de licence n'a pas augmenté la protection ; il a simplement changé l'économie de la découverte du bug.
À l'ère de l'IA hautement qualifiée, tout ce qui est distribué est lisible, ou le sera bientôt. Éliminez les symboles d'un binaire, passez-le à travers un décompilateur, et sort le pseudo-C qui accueille quiconque a ouvert Ghidra : des variables sans nom, un flux de contrôle aplati, des fonctions étiquetées FUN_00401a20. Illisible pour la plupart des gens. Cette haute barrière à la compréhension humaine était toute la prime de sécurité du "code source fermé".
Un programme compilé n'a d'autre choix que de dire la vérité. Le code qui reste crypté ne peut pas s'exécuter. Au moment de l'exécution, le processeur doit recevoir les instructions réelles, donc quoi que le programme fasse, il remet à la machine un compte rendu complet et exact de la façon de le faire. L'information est toute là dans le code machine. L'obfuscation ne peut pas, et ne peut pas, l'enlever.
Si lire un binaire semble trop difficile pour qu'une machine le maîtrise bientôt, pesez-le par rapport à ce que les machines font déjà face à des problèmes bien plus difficiles. Lire un binaire est une analyse : chaque fait dont vous avez besoin est devant vous, et le travail consiste à extraire. L'invention mathématique est un autre ordre de difficulté, car elle exige un objet que personne n'a jamais vu. À 02h19 UTC le 20 juillet, Levent Alpöge, un mathématicien travaillant avec Claude Fable 5 d'Anthropic, a posté un contre-exemple à la conjecture jacobienne de Keller, un problème ouvert depuis 1939 et suffisamment difficile pour figurer sur la liste des défis de Stephen Smale pour le XXIe siècle. Des générations ont essayé. La réfutation est trois polynômes en trois variables. Lean l'a vérifiée en quelques heures, et elle est suffisamment courte pour que quiconque puisse la confirmer dans un système d'algèbre informatique en environ une minute.
La jacobienne est tombée en un après-midi, tandis que le questionneur regardait apparemment le match final de la Coupe du Monde de la FIFA. En mai, un modèle d'OpenAI a renversé la conjecture de distance unitaire d'Erdős, une question ouverte depuis 1946 ; fin juillet, une conjecture de théorie des graphes vieille de 30 ans est tombée sous quatre invites ; entre-temps, il y a eu la réfutation de la jacobienne et une série d'autres résultats qui avaient tenu pendant des décennies.
Définissez ce rythme à côté de la tâche modeste de lire le code machine déjà disponible sur Internet. Les modèles d'aujourd'hui gèrent mieux le code source et la sortie des décompilateurs que les octets bruts, donc un binaire entièrement fermé conserve une marge étroite. Cette marge est un obstacle de coût, et elle s'érode à la vitesse à laquelle vous l'observez partout ailleurs. Parier sur la sécurité de la durée de vie de cette marge signifie parier contre une horloge qui ne fait qu'accélérer.
La même capacité qui trouve votre bug d'entropie lit votre méthode propriétaire. C'est la victime silencieuse, et cela impacte les entreprises qui ne se sont jamais considérées comme exposées à quoi que ce soit d'open source. Le secret commercial dans les logiciels expédiés n'était toujours qu'une obscurité en costume. La loi le dit depuis aussi longtemps que la loi sur les secrets commerciaux existe : l'ingénierie inverse d'un produit que vous possédez légalement est un jeu équitable, et donc un secret ne survit que tant que cette ingénierie inverse reste coûteuse. Lorsque le coût d'extraction tombe à un abonnement et à une invite, le secret incarné dans le code que vous remettez à vos clients cesse d'en être un. Votre algorithme astucieux, votre format non documenté, votre avantage dans le binaire : lisible par quiconque se soucie de regarder, sur une chronologie de plus en plus mesurée en minutes.
Rien de tout cela ne rend nécessairement l'open source sûr. Heartbleed s'est caché dans la bibliothèque TLS la plus largement déployée sur terre pendant deux ans, car la visibilité sans attention financée ne trouve rien. La porte dérobée xz a montré que le modèle de contribution ouvert est lui-même une surface d'attaque, que un adversaire patient peut traverser avec un visage amical et deux ans de bons commits. Alors que l'ouverture était autrefois un bouclier, ce n'est plus le cas. Ce qu'elle achète maintenant, ce sont des examinateurs qui sont autorisés à regarder, des constructions qui peuvent être reproduites et vérifiées indépendamment, une sortie lorsque un fournisseur meurt ou se retourne, et la reconnaissance que tout cela se produira que vous le souhaitiez ou non.
Nous devons maintenant supposer que chaque ligne expédiée sera lue par quelqu'un qui souhaite nuire, parce que cela sera le cas. Le défenseur détient un avantage structurel que l'attaquant n'aura jamais : le temps. Vous pouvez appliquer les mêmes modèles de frontière à votre propre code avant la sortie, dans l'espace entre l'engagement et l'expédition, tandis que l'attaquant attend un binaire qui n'existe pas encore. Rendez vos constructions reproductibles, afin qu'elles soient liées à la source et que la source puisse être vérifiée. Concevez pour échouer fermé, et gardez le noyau de confiance suffisamment petit pour qu'un seul bug ne puisse pas tout compromettre. Pour le business spécifique de détenir des Bitcoins, apprenez la leçon que Coldcard enseigne en temps réel : possédez l'entropie que vous ne pouvez pas vous permettre de voir devinée, gardez l'élément sécurisé minimal et derrière une interface publiée, et répartissez vos clés sur des implémentations indépendantes, afin qu'aucun appareil unique, et aucune erreur d'un fournisseur unique, ne soit l'ensemble de votre exposition.
Pour Bitcoin, les enjeux sont impitoyables d'une manière qu'ils ne le sont pas ailleurs, puisque la simple connaissance des clés privées accorde la possession. Le bug d'entropie a laissé des cicatrices permanentes. Corriger le générateur ne fait rien pour les graines qu'il a déjà produites ; un espace de clés faible reste balayable pour toujours, et la divulgation remet à l'attaquant la recette. Nous avons déjà observé cela. La vulnérabilité Milk Sad dans l'outil d'exploration libbitcoin, bx, a semé des clés privées à partir d'une valeur de 32 bits, et les attaquants drainaient les portefeuilles qu'il produisait avant que le défaut ne soit jamais rendu public. Les attaquants gardent leur propre calendrier, invités ou non. Pour de l'argent qui ne peut pas être récupéré, "trouvable éventuellement" est un synonyme de "disparu éventuellement."
Bitcoin n'a jamais fait confiance à l'obscurité. Le protocole est ouvert, ses règles vérifiables par quiconque, sa sécurité reposant non sur des secrets mais sur des mathématiques et des incitations qui se tiennent en pleine vue. Le matériel et les logiciels que nous construisons autour méritent le même standard, car l'alternative n'est plus sur la table. Le choix n'a jamais été ouvert ou fermé. Il était discipliné ou exposé.
La leçon plus large de cette situation Coldcard est que posséder un logiciel à code source fermé est comme avoir une graine générée par un Coldcard défectueux ; cela semble bon mais est fondamentalement construit sur du sable. Tout le monde peut lire le code --- la seule question qui reste est de savoir si vous reconnaissez ce fait, ou si vous et vos utilisateurs l'apprenez de la manière dont les utilisateurs de Coldcard l'ont fait, une adresse drainée à la fois.
Cet article est un post invité de Colin Crossman, qui est producteur de contenu chez Fedi. Les opinions exprimées sont entièrement les siennes et ne reflètent pas nécessairement celles de BTC Inc ou de Bitcoin Magazine.
Ce contenu est fourni à titre informatif uniquement et ne constitue pas un conseil financier, d'investissement, juridique ou fiscal. Les événements, récompenses, promotions en ligne ou informations mentionnées ici ne doivent pas être considérés comme une recommandation, une sollicitation ou une invitation à acheter, vendre, trader ou effectuer toute autre opération sur des actifs crypto. Les actifs crypto sont très volatils et peuvent entraîner des pertes. La disponibilité des services, produits et événements liés à WEEX peut varier selon les régions. Veuillez vous assurer que votre participation respecte les lois et réglementations locales applicables.





























