OrionProtocol a subi une attaque par réentrance, entraînant une perte de 2,9 millions de dollars.

robot
Création du résumé en cours

Analyse de l'incident d'attaque par réentrance d'OrionProtocol

Le 2 février 2023 à 15:40:20 UTC, le contrat OrionProtocol sur Ethereum et la Binance Smart Chain a subi une attaque par réentrance en raison d'une vulnérabilité. L'attaquant a réalisé un profit de 2 844 766 USDT sur la chaîne Ethereum et de 191 606 BUSD sur la Binance Smart Chain, totalisant environ 2,9 millions de dollars.

Analyse du processus d'attaque

Les attaquants ont d'abord déployé un contrat de Token personnalisé, puis ont effectué des opérations de transfert et d'autorisation connexes pour préparer l'attaque suivante.

Ensuite, l'attaquant utilise la méthode swap d'un certain DEX pour emprunter, et appelle la méthode ExchangeWithAtomic.swapThroughOrionPool d'OrionProtocol pour échanger des jetons. Le chemin d'échange est défini comme [USDC, Jeton de l'attaquant, USDT].

Dans le processus d'échange, en raison de la logique de rappel contenue dans le contrat Token créé par l'attaquant, l'opération de transfert déclenche un appel de réentrées à la méthode ExchangeWithAtomic.depositAsset, entraînant l'accumulation multiple du montant déposé. Finalement, l'attaquant réalise des bénéfices grâce à l'opération de retrait.

Analyse de l'attaque par réinjection d'OrionProtocol avec PoC

Flux de fonds

Les fonds initiaux de l'attaquant proviennent d'un compte de portefeuille chaud d'une plateforme d'échange. Parmi les 1 651 ETH de bénéfices, 657,5 ETH restent encore dans l'adresse du portefeuille de l'attaquant, le reste ayant été transféré via un service de mixage.

Analyse des attaques de réentrées d'OrionProtocol avec PoC

Analyse des vulnérabilités

Le problème central réside dans la fonction doSwapThroughOrionPool du contrat ExchangeWithAtomic. Cette fonction met à jour la variable curBalance après l'exécution du transfert de Token, créant ainsi des conditions propices à une attaque par réentrance. L'attaquant exploite la fonction de rappel transfer du Token personnalisé pour appeler la méthode depositAsset, ce qui entraîne une mise à jour incorrecte de curBalance. Finalement, après avoir remboursé le prêt éclair, l'attaquant a extrait des fonds excédentaires via la fonction withdraw.

Analyse des attaques par réentrées d'OrionProtocol avec PoC

Analyse des attaques par réentrance d'OrionProtocol avec PoC

Analyse des attaques par réentrance d'OrionProtocol avec PoC

Analyse des attaques par réentrance d'OrionProtocol avec PoC

Analyse des attaques par réentrance d'OrionProtocol avec PoC

Analyse des attaques par réentrance d'OrionProtocol avec PoC

Analyse des attaques par réentrance d'OrionProtocol avec PoC

Analyse des attaques par réentrance d'OrionProtocol avec PoC

Analyse des attaques par réentrance d'OrionProtocol avec PoC

Conseils de sécurité

  1. La conception des contrats doit prendre en compte les risques de sécurité potentiels liés à la diversité des tokens et des chemins d'échange.

  2. Suivez le modèle "Checks-Effects-Interactions"(Checks-Effects-Interactions) lors de l'écriture du code des contrats, c'est-à-dire effectuez d'abord les vérifications de conditions, puis mettez à jour les variables d'état, et enfin effectuez les appels externes.

  3. Implémentez un verrou de réentrance dans les fonctions clés pour prévenir les attaques par réentrance.

  4. Pour les contrats de token appelés de l'extérieur, un audit de sécurité rigoureux et une gestion des listes blanches doivent être effectués.

  5. Effectuer régulièrement des audits de sécurité des contrats pour détecter et corriger rapidement les vulnérabilités potentielles.

En prenant ces mesures, il est possible de réduire efficacement le risque d'attaque des contrats intelligents et d'améliorer la sécurité globale du projet.

TOKEN-1.65%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 5
  • Partager
Commentaire
0/400
DevChivevip
· Il y a 21h
Encore une prise de pigeons, c'est fini.
Voir l'originalRépondre0
GasWastervip
· Il y a 21h
Encore un prend les gens pour des idiots condamné
Voir l'originalRépondre0
SleepTradervip
· Il y a 21h
Encore une vague de pigeons à prendre les gens pour des idiots.
Voir l'originalRépondre0
BearMarketLightningvip
· Il y a 21h
Encore coupé les coupons.
Voir l'originalRépondre0
DoomCanistervip
· Il y a 21h
C'est encore le vieux problème des smart contracts.
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)