La malléabilité des transactions fait référence à la capacité pour un attaquant de modifier ou d'altérer le hachage qui identifie une transaction dans la blockchain. Une situation qui peut sans aucun doute altérer et générer de sérieux problèmes au sein d'un système de paiement comme les crypto-monnaies.
Là la malléabilité des transactions Bitcoin, est un type de Attaque par déni de service (DoS), qui permet à un attaquant de modifier ou d'altérer le hachage qui identifie une transaction au sein de la blockchain.
À première vue, cela peut ne pas sembler un problème en soi, car la modification du hachage d'une transaction, cela ne l'affecterait pas du tout et la transaction serait exécutée de la même manière. Cependant, le problème se pose lorsque le destinataire de la transaction prétend ne pas voir la transaction reflétée dans son compte. Par conséquent, il se méfie de l'utilisateur qui a effectué l'opération et du système en général.
C'est pour cette raison que la malléabilité d'une transaction est un problème sérieux pour les systèmes de paiement de crypto-monnaies. Un problème auquel de nombreuses crypto-monnaies sont confrontées et résolvent de diverses manières.
Comment cette attaque se produit-elle?
Les relations en Bitcoin, ils sont constitués d'une ou plusieurs entrées et d'une ou plusieurs sorties. Les entrées sont constituées d'une série de références qui font référence aux sorties d'une transaction précédente et sont appelées sorties non dépensées (UTXO). D'autre part, les sorties contiennent l'adresse à laquelle la transaction a été effectuée et le montant des fonds transférés.
Chaque transaction effectuée sur la blockchain Bitcoin contient son propre hachage. Ce hachage est unique et non répétable et est utilisé pour identifier ou localiser une transaction particulière dans la blockchain.
De cette manière, grâce au hachage, les mineurs peuvent suivre et vérifier qu'une transaction a été agrégée dans un bloc. Et par conséquent, validez qu'il fait partie de la blockchain.
Maintenant, jusqu'à ce que la validation et la confirmation de cette transaction soient effectuées, un attaquant a la possibilité de modifier et d'altérer l'identifiant hash de la transaction, sans altérer la signature numérique. Avec cette action, l'attaquant parvient à masquer la transaction et fait ainsi croire à l'émetteur que l'opération n'a pas été réalisée. Ainsi, quelques heures plus tard, il réclame à l'émetteur de refaire le virement, affirmant qu'il n'a pas reçu les fonds. C'est là que l'attaque ou l'arnaque est exécutée. Étant donné que l'attaquant a bien reçu les fonds transférés, ils ne sont pas reflétés avec le hachage (txid) qui a été enregistré dans le service.
Faisabilité d'exécuter cette attaque
La principale cible des attaques dues à la malléabilité des transactions sont les échanges ou échanges de crypto-monnaie. En raison du volume important d'opérations et de transactions qu'ils gèrent au quotidien, un attaquant peut profiter de la situation.
Dans le cas d'un utilisateur qui n'effectue pas autant de transactions par jour, il est très peu probable qu'il soit victime de ce type d'attaque. Depuis lors de la consultation du solde de votre compte vous verrez le débit de la transaction reflété. Ainsi, vous pouvez voir que la transaction a été effectuée et vérifier que l'adresse de destination a bien transféré les fonds.
Mt Gox et le problème de malléabilité des transactions
Les nombreuses pertes subies par le célèbre et échoué échange des crypto-monnaies, Mt Gox, ont été causés comme rapporté par l'équipe technique et son PDG, Mark Karpelès, en raison d'un problème de malléabilité des transactions. Cela a permis à divers pirates et attaquants de faire des réclamations pour des transactions prétendument ratées. Ce qui a totalisé environ 850.000 2014 bitcoins volés. Un événement malheureux qui a conduit la bourse à la faillite en XNUMX, laissant des milliers d'utilisateurs en colère et perplexes.
Selon Karpelès, cela était dû à la malléabilité des transactions. Karpeles a fait valoir que les utilisateurs pouvaient effectuer plusieurs retraits de leurs fonds, affirmant qu'ils n'avaient pas été effectués, alors qu'en fait ils l'étaient.
Cependant, plusieurs enquêtes menées ont déterminé que la faillite de cet échange n'était pas seulement due à un acte de piratage, mais aussi à la manipulation de données par l'équipe responsable de Mt Gox. Dans le rapport publié par ArXiv On estime que la perte de bitcoins due à la malléabilité des transactions ne dépasse pas 400 unités.
Que savez-vous, cryptonuta?
La malléabilité des transactions constitue-t-elle un risque pour la sécurité?VRAI!
Dans une certaine mesure, la malléabilité des transactions est un risque pour la sécurité, car un acteur malveillant sur un échange pourrait utiliser cette faiblesse pour falsifier les enregistrements de transaction et obtenir illégalement de l'argent qui ne lui appartient pas.
Solutions proposées au problème de malléabilité
Depuis que ce problème de transactions a été détecté dans Bitcoin et d'autres crypto-monnaies, les développeurs et les spécialistes ont déployé plusieurs efforts pour y faire face. Ainsi, il a conduit au développement de deux solutions avec pour objectif de traiter la malléabilité.
Propositions en Bitcoin
- BIP 0062 est une solution présentée en 2014 par le développeur Pieter Wuille afin de résoudre le problème de malléabilité des transactions Bitcoin, qui a fait perdre à l'expéditeur la trace de ses transactions une fois les hachages modifiés. De ce fait, sous des manipulations, il a envoyé les fonds encore et encore, générant de grosses pertes. Dans cette proposition, tous les moyens possibles de trouver la malléabilité dans les transactions sont exposés, avec lesquels ils peuvent être traités et résolus.
- SegWit est un autre outil conçu pour s'attaquer, entre autres, au problème de la malléabilité des transactions Bitcoin. Pour éviter cela, SegWit sépare les données de transaction, incluses dans l'arborescence Merkle, des signatures. Ainsi, les transactions qui utilisent et dépensent des sorties segwit ne sont pas vulnérables aux problèmes de malléabilité.
Propositions dans Ethereum
El Fourchette de Ethereum "Homestead" décrit dans le EIP-2, a résolu le problème de la malléabilité dans Ethereum. Plus précisément, la mise à jour rend toutes les signatures de transaction dont la valeur s est supérieure à secp256k1n / 2 sont désormais considérées comme invalides. Cela résout le problème de la malléabilité des transactions dans Ethereum.
Propositions dans Dash
Tiret Vous avez également apporté des modifications à votre logiciel pour éviter ce problème. En raison de la proximité du code Dash et Bitcoin, Dash a choisi d'appliquer un correctif en suivant les recommandations du BIP-66. Cela résout une partie des problèmes de malléabilité des transactions dans Dash. De plus, il a également appliqué un correctif basé sur les recommandations données dans le BIP-0147. Mais malgré cela, Dash n'est toujours pas totalement protégé contre ces types d'attaques, et pour son équipe de développement ce n'est pas une priorité de premier niveau, comme ils le montrent dans leur blogue.