Wallet Bitfi de McAfee : des chercheurs alertent sur le risque « brainwallet »

Et tant d’autres choses encore. John McAfee n’en finit pas d’animer les discussions de la cryptosphère.

Un jour, nous apprenons qu’il a survécu à une supposée tentative d’assassinat, lorsqu’il tweete de façon vengeresse depuis sa chambre d’hôpital, en annonçant qu’il retrouvera les commanditaires de cet acte odieux.

« Ma femme et moi, avec un message à mes ennemis incompétents »

Un autre, nous vous faisons savoir qu’il a décidé de se lancer dans la conception et la commercialisation de hardware wallets avec la marque Bitfi. Il affiche alors depuis une confiance à toute épreuve, et annonce même qu’il offrira 100 000 dollars à qui arrivera à « cracker » son hardware wallet. Il serait certain que son outil est “totalement immunisé contre le piratage” du fait d’une conception béton.

« Tout le monde me dit que Bitfi est piratable. Alors enregistrez-vous en tant que hacker et faites-le ! On vous envoie le hardware wallet pré-chargé avec 50$ en BTC. Si vous volez les BTC nous vous envoyons 100 000$. Vous abandonnerez peut-être. En ce cas, nous vous envoyons la phrase mnémonique pour que vous récupériez vos 50$. Faites-le ! »

De la suspicion et des critiques : un hardware wallet peut-il réellement être infaillible ?

Les critiques ont depuis été acerbes, avec des spécialistes et des chercheurs en cryptographie qui ont tenté de mettre les mains dans le cambouis pour vérifier les dires de McAfee. La situation est cependant particulière : Bitfi annonce une solution qui serait open-source, et l’offre d’un bounty de 100 000 dollars est assujettie à certaines conditions trop restrictives pour démontrer quoi que ce soit.

Attention, soyons cependant clairs : le but n’est pas dans cet article de dire si le wallet de Bitfi est « piratable » ou non, ou s’il est réellement sécurisé. Simplement, il semblerait que la gestion des critiques ad hominem par Bitfi (et la gouaille naturelle de McAfee) soit parfois au mieux mal placée ; voire que cette gestion désastreuse puisse faire naître la suspicion chez les observateurs extérieurs.

Le bounty qui ne serait que pure esbroufe

Andrew Tierney, consultant en cybersécurité et spécialiste IoT, observe avec beaucoup de suspicion les critères permettant de décrocher dans les faits le versement de la récompense, dans une note de blog détaillée disponible ici. Pour résumer, le portefeuille Bitfi est un brainwallet dans le principe, c’est-à-dire qu’il permet de générer une clé privée automatiquement (génération en BIP32) à partir d’une phrase mnémonique fournie par l’utilisateur (maximum de 30 caractères). Andrew Tierney considère que beaucoup d’axes d’attaque ne sont même pas considérés dans le bounty. Parmi ceux-ci, certains autres cryptographes ont par exemple identifié les axes suivants :

« Rapide liste des voies d’attaque : 1) Attaque par keylogger, 2) Brainflayer pour deviner la phrase mnémonique, 3) Cryptographie faible, 4) Interface graphique hackée : fausses adresses ou infos de transaction données par le matériel. »

D’autres alertes plus théoriques, mais démontrées

Ryan Castellucci, chercheur connu pour avoir démontré dès 2015 (lors de la DEFCON) comment cracker des brainwallets aux passphrases fragiles, a également pris la parole pour démontrer dans un billet détaillé que le wallet Bitfi n’était aucunement open-source, et qu’il présentait des fragilités surprenantes pour un hardware wallet. Il a dans la foulée mis à disposition une mise à jour de son utilitaire de cracking de brain wallets adaptée au Bitfi, sur un espace Github dédié.

Le dénigrement comme seule réponse

Bitfi n’a pas tardé à réagir, dénigrant les qualifications de Ryan Castellucci de façon assez surréaliste, au vu de son palmarès dans le domaine bien spécifique des brain wallets.

« Personne n’a jamais entendu parler de ce mec chez nous avant qu’il ne vienne nous troller. A contrario, notre soutien Loggia fût journaliste pour International Business Times and Digital Trends, donc il EST bien connu. Egalement, si ce troll était un « chercheur respecté », il ne mentirait pas et viendrait juste réclamer sa récompense du bounty. »

Leur réponse a eu le don d’irriter fortement Riccardo Spagni, lead developer de Monero (XMR), qui ne s’est pas privé de leur signaler la déconnexion totale du ton employé et de mettre en doute leur réel niveau de qualification en termes de sécurité cryptographique.

« Si personne de votre côté ne reconnaît Ryan Castellucci, qui a cassé la baraque avec une présentation dédiée au piratage des brainwallets de crypto à la DEF CON 23 il y a plusieurs années, MALGRE QUE VOUS VENDIEZ UN HARDWARE WALLET REPOSANT SUR LES BRAINWALLETS (!!!), cela en dit bien plus sur votre manque d’employés qualifiés que n’importe quoi d’autre. »

Des doutes persistants sur le réel fonctionnement du HW

L’histoire, assez rocambolesque, aurait pu en rester là, et ç’aurait déjà été largement suffisant. Mais… Andrew Tierney a remis une pièce dans la machine en se questionnant ouvertement : le hardware wallet est censé ne rien stocker, à part l’OS de la machine, et n’a pas de stockage supplémentaire a priori.

https://twitter.com/cybergibbons/status/1023605656912384000

« Tout cela n’a aucun sens. Ils n’ont pas de stockage. »

https://twitter.com/cybergibbons/status/1023629771991928832

« C’est une simple fonction de dérivation de clé dans une boite, connectée par le WiFi à… quelque chose. »

Pourtant, lors de la connexion, il lui a semblé avoir décelé qu’une connexion en Wifi avait lieu avec un élément non identifié. Difficile de dire lequel, mais il semblait suspecter l’existence d’un serveur de stockage centralisé avec lequel le hardware wallet communiquerait. Un autre point de fragilité massive, si cela venait à être avéré. McAfee avait pourtant déjà pris les devants en statuant que jamais il ne commettrait une telle imprudence :

« La phrase mnémonique n’est stockée sur aucun serveur Bitfi.com. Le serveur pourrait être hacké (tous les serveurs peuvent l’être) et le hackeur pourrait obtenir la phrase mnémonique. Je ne suis pas assez stupide pour risquer une tonne de fric sur quelque chose qui soit piratable. La phrase mnémonique n’est stockée que dans l’esprit humain. » 

 

Plus tard, alors qu’un internaute ayant eu accès au Bitfi lui faisait parvenir des photos des entrailles de la bête, Andrew Tierney constatait incrédule que la situation était pire qu’imaginée : le HW Bitfi est vendu 120 dollars, et la seule chose qu’il contient serait une puce MEDIATEK MT6580, sans aucun élément sécurisé (secure chip). Le secure chip est, en résumé, une puce supplémentaire qui vérifie l’intégrité du logiciel faisant tourner la machine, pour s’assurer que ce dernier n’a pas été piraté et modifié.

https://twitter.com/cybergibbons/status/1023667374153773057

« Nous avons des photos. C’est juste une puce MEDIATEK MT6580. Pas de signe d’un secure chip. »

Il repère ensuite un exemple de téléphone premier prix sur Alibaba qui tourne sur ce modèle de puce.

https://twitter.com/cybergibbons/status/1023671338844741632

« Voilà par exemple un téléphone reposant sur cette puce. »

Il conclut en expliquant que le HW Bitfi est une catastrophe sur de nombreux plans, notamment parce qu’il ne propose pas de design spécifique pour un hardware wallet; il est un simple bricolage d’éléments Android premier prix, et offre donc une surface d’attaque déraisonnable à un attaquant motivé. Le processeur n’a aucune fonction spécifique permettant de vérifier qu’il est tamper-proof (inviolable), et enfin, aucune mise à jour ne pourrait être apportée en l’état au vu du matériel choisi.

Gageons que la joute va se poursuivre entre les différents protagonistes. Rappelons simplement que beaucoup d’axes d’attaques existent pour compromettre un hardware wallet. Il semble difficile de statuer de façon catégorique sur le caractère non-piratable d’un tel matériel, d’autant plus lorsque ce matériel se trouve à l’examen être si généraliste, avec des composants a priori bon marché, et sans secure chip.

Sources : Cybergibbons ; rya.nc ; GitHub

Grégory Mohet-Guittard

Je fais des trucs au JDC depuis 2018. En ce moment, souvent en podcast et la tête dans le nuage.