OrionProtocol a subi une attaque par réinjection, avec une perte de 2,9 millions de dollars.

robot
Création du résumé en cours

Analyse de l'incident d'attaque par réentrées d'OrionProtocol

Le 2 février 2023 après-midi, les contrats OrionProtocol sur Ethereum et Binance Smart Chain ont été victimes d'une attaque par réentrance en raison d'une vulnérabilité, entraînant une perte d'environ 2,9 millions de dollars, dont 2 844 766 USDT sur la chaîne Ethereum et 191 606 BUSD sur la chaîne BSC.

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

Analyse du processus d'attaque

L'attaquant a d'abord créé un contrat Token spécial et a effectué une série de préparatifs. Ensuite, l'attaquant a emprunté en utilisant la fonction de swap d'un DEX et a appelé la méthode swapThroughOrionPool d'OrionProtocol pour échanger des tokens. Le chemin d'échange contient l'adresse du contrat Token créé par l'attaquant, ce qui prépare le terrain pour une attaque de rappel ultérieure.

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

Au cours du processus d'échange, le contrat Token de l'attaquant déclenche un rappel via la fonction Transfer, appelant de manière répétée la fonction depositAsset du OrionProtocol, entraînant une accumulation continue du montant déposé. Finalement, l'attaquant a réalisé un profit grâce à l'opération de retrait.

Analyse des attaques par réentrance 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 sont toujours dans l'adresse du portefeuille de l'attaquant, le reste ayant été transféré via un service de mélange.

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

Analyse des vulnérabilités

Le cœur de la vulnérabilité réside dans l'implémentation des fonctions doSwapThroughOrionPool et _doSwapTokens. Le contrat met à jour la variable curBalance après l'opération de transfert, ce qui crée des conditions favorables à une attaque par réentrance. L'attaquant ajoute une logique de rappel dans la fonction transfer du Token personnalisé, ce qui entraîne une mise à jour incorrecte de curBalance, permettant finalement à l'attaquant de retirer des fonds supplémentaires après avoir remboursé le prêt éclair.

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

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

Reproduction de l'attaque

Les chercheurs ont fourni une partie du code POC, simulant le processus d'attaque. Les résultats des tests montrent que l'attaquant a réussi à exploiter la vulnérabilité pour obtenir des USDT supplémentaires.

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

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

Analyse des attaques de 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

Conseils de sécurité

  1. Lors de la conception du contrat, il est nécessaire de prendre en compte les situations imprévues pouvant être causées par plusieurs tokens et chemins d'échange.
  2. Suivez la norme de codage "d'abord évaluer, puis écrire dans des variables, puis effectuer des appels externes" (modèle Checks-Effects-Interactions).
  3. Renforcer les restrictions et les vérifications sur les appels externes, en particulier ceux impliquant des opérations de transfert de fonds.
  4. Effectuer des audits de sécurité réguliers pour détecter et corriger rapidement les vulnérabilités potentielles.
  5. Mettre en œuvre des mesures de sécurité supplémentaires telles que la signature multiple pour prévenir les points de défaillance uniques.

Cet événement met à nouveau en évidence les défis de sécurité auxquels les projets DeFi sont confrontés. Les développeurs doivent toujours rester vigilants et continuer à améliorer la sécurité des contrats afin de protéger les actifs des utilisateurs et la réputation du projet.

TOKEN-5.98%
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
WalletWhisperervip
· Il y a 14h
Encore un projet impliqué
Voir l'originalRépondre0
SatoshiHeirvip
· 07-30 13:22
Il convient de noter que le risque de reentrancy des smart contracts est clairement indiqué à la première page du manuel Solidity, il semble qu'un autre groupe de projet n'ait pas fait ses devoirs...
Voir l'originalRépondre0
SnapshotDayLaborervip
· 07-30 13:22
prendre les gens pour des idiots prendre les gens pour des idiots~
Voir l'originalRépondre0
ChainComedianvip
· 07-30 12:59
Encore 290w, Se faire prendre pour des cons, dépêchez-vous de fuir.
Voir l'originalRépondre0
ChainSauceMastervip
· 07-30 12:58
Bien joué, encore coupé les coupons.
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)