OrionProtocol a subi une attaque par réentrance, près de 3 millions de dollars d'actifs ont été volés.

robot
Création du résumé en cours

OrionProtocol a subi une attaque par réentrance entraînant des pertes de près de 3 millions de dollars

Le 2 février 2023, le contrat Orion Protocol sur Ethereum et la chaîne Binance a subi une attaque par réentrance en raison d'une vulnérabilité de sécurité. Les attaquants ont réussi à voler environ 2,9 millions de dollars d'actifs cryptographiques, dont 2 844 766 USDT sur Ethereum et 191 606 BUSD sur BSC.

Analyse du processus d'attaque

L'attaquant a d'abord déployé un contrat de Token personnalisé et a effectué les préparatifs nécessaires. Ensuite, l'attaquant a emprunté des fonds via la méthode swap de UNI-V2 et a appelé la méthode swapThroughOrionPool du contrat ExchangeWithAtomic pour échanger des tokens. Le chemin d'échange incluait l'adresse du contrat Token créé par l'attaquant, ce qui a ouvert la voie à l'attaque de rappel ultérieure.

Lors du processus d'échange, en raison de la logique de rappel contenue dans le contrat Token de l'attaquant, chaque opération de transfert déclenche un appel de réentrée à la méthode depositAsset du contrat ExchangeWithAtomic. Cela entraîne une addition incorrecte du montant déposé, permettant finalement à l'attaquant de retirer des fonds supérieurs à son montant de dépôt réel.

Analyse des attaques par réentrance de l'OrionProtocol avec PoC

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

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

Origine de la vulnérabilité

Le problème central réside dans les fonctions doSwapThroughOrionPool et _doSwapTokens du contrat ExchangeWithAtomic. Ces fonctions mettent à jour la variable curBalance après avoir exécuté le transfert de jetons, mais n'ont pas de mesures pour prévenir les attaques par réentrance. Un 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, permettant ainsi le retrait de fonds excessifs après le remboursement d'un prêt flash.

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

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

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

Analyse d'attaque par réentrance d'OrionProtocol avec PoC

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

Flux de fonds

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

Analyse d'attaque de réentrance 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é

Pour prévenir des attaques similaires, l'équipe du projet doit prêter attention aux points suivants :

  1. Lors de la mise en œuvre de la fonction d'échange de monnaie numérique, il est nécessaire de prendre en compte les risques de sécurité potentiels liés aux différents types de Token et aux chemins d'échange.

  2. Suivez le modèle "Vérifications-Effets-Interactions" (Checks-Effects-Interactions) lors de la rédaction du code de contrat, c'est-à-dire effectuer d'abord les vérifications des conditions, puis mettre à jour les variables d'état, et enfin interagir avec des contrats externes.

  3. Utiliser des verrous de réentrées ou des mécanismes similaires dans les fonctions clés pour prévenir les attaques par réentrées.

  4. Pour les appels externes, en particulier ceux impliquant des transferts de fonds, il convient d'être particulièrement prudent et d'envisager d'utiliser le mode de paiement pull au lieu du paiement push.

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

En prenant ces mesures, il est possible d'améliorer considérablement la sécurité des contrats intelligents et de réduire le risque d'attaques. Dans l'écosystème Web3, la sécurité doit toujours être une priorité.

TOKEN5.47%
ETH0.11%
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
  • 4
  • Partager
Commentaire
0/400
TokenTherapistvip
· Il y a 17h
Quelqu'un a encore des idées noires ?
Voir l'originalRépondre0
LiquidatorFlashvip
· Il y a 17h
La vulnérabilité de réentrance est vraiment le premier tueur des pertes Defi...
Voir l'originalRépondre0
0xLuckboxvip
· Il y a 17h
Pourquoi cela a-t-il encore été volé cette année ?
Voir l'originalRépondre0
TokenSherpavip
· Il y a 17h
*sigh* encore un protocole échouant aux vérifications de réentrance de base... historiquement parlant, cela était évitable
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)