Topics DeFi

Qu'est-ce qu'une attaque par sandwich dans le domaine des cryptomonnaies et comment s'en protéger ?

Intermediate
DeFi
30 sept. 2024

Les plateformes d'échange décentralisées (DEX) offrent aux traders de cryptomonnaies de nombreuses opportunités et des avantages distincts. Parallèlement, ces plateformes attirent souvent des acteurs malveillants déterminés à nuire et à tirer profit aux dépens d'autres traders sans méfiance. Alors que les attaquespar « rug pull » et les attaques par prêts éclair sont souvent mentionnées lorsqu'on évoque les menaces spécifiques aux plateformes de trading décentralisées, un autre type d'attaque malveillante — l'attaque sandwich — reçoit beaucoup moins d'attention.

Dans sa forme la plus courante d'attaque sandwich, un trader aux intentions malveillantes repère une transaction d'échange en attente sur une blockchain et place deux ordres — un avant et un après la transaction ciblée — afin de manipuler le prix de l'actif. L'objectif du coupable est d'acheter l'actif avant la hausse de prix prévue, puis de le revendre rapidement après l'inflation. La victime de l'attaque finit par acheter le bien à un prix exorbitant et assiste ensuite, impuissante, à la chute vertigineuse de sa valeur.

Les attaques sandwich, bien que moins médiatisées que certaines autres vulnérabilités de sécurité dans le monde de la finance décentralisée (DeFi), peuvent néanmoins être dévastatrices pour les traders qui en sont victimes. Un trader qui ignore être la cible d'une telle attaque peut rapidement perdre des sommes importantes et être ruiné, surtout s'il passe activement des ordres pendant la phase d'attaque.

La bonne nouvelle, c'est qu'il existe plusieurs mesures que les traders peuvent mettre en œuvre pour minimiser la probabilité de devenir la proie idéale pour le petit-déjeuner de l'attaquant. Dans cet article, nous allons examiner de plus près les attaques de type « sandwich », leurs deux principales variantes et les principaux moyens de les éviter.

Points clés à retenir :

  • Une attaque sandwich est une faille courante sur les plateformes DEX, dans laquelle un attaquant place deux (et dans une variante, trois) transactions autour de l'ordre d'échange d'une victime, dans le but de manipuler les prix des actifs et de réaliser un profit aux dépens de la victime.

  • Les principaux moyens de se protéger contre les attaques sandwich incluent le contrôle des taux de glissement acceptables, l'utilisation de pools de swap plus importants, le paiement de frais de gaz plus élevés et l'utilisation de plateformes d'échange centralisées (CEX).

Qu'est-ce qu'une attaque sandwich dans le domaine des cryptomonnaies ?

Une attaque sandwich est un type de transaction malveillante sur les plateformes DEX où l'attaquant identifie une opération d'échange en attente et place un ordre avant et un autre juste après la transaction ciblée afin de manipuler le prix de l'actif. Le trader malveillant « prend en sandwich » la transaction en cours en effectuant simultanément un délit d'initié et un délit de fraude, d'où son nom. Leur objectif est d'acheter l'actif choisi par le trader sans méfiance à un prix inférieur, puis de le revendre immédiatement après leur opération de fraude.

Suite à une attaque par sandwich, la victime achète l'actif à un prix gonflé par rapport au prix d'exécution attendu. Après une transaction frauduleuse, le prix de l'actif diminue et la victime se retrouve avec un actif dont la valeur est inférieure à ce qu'elle a payé. En fonction du volume et de l'activité des transactions de la victime, les pertes consécutives à une attaque par sandwich — ou à une série d'attaques de ce type — peuvent être dévastatrices. Ces attaques sont assez courantes sur les plateformes d'échange décentralisées (DEX), bien qu'elles soient moins médiatisées que d'autres formes d'exploitation, comme les attaques par prêts flash.

Les attaques sandwich peuvent être considérées comme une forme de trading d'arbitrage. Cependant, contrairement à certaines autres formes d'arbitrage, ces attaques nuisent directement aux traders qui en sont victimes. L'escroc qui utilise l'arnaque du sandwich manipule intentionnellement le prix — avant et après la transaction de la victime — afin de tirer profit de cette dernière. De ce fait, ces attaques ne sont rien d'autre qu'une manipulation malveillante du marché, et sont largement condamnées au sein de la communauté DeFi.

Techniquement parlant, les attaques par sandwich sont possibles sur les plateformes de trading décentralisées en raison de la nature publique des blockchains. Chaque blockchain publique conserve ses transactions en attente dans la zonemempool , une salle d'attente pour les transactions avant qu'elles ne soient finalement inscrites dans le registre permanent des enregistrements de la blockchain. Les attaquants recherchent activement dans la mempool des transactions présentant un fort potentiel d'exploitation.

Comment fonctionne une attaque en sandwich ?

Voyons comment une attaque en sandwich typique pourrait se dérouler en pratique. 

Supposons qu'un trader décide de passer un ordre d'échange sur un DEX basé sur unteneur de marché automatisé (AMM), échangeant des USDT contre de l'ETH. Un attaquant de type « sandwich » repère la transaction de la victime dans la liste des transactions en attente et passe rapidement un ordre d'achat d'ETH, essayant ainsi de faire exécuter sa propre transaction de front-running en premier. En raison de la nature de la technologie blockchain, il existe des moyens pour un attaquant d'y parvenir (par exemple en payant des frais de gaz plus élevés pour augmenter la priorité de sa propre transaction). En exécutant sa propre transaction en premier, l'attaquant profite du prix plus bas de l'ETH. Suite à cet ordre d'achat, le prix de l'ETH dans le pool de trading augmente.

Par conséquent, lorsque l'ordre de la victime visant à échanger des USDT contre de l'ETH est exécuté, le prix d'exécution réel diffère de celui qu'elle espérait — et l'ETH coûte désormais plus cher, de sorte que la victime reçoit l'actif à un prix gonflé. Le coupable programme également une autre transaction, qui sera exécutée rapidement après celle de la victime. Dans cette opération de contrefaçon, le coupable vend de l'ETH à un prix gonflé et empoche le profit. Suite à cette transaction de vente, le prix de l'ETH chute et la victime possède désormais un actif dont la valeur est inférieure à son prix d'achat.

Types d'attaques sandwich

Preneur de liquidités vs. Taker

Il existe deux principaux types d'attaques sandwich. Le scénario le plus courant est celui du preneur contre le preneur. En règle générale, les auteurs d'attaques de type « sandwich » utilisent les pools de liquidités des AMM pour mener à bien leurs attaques. Dans le scénario preneur contre preneur, les opérations d'échange sont exécutées sur le pool et la configuration est celle décrite ci-dessus, le preneur malveillant essayant de manipuler les prix des actifs en plaçant à la fois une transaction de délit d'initié et une transaction de délit de fuite autour de l'ordre de la victime.

Fournisseur de liquidités vs. Preneur

Les attaquants utilisent également une modification de l'attaque sandwich standard en agissant comme fournisseurs de liquidités. Alors que les preneurs de liquidités attaquent en utilisant deux transactions, les attaquants exécutent trois ordres en mode fournisseur de liquidités contre preneur.

Dans un premier temps, le coupable retire des liquidités du pool de swaps en tant que méthode de délit d'initié, augmentant ainsi les tauxde glissement pour l'ordre de la victime. Dans la deuxième transaction, ils exécutent la méthode de rétro-exécution en réintégrant la liquidité pour rétablir le solde initial du pool. Enfin, ils échangent l'actif ciblé — dans notre exemple ci-dessus, l'ETH contre l'actif d'origine et l'USDT pour rétablir le solde d'actifs dans le pool tel qu'il était avant l'attaque.

En supprimant la liquidité avant la transaction du preneur, le fournisseur de liquidité évite de payer une commission (qui est normalement partagée entre tous les fournisseurs de liquidité). Cela signifie que le preneur doit payer plus cher en raison de l'augmentation du glissement, tandis que le fournisseur de liquidités conserve sa part de la commission.

Se protéger contre les attaques de sandwich

Certaines plateformes DEX (comme 1inch) prennent des mesures de protection contre les attaques sandwich en introduisant des transactions qui ne sont pas visibles dans la mempool. Certaines plateformes protègent également les utilisateurs contre les botsMEV (maximal extractible value), un type de bot fréquemment utilisé dans les attaques par sandwich. Toutefois, tout trader DeFi devrait également prendre ses propres mesures de précaution afin de minimiser le risque d'être victime de ces attaques. Ci-dessous, nous énumérons quelques mesures proactives que vous pouvez prendre pour éviter que vos fonds ne deviennent la proie facile d'une attaque malveillante.

Définir un faible glissement

Le taux de glissement correspond à la différence entre le coût prévu et le coût réel d'une transaction d'échange sur les protocoles décentralisés. De nombreuses plateformes DEX vous permettent de définir des taux de glissement acceptables pour vos opérations de swap. Utilisez activement cette option, car le glissement de prix joue un rôle prépondérant dans les attaques sandwich (en particulier dans la variante fournisseur de liquidités contre preneur).

Utilisez des pools de liquidités plus importants

Les pools de liquidités plus importantes sont moins affectées par les attaques sandwich, grâce à l'abondance des fonds en circulation. Plus le pool utilisé est petit, plus les fluctuations de prix causées par les attaques sandwich seront prononcées — et des fluctuations de prix plus extrêmes signifieront une chose très désagréable : des pertes plus importantes dues à ces attaques. 

Notez cependant que les attaquants de type sandwich sont plus actifs sur les grands DEX, tels que Uniswap (UNI) et SushiSwap (SUSHI). Par conséquent, l'important n'est pas tant la taille de la plateforme que les volumes de liquidités dans un pool spécifique. Les auteurs d'attaques par sandwich affectionnent particulièrement les pools à faible liquidité des grands DEX. Par conséquent, ne vous laissez pas tromper par l'importance de la présence d'une plateforme dans le secteur ou par sa réputation. Portez une attention particulière aux niveaux de liquidité généralement disponibles dans le pool qui vous intéresse.

Les agrégateurs DEX peuvent s'avérer utiles, car ils répartissent une seule transaction sur plusieurs pools de liquidités, ce qui peut atténuer l'impact des attaques par sandwich en réduisant la probabilité qu'un seul pool soit ciblé. De plus, comme les agrégateurs DEX visent à exécuter des transactions plus efficaces, vous êtes plus susceptible de subir un glissement moindre lorsque vous les utilisez.

Payer des frais d'essence plus élevés

L'une des principales méthodes utilisées par les auteurs d'attaques par sandwich pour mener à bien leurs activités malveillantes consiste à payer des frais de gazplus élevés sur une blockchain. Ce faisant, ils s'assurent souvent (sans jamais le garantir) que leur opération de délit d'initié sera exécutée avant celle de la victime. Vous pouvez réduire votre vulnérabilité à ces attaques en payant des frais de gaz plus élevés pour que votre transaction soit traitée par les mineurs avant l'exécution de l'ordre de délit d'initié malveillant.

Utiliser des plateformes d'échange centralisées

Les plateformes d'échange centralisées (CEX), dont Bybit, sont immunisées contre les attaques sandwich, car ce type d'attaque est propre aux DEX. Bien que les mesures ci-dessus puissent minimiser (sans toutefois jamais éliminer) le risque de telles attaques, effectuer vos transactions sur une plateforme d'échange centralisée (CEX) est le seul moyen fiable d'éviter complètement la possibilité de devenir la proie d'attaquants de type « sandwich ».

Conclusion

Les attaques par sandwich exploitent la nature intrinsèquement asynchrone de l'ordonnancement des transactions sur la blockchain. Bien que moins médiatisées que les attaques de prêts éclair les plus connues, elles sont omniprésentes sur les DEX et coûtent cher aux traders. Heureusement, il existe plusieurs façons de minimiser la menace potentielle que représentent ces attaques. En contrôlant rigoureusement vos taux de glissement, en utilisant des pools de liquidités plus importants, en payant des frais de gaz plus élevés pour augmenter la priorité de vos ordres et en utilisant des plateformes CEX, vous pouvez réduire considérablement le risque d'être victime d'attaques par sandwich.

#LearnWithBybit