Le 2 février 2023, l'Orion Protocol sur Ethereum et la Binance Smart Chain a subi une attaque par réentrance en raison d'une vulnérabilité dans le contrat, entraînant une perte totale d'environ 2,9 millions de dollars. Les attaquants ont utilisé la fonction de rappel du contrat de token qu'ils avaient créé pour contourner avec succès les mécanismes de sécurité de l'échange.
Processus d'attaque
L'attaquant a d'abord créé un contrat de jeton spécial.
Emprunter des fonds via un échange décentralisé et appeler la fonction d'échange de jetons d'OrionProtocol.
Pendant le processus d'échange, le contrat de jetons de l'attaquant déclenche un rappel, appelant de manière répétée la fonction de dépôt, ce qui entraîne une addition incorrecte des montants des dépôts par le système.
Enfin, l'attaquant extrait des fonds excédentaires et termine l'attaque.
Analyse des vulnérabilités
Le problème central réside dans la fonction doSwapThroughOrionPool d'OrionProtocol. Cette fonction met à jour le solde après le transfert de jetons, mais ne prend pas en compte le risque de réentrance potentiel. Un attaquant peut créer de faux jetons avec une fonction de rappel, appelant de manière répétée la fonction depositAsset pendant le processus de transfert, ce qui entraîne une erreur de calcul du solde.
Flux de fonds
Parmi les 1651 ETH gagnés lors de l'attaque, 657,5 sont toujours dans le portefeuille de l'attaquant, tandis que le reste a été transféré par le biais de services de mélange. Les fonds initiaux proviennent d'un portefeuille chaud d'une grande plateforme d'échange.
Conseils de sécurité
Rédigez des contrats intelligents selon le modèle "Vérifications-Effects-Interactions" (Checks-Effects-Interactions).
Pour les fonctionnalités impliquant l'é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.
Mettre en œuvre un mécanisme de mise à jour des soldes plus strict pour prévenir les attaques par réentrance.
Effectuer régulièrement des audits de sécurité par des tiers pour détecter et corriger rapidement les vulnérabilités potentielles.
Cet événement nous rappelle une fois de plus que la sécurité des contrats intelligents est cruciale dans un écosystème DeFi complexe. Les projets doivent continuellement améliorer leurs mesures de sécurité pour faire face à des méthodes d'attaque de plus en plus sophistiquées.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
10 J'aime
Récompense
10
7
Partager
Commentaire
0/400
FUDwatcher
· Il y a 3h
Le piège est trop vieux, c'est très pump.
Voir l'originalRépondre0
GhostChainLoyalist
· 07-03 09:43
C'est un problème de vieux débat.
Voir l'originalRépondre0
TooScaredToSell
· 07-02 03:57
Le contrat a encore été exploité.
Voir l'originalRépondre0
HalfIsEmpty
· 07-02 03:57
Encore un nouveau pigeon à prendre pour des idiots.
OrionProtocol a subi une attaque par réentrance, perdant 2,9 millions de dollars. La sécurité des smart contracts sonne à nouveau l'alarme.
Analyse des attaques de ré-entrée d’OrionProtocol
Le 2 février 2023, l'Orion Protocol sur Ethereum et la Binance Smart Chain a subi une attaque par réentrance en raison d'une vulnérabilité dans le contrat, entraînant une perte totale d'environ 2,9 millions de dollars. Les attaquants ont utilisé la fonction de rappel du contrat de token qu'ils avaient créé pour contourner avec succès les mécanismes de sécurité de l'échange.
Processus d'attaque
L'attaquant a d'abord créé un contrat de jeton spécial.
Emprunter des fonds via un échange décentralisé et appeler la fonction d'échange de jetons d'OrionProtocol.
Pendant le processus d'échange, le contrat de jetons de l'attaquant déclenche un rappel, appelant de manière répétée la fonction de dépôt, ce qui entraîne une addition incorrecte des montants des dépôts par le système.
Enfin, l'attaquant extrait des fonds excédentaires et termine l'attaque.
Analyse des vulnérabilités
Le problème central réside dans la fonction doSwapThroughOrionPool d'OrionProtocol. Cette fonction met à jour le solde après le transfert de jetons, mais ne prend pas en compte le risque de réentrance potentiel. Un attaquant peut créer de faux jetons avec une fonction de rappel, appelant de manière répétée la fonction depositAsset pendant le processus de transfert, ce qui entraîne une erreur de calcul du solde.
Flux de fonds
Parmi les 1651 ETH gagnés lors de l'attaque, 657,5 sont toujours dans le portefeuille de l'attaquant, tandis que le reste a été transféré par le biais de services de mélange. Les fonds initiaux proviennent d'un portefeuille chaud d'une grande plateforme d'échange.
Conseils de sécurité
Rédigez des contrats intelligents selon le modèle "Vérifications-Effects-Interactions" (Checks-Effects-Interactions).
Pour les fonctionnalités impliquant l'é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.
Mettre en œuvre un mécanisme de mise à jour des soldes plus strict pour prévenir les attaques par réentrance.
Effectuer régulièrement des audits de sécurité par des tiers pour détecter et corriger rapidement les vulnérabilités potentielles.
Cet événement nous rappelle une fois de plus que la sécurité des contrats intelligents est cruciale dans un écosystème DeFi complexe. Les projets doivent continuellement améliorer leurs mesures de sécurité pour faire face à des méthodes d'attaque de plus en plus sophistiquées.