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

robot
Création du résumé en cours

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

Le 2 février 2023, OrionProtocol a subi une attaque par réentrance sur Ethereum et Binance Smart Chain en raison d'une vulnérabilité de contrat, entraînant une perte totale d'environ 2,9 millions de dollars. L'attaquant a utilisé un contrat de Token qu'il a créé pour effectuer des rappels, contournant avec succès les mécanismes de sécurité du contrat.

Analyse du processus d'attaque

L'attaquant a d'abord créé un contrat de Token personnalisé et a effectué une série de préparatifs. Ensuite, l'attaquant a emprunté via la méthode swap d'un DEX et a appelé la méthode swapThroughOrionPool d'OrionProtocol pour échanger des tokens. Le chemin d'échange comprenait l'adresse du contrat de Token créé par l'attaquant.

Lors du processus d'échange, un attaquant utilise la méthode transfer de son propre Token pour déclencher un rappel, appelant à nouveau la méthode depositAsset d'OrionProtocol. Cela entraîne un double comptage du montant du dépôt, permettant à l'attaquant de retirer des fonds dépassant le montant réellement déposé.

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

Flux de fonds

Les fonds initiaux de l'attaquant proviennent du portefeuille chaud d'une plateforme d'échange. Parmi les 1651 ETH tirés de l'attaque, 657,5 sont toujours dans l'adresse du portefeuille de l'attaquant, le reste ayant été transféré via un service de mixage.

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 les fonctions doSwapThroughOrionPool et _doSwapTokens. Le contrat met à jour la variable curBalance uniquement après avoir exécuté l'opération de transfert, ce qui offre aux attaquants l'opportunité d'exploiter une attaque par réentrance. Les attaquants ajoutent une logique de rappel dans la fonction transfer de Token personnalisé, ce qui conduit à une mise à jour incorrecte de curBalance, permettant ainsi des retraits excessifs.

Analyse des attaques de 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 de réentrées d'OrionProtocol avec PoC

Reproduction de l'attaque

Les chercheurs ont fourni une partie du code POC, montrant comment exploiter cette vulnérabilité pour mener des attaques. Les résultats des tests correspondent à la pile d'appels d'attaques réelles, confirmant l'existence et l'exploitabilité de la vulnérabilité.

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 OrionProtocol avec PoC

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

Conseils de sécurité

Pour les contrats intelligents ayant une fonction d'échange de jetons, les développeurs doivent tenir compte des risques de sécurité pouvant découler de la diversité des jetons et des chemins d'échange. Il est recommandé de suivre les normes de codage "vérifier d'abord, écrire dans les variables ensuite, puis effectuer des appels externes" (modèle Checks-Effects-Interactions) afin d'améliorer la sécurité et la stabilité du contrat.

Cet événement souligne à nouveau l'importance de la sécurité dans le développement de contrats intelligents, en particulier lors du traitement des flux financiers. Les équipes projet devraient renforcer l'audit de code et envisager de faire appel à des équipes de sécurité blockchain professionnelles pour une évaluation complète, afin de réduire au maximum les risques potentiels.

TOKEN-5.27%
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
  • 3
  • Reposter
  • Partager
Commentaire
0/400
ZeroRushCaptainvip
· 08-09 07:36
Une autre carte de retrait m'a appris à me retirer du champ de bataille.
Voir l'originalRépondre0
AirdropChaservip
· 08-09 07:30
Encore un ?
Voir l'originalRépondre0
ForkLibertarianvip
· 08-09 07:16
C'est ce qu'on mérite d'être tondus, qui a demandé à être aussi arrogant.
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)