Attaque Replay

10 min Niveau 6

Une attaque par relecture (Replay Attack), parfois aussi appelée attaque par lecture (Playback Attack), est une cyberattaque dans laquelle l'entité malveillante intercepte puis répète une transmission de données valide passant par un réseau. En raison de la validité des données originales (qui proviennent généralement d'un utilisateur autorisé), les protocoles de sécurité du réseau traitent l'attaque comme s'il s'agissait d'une transmission de données normale. Comme les messages originaux sont interceptés et retransmis mot pour mot, les pirates qui utilisent des attaques par rejeu n'ont pas nécessairement besoin de les décrypter.

Que peuvent faire les pirates avec une attaque par relecture ?

Les attaques par relecture peuvent être utilisées pour accéder à des informations stockées sur un réseau autrement protégé en lui transmettant des informations d'identification apparemment valides. Elles peuvent également être utilisées pour tromper les institutions financières en dupliquant des transactions, ce qui permet aux pirates de retirer de l'argent directement des comptes de leurs victimes. Dans certains cas, les pirates combinent des parties de différents messages chiffrés et transmettent le texte chiffré résultant au réseau dans ce que l'on appelle une attaque de type "couper-coller". La réaction du réseau à ce type d'attaque donne souvent au pirate des informations précieuses qu'il peut utiliser pour exploiter davantage le système.

Malgré les dangers évidents qui y sont associés, il existe des limites à ce que les pirates peuvent réaliser avec les seules attaques par rejeu. Les attaquants ne peuvent pas modifier les données envoyées sans que le réseau les rejette, ce qui limite l'efficacité de l'attaque à la répétition d'actions passées. Il est également relativement facile de se défendre contre ces attaques. Une défense aussi basique que l'ajout d'un horodatage à la transmission des données peut protéger contre les simples tentatives de relecture. Les serveurs peuvent également mettre en cache les messages répétés et les interrompre après un certain nombre de répétitions afin de limiter le nombre de tentatives qu'un attaquant peut faire en rejouant des messages en succession rapide.

Pourquoi les attaques par relecture sont importantes dans le monde des crypto-monnaies

Bien qu'elles soient loin de lui être exclusives, ces attaques sont particulièrement pertinentes dans l'environnement des transactions en crypto-monnaies et des ledgers blockchain. La raison en est que les grands livres de blockchain subissent parfois des changements de protocole ou des mises à niveau connus sous le nom de hard forks. Lorsqu'un hard fork a lieu, le grand livre existant se divise en deux, l'un exécutant l'ancienne version du logiciel et l'autre la nouvelle version mise à jour. Certains hard forks ne visent qu'à mettre à jour le grand livre, tandis que d'autres bifurquent et forment effectivement des crypto-monnaies entièrement nouvelles. L'un des exemples les plus connus de ce dernier type de hard fork est celui qui a permis à Bitcoin Cash de se séparer de la blockchain principale de Bitcoin le 1er août 2017.

Lorsque ces hard forks se produisent, il devient théoriquement possible pour les attaquants d'utiliser des attaques par rejeu contre les grands livres de la blockchain. Une transaction traitée sur un grand livre par une personne dont le portefeuille était valide avant le hard fork sera également valide sur l'autre. Par conséquent, une personne ayant reçu un certain nombre d'unités de crypto-monnaies d'une autre personne par l'intermédiaire d'un grand livre pourrait passer à l'autre grand livre, reproduire la transaction et transférer frauduleusement un nombre identique d'unités sur son compte une deuxième fois. Comme leurs portefeuilles ne font pas partie de l'historique partagé des grands livres, les utilisateurs qui arrivent sur une blockchain après un hard fork ne sont pas vulnérables à ces attaques.

Comment les blockchains peuvent-elles être protégées contre ces attaques ?

Bien que la vulnérabilité des grands livres de blockchain bifurqués aux attaques par rejeu soit une préoccupation valable, la plupart des bifurcations dures comprennent des protocoles de sécurité spécifiquement conçus pour empêcher ces attaques de réussir. Les mesures efficaces contre les attaques par relecture de blockchain se divisent en deux catégories : la protection forte contre les relectures et la protection opt-in contre les relectures. Dans le cas de la protection forte contre la relecture, un marqueur spécial est ajouté au nouveau grand livre qui émerge du hard fork pour garantir que les transactions qui y sont effectuées ne seront pas valides sur l'ancien grand livre, et vice-versa. C'est le type de protection qui a été mis en œuvre lorsque Bitcoin Cash a bifurqué de Bitcoin.

Lorsqu'elle est mise en œuvre, la protection forte contre le rejeu est exécutée automatiquement dès que le hard fork se produit. En revanche, la protection opt-in contre le rejeu exige que les utilisateurs modifient manuellement leurs transactions pour s'assurer qu'elles ne peuvent pas être rejouées. La protection opt-in peut être utile dans les cas où le hard fork est conçu comme une mise à niveau du grand livre principal d'une crypto-monnaie, plutôt que comme une séparation complète de celui-ci.

En plus de ces solutions à l'échelle du grand livre, les utilisateurs individuels peuvent également prendre des mesures pour se protéger contre les attaques par rejeu. L'une des méthodes consiste à bloquer le transfert de pièces jusqu'à ce que le grand livre atteigne un certain nombre de blocs, empêchant ainsi toute attaque par rejet impliquant ces unités de pièces d'être vérifiée par le réseau. Il convient toutefois de noter que tous les portefeuilles ou grands livres ne proposent pas cette fonction.

Conclusion

Les attaques par relecture représentent une réelle menace pour la sécurité des réseaux lorsqu'elles réussissent. Contrairement à de nombreux autres types d'attaques, les attaques par rejeu ne reposent pas sur le déchiffrement des données, ce qui en fait une solution de contournement efficace pour les acteurs malveillants qui sont de plus en plus confrontés à des protocoles de chiffrement sécurisés. En raison des hard forks qui sont utilisés pour les mettre à niveau ou les diviser, les ledgers blockchain sont particulièrement vulnérables à ce type de cyberattaque. Cependant, il existe des solutions robustes qui sont raisonnablement efficaces pour protéger les systèmes blockchain. En particulier, l'emploi d'une forte protection contre le rejet peut garantir que les attaquants seront incapables de répliquer les transactions après qu'un hard fork a eu lieu.

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus