Le film de l'attaque : 41 minutes pour tout vider

Imaginez votre Bitcoin enfermé dans un hardware wallet qui n'a jamais été connecté à Internet, qui n'a jamais quitté votre tiroir. Vous ne le vérifiez même pas tous les jours, parce qu'il est hors ligne, parce que vous avez tout fait correctement. Et puis un jour, vous ouvrez le tiroir et tout a disparu. Ce scénario n'est pas un film, il est arrivé à des centaines de détenteurs de Bitcoin.

L'attaquant ne ratissait pas large, il visait avec précision. Il ciblait uniquement des portefeuilles en signature unique avec de gros soldes. En 41 minutes, près de 70 millions de dollars se sont évaporés. C'était une récolte planifiée, pas un incident aléatoire. La racine du problème, vous allez à la fois rire et pleurer, remonte à une mise à jour de firmware de 2021 qui a discrètement déposé une bombe à retardement.

La faille technique : une bombe à retardement depuis 2021

Le Coldcard était censé utiliser un vrai générateur de nombres aléatoires intégré à la puce pour créer une seed phrase totalement aléatoire à chaque création de portefeuille. Mais un commutateur a été écrit dans le mauvais sens. Résultat : le système est retombé sur une méthode pseudo-aléatoire prévisible pour générer les clés.

Je vous donne une analogie. Vous pensez que le mot de passe de votre coffre-fort est une chaîne aléatoire. En réalité, le fabricant vous dit discrètement : « Nous avons pris votre numéro de maison et nous l'avons combiné avec le nombre exact de maisons dans la rue. » Cela semble fou, parce que c'est facile à découvrir et à pirater. C'est exactement ce qui s'est passé avec Coldcard.

Mais il y a une exception, une lueur d'espoir dans ce chaos. Si vous avez lancé les dés vous-même lors de la configuration initiale du portefeuille, ou si vous avez ajouté une couche supplémentaire appelée passphrase, l'attaquant ne pouvait pas reconstituer votre seed. Vous étiez complètement protégé. Retenez ce mot : passphrase. Nous y reviendrons plus loin.

CoinKite corrige, mais les anciennes seeds restent condamnées

CoinKite, le fabricant, n'a pas réagi lentement. Le lendemain de la divulgation publique de la vulnérabilité, ils ont poussé un firmware corrigé pour tous les modèles concernés. Mais la partie brutale est ailleurs. Un firmware peut être réparé, mais les anciennes seeds que vous avez déjà générées ne le peuvent pas.

C'est comme installer un nouveau verrou après que le voleur a déjà fabriqué une clé maîtresse pour votre maison. Le voleur est déjà à l'intérieur. Vous devez déménager, c'est-à-dire générer un tout nouveau jeu de clés pour changer la serrure.

Après FTX, le mythe du cold wallet absolu s'effondre

Après l'effondrement de FTX, toute l'industrie a lancé un mouvement massif : retirez vos cryptos des exchanges. « Not your keys, not your coins » est devenu le slogan le plus fort de l'espace. Coldcard était traité comme le totem ultime de ce mouvement, le choix des hardcore, la réponse par défaut des joueurs expérimentés.

Aujourd'hui, on sent à quel point le contraste est douloureux. Nous pensions avoir échappé au risque de garde des exchanges. En réalité, nous avons creusé un autre trou et nous avons sauté dedans. Il y a un vieux dicton pour ça : c'était trop beau pour être vrai. Plus une chose est présentée comme absolument fiable, plus il faut garder un peu de scepticisme.

La vulnérabilité elle-même ne m'a pas le plus choqué. N'importe quel matériel ou système peut théoriquement avoir des failles. Ce qui m'a fait bondir, c'est que la bombe est restée silencieuse pendant cinq années complètes sans que personne ne la trouve.

L'auto-garde : le début de votre responsabilité

Je sais ce que vous pensez : à qui faire confiance maintenant, Cédric ? Un exchange centralisé ? Une autre entreprise de cold wallet ? Soyons directs. La question est mal posée depuis le début. Quand vous laissez des cryptos sur un exchange, vous déléguez le contrôle et vous pariez que quelqu'un d'autre ne fera pas d'erreur. Quand vous détenez un cold wallet vous-même, vous reprenez le contrôle, mais vous prenez aussi la responsabilité. À partir de ce moment, si vous faites un seul faux mouvement, personne ne viendra vous sauver.

Le débat n'a jamais porté sur l'option la plus sûre. Il s'agit de savoir quel type d'effondrement vous pouvez supporter. L'auto-garde supprime le risque qu'un exchange explose, mais ce que vous obtenez en échange, c'est que chaque risque restant vous appartient à vous seul.

La phrase que je veux vraiment que vous reteniez de cet article est simple : dès que vous prenez les clés, l'histoire commence, elle ne se termine pas. Vous pensiez qu'une fois les clés en main, tout était réglé. En réalité, le jour où vous prenez les clés est le premier jour où vous devenez pleinement responsable de votre propre sécurité.

Ce que vous devez faire maintenant

Si vous utilisez un Coldcard, faites ceci immédiatement : mettez à jour le firmware, générez une toute nouvelle seed, puis déplacez correctement vos actifs vers cette nouvelle seed. L'ancienne seed ne peut pas être corrigée, ne l'utilisez plus.

Si vous n'êtes pas un utilisateur de Coldcard, vous devez agir aussi. Voici les mesures à appliquer sans attendre.

  • Répartissez vos fonds en trois couches : une petite somme pour les dépenses courantes et le trading peut rester dans un hot wallet pour la commodité ; les montants moyens vont dans un cold wallet séparé ; les très gros avoirs doivent être en multi-sig répartis sur au moins deux appareils situés dans deux endroits physiques différents. Un point de défaillance unique ne doit jamais pouvoir tout anéantir.
  • Lors de la génération d'une seed, lancez les dés vous-même. Ne faites pas confiance à l'algorithme de nombres aléatoires intégré de l'appareil pour 100 % de vos économies.
  • Ajoutez une passphrase supplémentaire. Les seules personnes qui s'en sont sorties indemnes cette fois sont celles qui utilisaient ce mot de passe supplémentaire, apparemment agaçant mais vital.
  • Vérifiez régulièrement vos adresses et vos soldes avec des outils open source. Dix minutes de travail valent mieux que de se réveiller un jour avec un portefeuille vide.

Conclusion : à qui la faute ?

Après avoir vu tant de cycles de bulles et d'effondrements, et après avoir vu tant de choses autrefois qualifiées d'absolument sûres être détruites par la réalité, je suis devenu de plus en plus certain d'une chose. D'abord, je suis totalement paranoïaque. Ensuite, je veux simplement que les gens ordinaires comprennent vraiment si la clé qu'ils tiennent est fiable. C'est pour cela que je promeus la décentralisation. Peu importe comment les autres m'appellent, je me présente comme l'ambassadeur de la décentralisation. Être décentralisé, cela implique tout cela, y compris de devoir prendre ces mesures supplémentaires.

Je veux vous laisser avec une question un peu inconfortable. Si la personne qui a perdu de l'argent aujourd'hui n'était pas quelqu'un d'autre mais vous, blâmeriez-vous le fabricant pour cette ligne de code inversée dans le firmware ? Ou vous blâmeriez-vous d'avoir cru que hardware wallet égale sécurité absolue ? Est-ce la croyance que vous avez choisie d'accepter au départ ? Je serais curieux de connaître votre réponse.

Restez prudents. Vérifiez tout. Ne faites confiance à personne.