L'attaque Vector 76 est un type d'attaque à double dépense qui tire parti d'un petit bogue dans le système de consensus Bitcoin pour s'exécuter. De ce fait, l'attaquant peut saisir par malveillance des fonds et générer des pertes pour ses victimes.
TToutes les technologies développées, y compris blockchain, ont des vecteurs d'attaque que les cybercriminels peuvent exploiter à leur propre avantage. Dans le monde de la cryptographie, l'une des attaques les moins connues est la Attaque du vecteur 76 o Attaque vectorielle 76.
L'arrivée des monnaies numériques et crypto-monnaies a apporté un sérieux problème, le double dépenses. Dans les monnaies numériques centralisées, ce problème est facilement résolu en étant tout le contrôle dans le même noyau. Mais dans les monnaies décentralisées comme Bitcoin, le problème est beaucoup plus important. En fait, la conception de Bitcoin parvient à minimiser le problème des doubles dépenses. On peut même dire qu'il le "tue", mais en raison de la nature décentralisée de Bitcoin, il y aura toujours un point de défaillance qui pourra être utilisé pour doubler les dépenses.
C'est là où le Attaque vectorielle 76 o Attaque de confirmation, passez à l'action. Cette attaque à double dépense permet à l'attaquant d'inclure une transaction à double dépense dans un bloc et de l'utiliser à son avantage. Pour ce faire, il envoie un bloc auto-construit au réseau pour confirmer que le bloc est valide. De cette manière, l'attaquant peut saisir un certain montant de fonds avant que le réseau ne soit conscient du problème. Cette attaque a d'abord été décrite par l'utilisateur vector76 sur le forum Bitcointalk.
Mais, pour comprendre la nature de cette attaque, il est nécessaire de se plonger dans son fonctionnement, et c'est ce que nous ferons ensuite.
Comment fonctionne Vector Attack 76?
Cette attaque est en fait une combinaison entre les Attaque de course et l' Attaque de Finney. Son objectif principal est la échanges ou des maisons de change, où les attaquants peuvent acheter et vendre, leurs crypto-monnaies et tokens sans être détecté rapidement.
Mais comment est-ce possible? Eh bien, regardons de plus près l'anatomie de cette attaque.
Comment cette attaque est-elle exécutée?
Un Attaque vectorielle 76 est exécutable lorsqu'un mineur voyou, qui contrôle 2 nœuds complets réseau, connectez l'un de ceux-ci (nœud A) directement au service d'un central. Ensuite, le deuxième nœud complet (nœud B) l'interconnecte avec d'autres nœuds bien positionnés dans le réseau blockchain. Pour savoir à quels nœuds se connecter, le mineur doit surveiller le moment où les nœuds transmettent des transactions et comment ils les propagent ensuite aux autres nœuds du réseau. Ainsi, vous pourrez savoir quels nœuds sont les premiers à transmettre des opérations et vous pourrez vous connecter avec le service cible et avec des nœuds bien positionnés.
Après avoir établi les connexions nécessaires, le mineur génère un bloc valide en privé. À ce moment-là, créez une paire de transactions, qui auront des valeurs différentes, étant une transaction de grande valeur et une transaction de faible valeur. Par exemple, la première transaction peut être de 25 BTC ou plus, et la seconde de 0.1 BTC seulement. Par la suite, le mineur maintient le bloc miné en attente et attribue au nœud A la transaction de grande valeur, c'est-à-dire la transaction 25 BTC. Ce sera la transaction qui sera dirigée pour effectuer un dépôt dans le service de l'échange.
Lorsque le mineur détecte une annonce de bloc sur le réseau, il transmet immédiatement le bloc préfini par lui, directement au service d'échange, avec le bloc récemment généré sur le réseau. Ceci dans l'espoir que le reste des nœuds considèrent leur bloc comme valide et les assument comme faisant partie de la chaîne principale. Ainsi, ce bloc sera confirmé, et par conséquent, la transaction 25 BTC qui y est incluse est validée.
Une fois que le service de l'échange confirme la transaction de 25 BTC, l'attaquant effectue un retrait de l'échange pour le même montant de crypto-monnaie qu'il a déposé lors de la transaction précédente (25 BTC). Ensuite, l'attaquant envoie la deuxième transaction créée, la 0.1 BTC, au réseau à partir du nœud B. Dans le but de créer un fork qui oblige le réseau à rejeter et invalider la première transaction. Si cette fourchette survit, la première transaction avec le dépôt de 25 BTC sera invalidée, mais le retrait aura été effectué. Ainsi, l'attaquant aura réussi et l'échange perdra 25 BTC.
Attaque probabilité de succès
Tous ces processus se produisent immédiatement et simultanément, il est donc très probable que la transaction 0.1 BTC sera considérée comme la chaîne principale. Mais, quelques blocs plus tard, la transaction de dépôt avec 25 BTC est invalidée. En effet, le nœud B, qui transmet la transaction 0.1 BTC, est connecté à des nœuds bien positionnés qui relayeront cette transaction beaucoup plus rapidement sur le réseau. Alors que le nœud A, qui contient la transaction de dépôt de 25 BTC, est directement connecté uniquement au service de l'échange. Ce nœud devra relayer la transaction vers d'autres nœuds, donc c'est beaucoup plus lent que le nœud B.
Dans le cas contraire, là où le bloc accepté sur la chaîne principale contient la transaction 25 BTC, l'attaquant ne retirera que les 25 BTC qu'il a déposés sur l'échange. Par conséquent, Vector Attack 76 ne réussirait pas. Pourtant, dans ce scénario, il n'y a ni pertes ni gains, ni pour l'attaquant ni pour l'échange.
Avec ceci expliqué, il peut être détecté qu'il existe une forte probabilité de succès dans l'exécution de ce type d'attaque. Mais, même ainsi, il n'est pas courant de le faire car un échange est nécessaire pour accepter d'effectuer des paiements de retrait après une seule confirmation, et la grande majorité des échanges nécessitent généralement 2 à 6 confirmations.
Cependant, une entreprise qui propose des biens ou services numériques pourrait également être victime de ce type d'attaque.
Que savez-vous, cryptonuta?
L'existence du Vector Attack 76 est-elle signe du manque de sécurité de la blockchain?FAUX!
Tous les systèmes présentent des vulnérabilités en raison de leur infrastructure, mais connaître ces erreurs et les résoudre est essentiel pour augmenter sa sécurité. Bitcoin en est le meilleur exemple, l'attaque du vecteur 76 est quelque chose de structurel, mais il n'est possible que si ladite structure n'est pas suffisamment étendue et décentralisée, ce que la communauté sait et lui donne une raison de se répandre de plus en plus dans l'ordre. pour le rendre plus sûr.
Comment se protéger d'une attaque Vector 76?
Pour vous protéger de ce type d'attaque, vous devez prendre en compte certaines recommandations:
- Utilisez des systèmes qui n'acceptent pas les transactions avec une seule confirmation. Vector Attack 76 nécessite que cela soit possible pour mener à bien l'attaque. Au lieu de cela, le moins auquel nous devrions nous attendre est d'avoir 2 commits, voire 6, comme cela est largement recommandé.
- Le nœud que nous utilisons doit éviter d'avoir les connexions entrantes activées, ou à défaut, de définir des connexions entrantes à partir d'ordinateurs bien reconnus. Cela empêche l'attaquant d'injecter de fausses informations sur la blockchain à notre nœud.
- Les connexions de nœuds sortantes doivent également être surveillées et autorisées uniquement vers des nœuds bien connus. Cela empêche nos nœuds de donner des informations sur l'état de la chaîne que nous gérons.
Avec ces mesures, nous pouvons nous protéger de ce type d'attaque sans problèmes majeurs.