Attaque par rejeu définition

Une attaque par rejeu est une sorte d’usurpation d’identité. C’est une attaque réseau dans laquelle une transmission est répétée frauduleusement par un attaquant l’ayant intercepté. 

Appelée également attaque par relecture, elle permet à une entité malveillante d’intercepter puis de rejouer une transmission de données valides sans avoir à la déchiffrer.

En raison de la validité des données d’origine, les protocoles de sécurité du réseau traitent l’attaque comme une transmission de données normale. 


Utilisation d’une attaque par rejeu

Les attaques par rejeu peuvent être utilisées pour accéder à des informations d’identification valides. Elles peuvent également être utilisées pour tromper les institutions financières en dupliquant des transactions, permettant ainsi aux attaquants de retirer de l’argent directement sur les comptes de leurs victimes.

Dans certains cas, les pirates informatiques rassembleront des parties de plusieurs messages cryptés et transmettront le texte chiffré résultant au réseau, dans le cadre d’une attaque dite de “couper-coller”.

La réaction du réseau à ce type d’attaque donnera souvent au hacker des informations précieuses pouvant être ensuite utilisées pour exploiter davantage le système.

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. Ces attaques peuvent être contrées par le simple ajout d’un horodatage à la transmission de données.

Les serveurs peuvent également mettre en cache des messages répétés et les couper après un certain nombre de répétitions.

Cela afin de limiter le nombre de tentatives qu’un attaquant peut faire, en répétant rapidement et successivement la « relecture » des messages.


Contexte de l’attaque par rejeu avec les cryptomonnaies

Bien qu’elles ne soient pas seulement limitées à ce milieu, ces attaques sont particulièrement pertinentes dans le domaine des cryptomonnaie et de la blockchain.

Notamment parce que les registres basés sur la blockchain subissent parfois des modifications de protocole ou des mises à jour, connues sous le nom de hard fork.

Quand un hard fork a lieu, le registre existant se scinde en deux, l’un exécutant la version originale du logiciel et l’autre exécutant la nouvelle version mise à jour. L’un des exemples les plus connus est la mise à jour effectuée en Août 2017, permettant la création du Bitcoin Cash.

Lorsque ce type de hard fork intervient, il devient théoriquement possible pour les attaquants d’utiliser des attaques par rejeu contre les registres blockchain.

Une transaction exécutée sur un registre par une personne dont le portefeuille était valide avant ce hard fork sera également valide sur l’autre.

Ainsi, quelqu’un qui a reçu un certain nombre d’unités de cryptomonnaie d’une autre personne depuis le registre original pourrait en basculant sur l’autre registre, dupliquer la transaction et transférer frauduleusement un nombre identique d’unités sur son compte une seconde fois.

Étant donné que leurs portefeuilles ne font pas partie de l’historique partagé sur les registres, les utilisateurs qui se servent d’une blockchain après un « hard fork » ne sont pas vulnérables à ces attaques.