L'attaque par relecture, également connue sous le nom d'attaque par relecture, est une attaque réseau dans laquelle une entité malveillante intercepte des données valides et les transmet à plusieurs reprises sur le réseau. En raison de la validité des données originales (généralement celles provenant d'un utilisateur autorisé), les protocoles de sécurité du réseau traitent généralement cette attaque comme une transmission normale de données. Dans le même temps, étant donné que les pirates informatiques effectuant des attaques par relecture intercepteront les informations originales et les retransmettront inchangées, les pirates n'auront généralement pas besoin de pirater les données.
Quel type de dégâts un pirate informatique peut-il causer en utilisant une attaque par relecture ?
Les attaques par relecture peuvent accéder à d'autres informations stockées dans un réseau protégé en transmettant des informations d'identification qui semblent valides. Ils peuvent également inciter les institutions financières à effectuer des transactions répétées, permettant ainsi aux attaquants de retirer des fonds directement des comptes des victimes. Dans certains cas, les pirates combinent différentes parties de différents messages cryptés et téléchargent le texte chiffré obtenu sur le réseau. Il s'agit d'une attaque dite copier-coller. Les pirates informatiques utilisent souvent ce type d'attaque pour obtenir des informations plus précieuses sur le réseau et utilisent ces informations pour endommager davantage le système.
Les attaques par rejeu présentent certes des risques évidents, mais les pirates qui les utilisent uniquement obtiennent des gains limités. Un attaquant ne peut pas falsifier les données en cours de transmission et qui n'ont pas été rejetées par le réseau. L'efficacité de cette attaque se limitera donc à la retransmission des données précédentes. Et il est généralement facile de se défendre contre ces attaques. Des défenses de base telles que l’ajout d’horodatages aux transferts de données peuvent empêcher de simples attaques par relecture. Les serveurs peuvent également mettre en cache les messages en double et couper les connexions à ces messages après un certain nombre de fois, limitant ainsi le nombre de rediffusions consécutives qu'un attaquant peut effectuer.
Pourquoi les attaques par rejeu sont-elles critiques dans le domaine des cryptomonnaies ?
Bien que de telles attaques ne soient pas propres au monde des cryptomonnaies, elles sont particulièrement pertinentes pour l’environnement de sécurité des transactions en cryptomonnaies et des registres blockchain. Parce que les registres blockchain subissent souvent des changements de protocole ou des mises à niveau appelés « hard forks ». Lorsqu'un hard fork se produit, le grand livre existant est divisé en deux parties, une partie exécutant la version héritée du logiciel et l'autre exécutant la version mise à jour. Certains hard forks sont simplement destinés à la mise à niveau du grand livre, tandis que d'autres sont destinés à la formation plus efficace de nouvelles crypto-monnaies. L’exemple le plus évident de ce dernier effet est le hard fork du 1er août 2017, une mise à jour qui a permis à Bitcoin Cash de bifurquer du grand livre Bitcoin.
Lorsque ces hard forks se produisent, un attaquant pourrait théoriquement mener une attaque par relecture sur le grand livre de la blockchain. Les transactions traitées sur un grand livre peuvent être valides sur une autre chaîne après le hard fork. Ainsi, quelqu’un qui reçoit un certain montant de cryptomonnaie sur un registre peut passer à un autre registre et copier la transaction, et recevoir frauduleusement le même montant de cryptomonnaie une deuxième fois. Et comme le portefeuille ne fait pas partie de l’historique partagé du grand livre, les utilisateurs qui accèdent à la blockchain après le hard fork ne seront pas vulnérables à de telles attaques.
Comment la blockchain protège-t-elle contre de telles attaques ?
Oui, la vulnérabilité d’un registre blockchain forké à d’éventuelles attaques par relecture mérite notre attention, mais la plupart des hard forks incluent des protocoles de sécurité spécialement conçus pour empêcher de telles attaques. Les mesures efficaces contre les attaques par relecture de blockchain sont divisées en deux catégories, l’une est la protection obligatoire contre la relecture et l’autre est la protection sélective contre la relecture. Dans le cadre de la protection obligatoire contre la relecture, des marques spéciales sont ajoutées au nouveau grand livre généré par le hard fork pour garantir que les transactions effectuées sur le nouveau grand livre sont invalides sur l'ancien grand livre, et vice versa. Cette méthode a été mise en œuvre pour protéger Bitcoin Cash lorsqu’il est dérivé de Bitcoin.
Cette protection obligatoire contre la relecture est automatiquement appliquée dès qu’un hard fork se produit. La protection sélective contre la relecture oblige les utilisateurs à modifier manuellement leurs transactions pour garantir que ces transactions ne peuvent pas être rejouées. La protection sélective contre la relecture est efficace lorsqu'un hard fork est une mise à jour du grand livre principal de la crypto-monnaie plutôt qu'un nouveau grand livre.
En plus de ces solutions de grand livre, les utilisateurs individuels peuvent prendre eux-mêmes des mesures pour se protéger contre les attaques par relecture. Une méthode consiste à verrouiller les jetons en cours de transfert jusqu'à ce que le registre contienne un certain nombre de blocs, empêchant ainsi la validation du réseau pour les attaques par relecture par ceux qui possèdent le même nombre de jetons. Cependant, il convient de noter que tous les portefeuilles ou registres ne proposent pas cette fonction.
Résumer
Lorsqu’une attaque par réexécution est mise en œuvre avec succès, elle constitue une menace pour la sécurité du réseau. Contrairement à d’autres types d’attaques, les attaques par rejeu ne reposent pas sur le décryptage des données, ce qui en fait une « solution » efficace pour les acteurs malveillants afin de lutter contre des protocoles de sécurité de plus en plus sophistiqués. Mais il existe également des solutions puissantes qui peuvent efficacement empêcher que les systèmes blockchain en soient affectés. En particulier, l’utilisation d’une protection obligatoire contre la relecture peut empêcher efficacement les attaquants de copier les transactions après un hard fork.
