OrionProtocol a subi une attaque par réentrance, entraînant une perte de 2,9 millions de dollars. Les chaînes ETH et BSC sont affectées.

robot
Création du résumé en cours

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

Le 2 février 2023, l'OrionProtocol sur Ethereum et Binance Smart Chain a subi une attaque par réentrance en raison d'une vulnérabilité de contrat, entraînant une perte d'environ 2,9 millions de dollars. L'attaquant a exploité la fonction de rappel du contrat de jeton qu'il a créé, en appelant de manière répétée la fonction de dépôt au cours de la transaction, ce qui a entraîné un retrait de fonds après une accumulation incorrecte.

Processus d'attaque

  1. L'attaquant a d'abord créé un contrat de Token personnalisé et a effectué les opérations de transfert et d'autorisation nécessaires.

Token créé par l'attaquant

  1. Pendant le processus d'échange, le contrat Token de l'attaquant utilise la fonction transfer pour déclencher un rappel, appelant plusieurs fois la fonction ExchangeWithAtomic.depositAsset, ce qui entraîne une accumulation incorrecte du montant du dépôt.

  2. Enfin, l'attaquant extrait des fonds excessifs via la fonction withdraw, complétant ainsi l'attaque.

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

Analyse des vulnérabilités

La vulnérabilité se trouve principalement dans les fonctions doSwapThroughOrionPool et _doSwapTokens du contrat ExchangeWithAtomic. Le problème clé est le suivant :

  1. La variable curBalance n'est mise à jour qu'après l'exécution du transfert dans le contrat.
  2. Incapacité à prévenir efficacement les attaques par réentrance, permettant l'exécution de fonctions de rappel pendant le processus de transfert.

Cela permet aux attaquants d'appeler de manière répétée la fonction depositAsset avant que curBalance ne soit mis à jour, entraînant des erreurs de calcul des fonds.

Analyse de l'attaque par réinjection 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éinjection 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éinsertion 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

Impact des attaques

  • Perte de 2 844 766 USDT sur la chaîne Ethereum
  • Perte de 191 606 BUSD sur la chaîne intelligente Binance
  • Environ 2,9 millions de dollars

Flux de fonds

Parmi les 1 651 ETH profitant à l'attaquant, 657,5 ETH sont toujours dans l'adresse du portefeuille, le reste ayant été transféré via un service de mélange. Les fonds initiaux proviennent d'un compte de portefeuille chaud d'une plateforme d'échange.

Conseils de sécurité

  1. Rédigez des contrats intelligents en suivant strictement le modèle "Vérifications-Effects-Interactions" (Checks-Effects-Interactions).
  2. Implémenter un verrou de réentrance pour empêcher l'appel répété d'une fonction pendant son exécution.
  3. Lors de l'échange de tokens, envisagez les différents types de tokens et les chemins d'échange possibles, et préparez-vous à gérer les situations exceptionnelles.
  4. Effectuer des audits de sécurité des contrats intelligents régulièrement pour détecter et corriger rapidement les vulnérabilités potentielles.

Cet événement rappelle une fois de plus aux équipes de projet qu'elles doivent accorder une grande importance à la sécurité lors du développement de contrats intelligents impliquant des interactions financières, en prenant des mesures de protection complètes pour réduire au maximum les risques liés aux contrats.

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
  • 8
  • Partager
Commentaire
0/400
AirdropHustlervip
· 07-18 17:53
Zut, ce smart contracts est aussi fragile que du papier.
Voir l'originalRépondre0
MerkleDreamervip
· 07-18 06:45
Encore volé ? Je ne suis plus surpris.
Voir l'originalRépondre0
rekt_but_resilientvip
· 07-16 11:57
Encore encore encore été retiré 290w
Voir l'originalRépondre0
LiquidationWatchervip
· 07-15 21:48
Encore une attaque par réentrance, tu n'apprends pas bien.
Voir l'originalRépondre0
ForkTonguevip
· 07-15 21:48
Tous les projets fiables ont explosé. Quand cela va-t-il s'arrêter ?
Voir l'originalRépondre0
OnchainFortuneTellervip
· 07-15 21:44
Ça fait tant d'années que le bug n'est toujours pas corrigé ?
Voir l'originalRépondre0
AirdropChaservip
· 07-15 21:38
Encore un piège pour se faire prendre pour des cons.
Voir l'originalRépondre0
MentalWealthHarvestervip
· 07-15 21:22
Eh, il y a encore un problème ??
Voir l'originalRépondre0
  • Épingler
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)