Bitcoin : une vulnérabilité à la double dépense découverte dans plusieurs wallets

Collectionnez les articles du JDC en NFT

Collecter cet article

ZenGo, l’entreprise à l’origine du wallet éponyme, a découvert une faille dans plusieurs wallets Bitcoin. Celle-ci permet à un utilisateur malveillant de faire croire qu’une transaction a été reçue, alors que ce n’est pas le cas.

BigSpender : la faille de double dépense

ZenGo a publié le 2 juillet un rapport de recherche sur son blog, décrivant les différents aspects de la faille. Le rapport arrive 90 jours après la découverte effective de la faille. Cette période a permis aux équipes des wallets touchés de la résoudre avant qu’elle ne soit divulguée.

Ainsi, cette faille permet à un attaquant de faire croire à un utilisateur qu’il a reçu des BTC alors que la transaction a été annulée, comme l’explique le papier.

« Elle permet à un attaquant d’annuler une transaction Bitcoin, mais de la faire apparaître dans le portefeuille vulnérable d’une victime pour un coût d’exécution est assez faible. » explique Oded Leiba dans le rapport

Cette faille touche notamment les wallets Ledger Live, BRD wallet et Edge wallet. Heureusement, ces derniers ont directement réagi et rectifié la faille sur leurs wallets respectifs.

Les détails de BigSpender

Cette faille a été découverte par les équipes de ZenGo alors qu’elles expérimentaient la fonction Replace-by-Fee dans le cadre de la R&D de leur wallet.

Concrètement, la fonction Replace-by-Fee permet de remplacer une transaction en attente de confirmation, par la même transaction en augmentant les frais. Cette fonctionnalité a été imaginée pour pouvoir “forcer” une transaction bloquée dans le mempool.

Malheureusement, de nombreux wallets n’ont pas convenablement implémenté cette fonctionnalité et partent du principe que toute transaction sera éventuellement confirmée. Ceci peut entraîner des situations proches du double spending, où un utilisateur dépense deux fois les mêmes fonds.

En pratique, un attaquant peut exploiter cette faille en envoyant à une victime une transaction avec des frais minimums (pour forcer un temps de confirmation long) en échange d’un bien ou d’un service, puis d’annuler immédiatement la transaction. De son côté, le wallet de la victime de reflétera pas l’annulation et présentera un solde incorrect à la victime, qui croira à juste titre que la transaction a été complétée.

Bien que le résultat puisse ressembler à une attaque dite de double dépense, les wallets incriminés cherchent à relativiser. Du côté de BRD, pas question de parler de doubles dépenses : l’attaque est jugée comme un déni de service (Dos). Pour ce qui est de Ledger, même combat, selon eux, celle-ci relève d’un bug d’interface qualifié “d’astucieuse supercherie”. 

Renaud H.

Ingénieur en software et en systèmes distribués de formation, passionné de cryptos depuis 2013. Touche à tout, entre mining et développement, je cherche toujours à en apprendre plus sur l’univers des cryptomonnaies et à partager le fruit de mes recherches à travers mes articles.

Commentaires

2 responses à “Bitcoin : une vulnérabilité à la double dépense découverte dans plusieurs wallets


Fijalkowski
Ca n'a pas l'air serieux comme allégations. As tu réellement bien analyser la situation ?
Répondre · Il y a 4 ans

Johny
Comment peut on annuler une transaction ? Je pensais que ce n’étais pas possible avec BTC.
Répondre · Il y a 4 ans

Votre email ne sera pas publié. En publiant un commentaire, vous acceptez notre politique de confidentialité.


Recevez un condensé d'information chaque jour