Euler Finance a subi une attaque de prêts flash, avec une perte de près de 200 millions de dollars.
Récemment, un événement de sécurité majeur a attiré l'attention du monde des cryptomonnaies. Selon les données de surveillance en chaîne, le projet Euler Finance a subi une grave attaque de Prêts Flash le 13 mars 2023, entraînant une perte énorme de 197 millions de dollars, impliquant 6 cryptomonnaies différentes.
La cause fondamentale de cette attaque réside dans une vulnérabilité clé du contrat du projet Euler Finance. Plus précisément, la fonction donateToReserves dans le Etoken du projet manquait d'un mécanisme de vérification de liquidité nécessaire, créant ainsi une opportunité pour les attaquants. Les hackers ont exploité cette vulnérabilité en appelant à plusieurs reprises les fonctions liées à différentes devises, et ont finalement réussi à réaliser ce vol massif de fonds.
Le processus spécifique de l'attaque peut être résumé en plusieurs étapes :
Le hacker a d'abord obtenu un prêt flash de 30 millions de DAI d'une plateforme de prêt.
Ensuite, deux contrats clés ont été déployés : un pour les opérations de prêt et un autre pour les opérations de liquidation.
Le hacker a mis en gage 20 millions de DAI empruntés dans le contrat du protocole Euler, obtenant environ 19,5 millions d'eDAI.
En utilisant la fonction de levier de 10x du protocole Euler, les hackers ont emprunté d'énormes quantités d'eDAI et de dDAI.
En manipulant habilement les fonctions repay et mint, le hacker a encore augmenté le montant emprunté.
L'étape clé consiste à appeler la fonction donateToReserves, en faisant un don d'un montant dix fois supérieur à celui des fonds remboursés, puis à procéder à la liquidation via la fonction liquidate, obtenant ainsi une grande quantité de dDAI et d'eDAI.
Enfin, le hacker a extrait environ 38,9 millions de DAI, a remboursé le prêt flash initial de 30 millions de DAI et a réalisé un bénéfice net d'environ 8,87 millions de DAI.
Cette attaque a révélé un défaut de conception grave dans le contrat du projet Euler Finance. Contrairement à d'autres fonctions clés, la fonction donateToReserves manquait de l'étape nécessaire de checkLiquidity, qui aurait dû appeler le RiskManager pour s'assurer que les Etoken de l'utilisateur étaient toujours supérieurs aux Dtoken. C'est cette négligence qui a permis à l'attaquant de manipuler l'état de son compte de manière à répondre aux conditions de liquidation, puis d'en tirer profit.
Cet événement souligne encore une fois l'importance des audits de sécurité des contrats intelligents. Pour les projets de prêt, il est particulièrement nécessaire de porter une attention particulière à la sécurité des étapes clés telles que le remboursement des fonds, la détection de la liquidité et la liquidation de la dette. Ce n'est qu'en effectuant des audits de sécurité rigoureux et une évaluation complète des risques que l'on peut minimiser la probabilité de survenance d'événements de sécurité similaires et garantir la sécurité des actifs des utilisateurs.
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.
7 J'aime
Récompense
7
1
Reposter
Partager
Commentaire
0/400
DaoDeveloper
· 08-11 00:17
exactement ce à quoi nous nous attendions avec des vérifications de liquidité manquantes... smart contract audit 101 à vrai dire
Euler Finance a subi une attaque par prêts flash de 197 millions de dollars, une vulnérabilité de contrat exposant un risque de sécurité majeur.
Euler Finance a subi une attaque de prêts flash, avec une perte de près de 200 millions de dollars.
Récemment, un événement de sécurité majeur a attiré l'attention du monde des cryptomonnaies. Selon les données de surveillance en chaîne, le projet Euler Finance a subi une grave attaque de Prêts Flash le 13 mars 2023, entraînant une perte énorme de 197 millions de dollars, impliquant 6 cryptomonnaies différentes.
La cause fondamentale de cette attaque réside dans une vulnérabilité clé du contrat du projet Euler Finance. Plus précisément, la fonction donateToReserves dans le Etoken du projet manquait d'un mécanisme de vérification de liquidité nécessaire, créant ainsi une opportunité pour les attaquants. Les hackers ont exploité cette vulnérabilité en appelant à plusieurs reprises les fonctions liées à différentes devises, et ont finalement réussi à réaliser ce vol massif de fonds.
Le processus spécifique de l'attaque peut être résumé en plusieurs étapes :
Le hacker a d'abord obtenu un prêt flash de 30 millions de DAI d'une plateforme de prêt.
Ensuite, deux contrats clés ont été déployés : un pour les opérations de prêt et un autre pour les opérations de liquidation.
Le hacker a mis en gage 20 millions de DAI empruntés dans le contrat du protocole Euler, obtenant environ 19,5 millions d'eDAI.
En utilisant la fonction de levier de 10x du protocole Euler, les hackers ont emprunté d'énormes quantités d'eDAI et de dDAI.
En manipulant habilement les fonctions repay et mint, le hacker a encore augmenté le montant emprunté.
L'étape clé consiste à appeler la fonction donateToReserves, en faisant un don d'un montant dix fois supérieur à celui des fonds remboursés, puis à procéder à la liquidation via la fonction liquidate, obtenant ainsi une grande quantité de dDAI et d'eDAI.
Enfin, le hacker a extrait environ 38,9 millions de DAI, a remboursé le prêt flash initial de 30 millions de DAI et a réalisé un bénéfice net d'environ 8,87 millions de DAI.
Cette attaque a révélé un défaut de conception grave dans le contrat du projet Euler Finance. Contrairement à d'autres fonctions clés, la fonction donateToReserves manquait de l'étape nécessaire de checkLiquidity, qui aurait dû appeler le RiskManager pour s'assurer que les Etoken de l'utilisateur étaient toujours supérieurs aux Dtoken. C'est cette négligence qui a permis à l'attaquant de manipuler l'état de son compte de manière à répondre aux conditions de liquidation, puis d'en tirer profit.
Cet événement souligne encore une fois l'importance des audits de sécurité des contrats intelligents. Pour les projets de prêt, il est particulièrement nécessaire de porter une attention particulière à la sécurité des étapes clés telles que le remboursement des fonds, la détection de la liquidité et la liquidation de la dette. Ce n'est qu'en effectuant des audits de sécurité rigoureux et une évaluation complète des risques que l'on peut minimiser la probabilité de survenance d'événements de sécurité similaires et garantir la sécurité des actifs des utilisateurs.