Les cryptomonnaies et la finance décentralisée sont construites sur la notion de contrôle partagé et de sécurité améliorée. Elles s’efforcent de répartir le pouvoir entre les utilisateurs en évitant de passer par une autorité centralisée et en appliquant des pratiques sécurisées qui incluent la non-divulgation de l’identité des utilisateurs.
Cependant, des acteurs malveillants ont exploité ces principes fondamentaux pour mener des activités illégales et des fraudes. Les piratages sont les principales préoccupations dans le monde des cryptomonnaies : les pirates peuvent détourner des fonds des portefeuilles de cryptomonnaies ou un transfert d’argent.
Il a été rapporté que 3,8 milliards $ de cryptomonnaies ont été volés en 2022 par des pirates qui ont utilisé diverses escroqueries de pig butchering, d’attaques de pont, de rug pulls ou de la toute dernière attaque en sandwich.
Aujourd’hui, nous allons faire la lumière sur l’une des dangereuses tactiques de piratage dont Vitalik Buterin nous a mis en garde en 2018 : les attaques en sandwich dans la DeFi.
Points clés
- Les attaques en sandwich sont des fraudes ayant lieu sur la blockchain qui permettent aux pirates de manipuler la dynamique du marché et l’équilibre des actifs à leur profit.
- Une attaque en sandwich est réalisée en effectuant une opération en amont d’une transaction en attente et en provoquant ainsi un slippage, avant d’effectuer une autre opération en aval et de réaliser un profit.
- L’escroquerie en sandwich dans la DeFi tire profit des DeX qui utilisent les mécanismes d’AMM pour équilibrer le marché et le pool de liquidités.
Qu’est-ce que le Sandwiching ?
Une attaque en sandwich dans le monde des cryptomonnaies consiste à entourer une transaction unique avec deux transactions malveillantes, visant à ainsi priver l’opération de la victime de tout profit.
Cette attaque est réalisée en localisant une transaction en attente dans le mempool d’une blockchain et en plaçant un achat avant elle et un autre après elle. Ces opérations sont appelées front-running et back-running et placent la transaction de la victime entre les deux, en la « prenant en sandwich ».
L’objectif de ce type d’attaque est de manipuler la dynamique du marché, en particulier par le biais d’échanges décentralisés et de plateformes de DeFi. Par conséquent, une attaque en sandwich n’implique pas de piratage en termes de violation du code ou d’infiltration du système de la blockchain, mais repose sur la manipulation du marché.
L’attaquant (front run) achète le même jeton/cryptomonnaie que celui indiqué sur la transaction originale avant qu’elle ne soit validée, ce qui fait augmenter la valeur de la pièce, la transaction de la victime est traitée à un prix plus élevé, puis l’attaquant (back run) vend le jeton à un prix plus élevé et gagne la différence en tant que profit.
Comment fonctionne une attaque en sandwich ?
Le mempool est la liste des transactions en attente de la blockchain. En principe, cela signifie que les nœuds de validation (mineurs) ne l’ont pas encore récupérée et validée pour certaines raisons, notamment parce que les frais de gaz ne sont pas assez élevés.
Certains utilisateurs cherchent à obtenir les plus bas frais de gaz possibles lorsqu’ils achètent une cryptomonnaie, et placent donc leur transaction dans le mempool, en espérant qu’elle sera validée une fois que les frais auront baissé.
Cependant, le mempool est partagé publiquement et n’importe qui peut voir la liste des transactions en attente. Les acteurs malveillants peuvent ainsi repérer une transaction et en introduire une nouvelle à un coût de transaction plus élevé afin d’inciter les mineurs à la valider en premier.
Le prix d’achat est donc plus élevé et le prix d’exécution attendu augmente, ce qui fait que la victime de la fraude reçoit moins de pièces parce que la transaction devient plus chère après un glissement (slippage) de prix inattendu.
Ensuite, la deuxième couche du sandwich arrive via un ordre de vente au nouveau prix, plus élevé que prévu pour la victime, qui permet à l’acteur malveillant de réaliser des bénéfices.
Considérations financières derrière une escroquerie en sandwich
Ce type d’attaque diffère des attaques de type « flash loan » ou « rug pulls ». Elle vise cependant à obtenir un gain financier aux dépens d’un utilisateur de cryptomonnaie innocent.
Il n’est pas facile de réussir une attaque en sandwich en raison des coûts associés à l’exécution de ces transactions. L’escroc doit payer des frais de transaction pour deux achats, sans compter que cette manipulation du marché modifie les prix par petites fractions.
Par conséquent, les acteurs malveillants sont plus susceptibles de répéter cette astuce plusieurs fois avant d’apercevoir une brèche qui pourrait s’avérée bénéfique ou de parcourir soigneusement le mempool pour trouver la bonne prise.
Types d’attaques en sandwich dans la DeFi
Les attaques en sandwich sont difficiles à prévoir et peuvent se produire à tout moment, car les bourses décentralisées attirent davantage d’utilisateurs. La présence d’un grand nombre d’utilisateurs sur la plateforme peut entraîner une augmentation du nombre d’attaques en sandwich dans la DeFi de deux manières.
Preneur de liquidités contre preneur de liquidités
Les preneurs de liquidités s’attaquent les uns aux autres en repérant une transaction en attente d’un montant substantiel qui peut conduire à un gain financier pour placer des transactions autour de cette dernière.
Cette attaque en sandwich tire parti des normes des teneurs de marché automatisés, où le pool de liquidités s’ajuste lui-même pour faire face à l’évolution de la dynamique de l’offre et de la demande.
Par conséquent, les transactions ultérieures visent à manipuler les prix des actifs et à désavantager le processus d’achat initial, qui a reçu moins de pièces/jetons en conséquence.
Cependant, il n’est pas garanti que le mineur récupère la transaction malveillante en premier et la valide avant celle de la victime, ce qui pourrait faire échouer les attaques en sandwich.
Fournisseur contre preneur de liquidités
Un autre type d’attaque en sandwich consiste à ce que les fournisseurs de liquidités attaquent les participants au marché, en profitant de leur capacité à modifier la liquidité du marché et en provoquant un taux de slippage inattendu.
Cette approche fonctionne de la même manière que l’attaque en sandwich qui oppose deux preneurs de liquidité mentionnée plus haut. Cependant, l’acteur malveillant entreprend ici une étape supplémentaire en manipulant la liquidité.
Tout d’abord, il retire la liquidité du marché afin de déclencher un glissement (slippage) de prix inattendu pour la victime, dont la transaction est désormais différente du prix d’exécution prévu.
Une fois que la transaction de la victime a été exécutée, ils réintroduisent des liquidités pour revenir au solde initial du pool avant de prendre le contre-pied de l’opération de l’utilisateur initial pour gagner de l’argent sur la différence de prix.
La dynamique du marché, à l’origine d’une attaque en sandwich
Les attaques en sandwich se produisent en exploitant les échanges des teneurs de marché automatisés comme Uniswap et PancakeSwap parce que leur mécanisme implique le rééquilibrage du pool de liquidités après les changements dans l’offre et la demande.
Par conséquent, les attaques en sandwich sont plus susceptibles de se produire sur ces plateformes et de tirer parti de la dynamique du marché. Dans le cas contraire, il n’y aurait pas de slippage et les attaques en sandwich n’auraient aucune valeur.
L’autre facteur qui rend les attaques en sandwich possibles est l’aspect du slippage (glissement de prix), qui se produit lorsque le prix d’exécution réel est différent du prix souhaité.
Cet événement se produit lorsque la liquidité du marché change radicalement ou que l’équilibre des actifs fluctue en raison de changements dans le niveau de l’offre.
Éviter les attaques en sandwich dans le secteur des cryptomonnaies
Malheureusement, il n’y a aucun moyen d’échapper aux attaques en sandwich dans la DeFi lorsqu’elles se produisent, car elles sont effectuées en quelques secondes, juste après avoir trouvé les transactions en attente des proies. De plus, les escrocs peuvent continuer à effectuer des attaques en sandwich sans subir de répercussions.
Cependant, il existe des mesures de précaution que vous pouvez prendre, notamment en effectuant des transactions par l’intermédiaire de plateformes qui garantissent un faible taux de slippage ou qui offrent une assurance contre le slippage. Ces plateformes déploient des mécanismes spéciaux pour réduire les risques d’attaques en sandwich.
Vous pouvez également payer des frais de transaction plus élevés pour que votre achat soit traité plus rapidement par les nœuds de validation.
Conclusion
Les attaques en sandwich dans la finance décentralisée tirent parti de la dynamique du marché en entourant les transactions en attente par deux transactions malveillantes. Cette approche entraîne des déséquilibres sur le marché et un taux de slippage inattendu.
Les attaques en sandwich visent à augmenter le taux de change de la transaction de la victime et à l’inverser par la suite afin d’enregistrer des profits. Ces attaques se produisent entre preneurs de liquidités sur le marché ou un fournisseur de liquidités et un preneur de liquidités.
Cette escroquerie d’AMM vise les plateformes et protocoles d’échange décentralisés car ils attirent un grand nombre d’utilisateurs, ce qui augmente le nombre de victimes potentielles.