OrionProtocol a subi une attaque par réentrance, perdant 2,9 millions de dollars en chiffrement d'actifs.

robot
Création du résumé en cours

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

Le 2 février 2023, l'project 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 totale d'environ 2,9 millions de dollars d'actifs cryptographiques, y compris 2 844 766 USDT (Ethereum) et 191 606 BUSD (BSC).

Analyse du processus d'attaque

L'attaquant a d'abord déployé un contrat de Token personnalisé et a effectué les opérations de transfert et d'autorisation correspondantes pour préparer l'attaque ultérieure. Ensuite, l'attaquant a emprunté des fonds via la fonction de swap d'un certain échange décentralisé, et a appelé la méthode ExchangeWithAtomic.swapThroughOrionPool d'OrionProtocol pour échanger des tokens. Le chemin d'échange est fixé à USDC → Token personnalisé de l'attaquant → USDT.

Au cours du processus d'échange, un attaquant a utilisé la fonction de rappel dans le contrat Token personnalisé pour appeler de manière répétée la méthode ExchangeWithAtomic.depositAsset, entraînant l'accumulation du montant déposé. Finalement, l'attaquant a réalisé un profit par le biais d'opérations de retrait.

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 grande plateforme d'échange. Sur les 1 651 ETH réalisés, 657,5 ETH restent dans le portefeuille de l'attaquant, tandis que le reste a été transféré via un outil de mélange.

Analyse de l'attaque par réentrance 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 jetons, ce qui crée des conditions propices à une attaque par réentrance. L'attaquant ajoute une logique de rappel dans la fonction transfer du Token personnalisé, appelant de manière répétée la fonction 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é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éentrées d'OrionProtocol avec PoC

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

Analyse de l'attaque 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 prévention

  1. Le développement de contrats devrait suivre le modèle "Checks-Effects-Interactions", évitant ainsi les appels externes avant la mise à jour de l'état.

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

  3. Ajouter des mécanismes de sécurité tels que des verrous de réentrance pour prévenir les attaques par réentrance.

  4. Mettre en œuvre des contrôles d'accès et des mesures de limitation pour les opérations clés.

  5. Effectuer un audit de sécurité complet, en mettant particulièrement l'accent sur les fonctionnalités clés liées aux opérations de fonds.

Cet événement souligne à nouveau l'importance de la sécurité des contrats intelligents. Les équipes de projet doivent continuer à se concentrer sur la sécurité des contrats, effectuer des audits de code réguliers et corriger les vulnérabilités pour garantir la sécurité des actifs des utilisateurs. En même temps, les utilisateurs doivent rester vigilants lorsqu'ils participent à de nouveaux projets, en prêtant attention à l'état de sécurité du projet et aux rapports d'audit.

TOKEN5.83%
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
  • 6
  • Reposter
  • Partager
Commentaire
0/400
ShamedApeSellervip
· 07-24 12:02
Encore un refroidissement.
Voir l'originalRépondre0
CoffeeOnChainvip
· 07-24 09:46
Pas de vérification des contrats ? Ça mérite d'être exploité.
Voir l'originalRépondre0
FlippedSignalvip
· 07-23 09:34
Encore une fois, je me suis fait hacker.
Voir l'originalRépondre0
SchrodingersFOMOvip
· 07-23 09:26
Tu n'as pas encore fini de trader les jetons et ça a déjà explosé ?
Voir l'originalRépondre0
ETHReserveBankvip
· 07-23 09:25
Encore un expert en 0day en ligne pour des cours.
Voir l'originalRépondre0
FlatlineTradervip
· 07-23 09:15
Vous ne savez toujours pas comment prévenir les attaques par réinjection ? C'est vraiment nul.
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)