Par : Doris@SlowMist Équipe de sécurité
arrière-plan
Le 10 juin 2024, selon le système de surveillance de sécurité SlowMist MistEye, UwU Lend, une plateforme qui fournit des services de prêt d'actifs numériques sur la chaîne EVM, a été attaquée, entraînant une perte d'environ 19,3 millions de dollars. L'équipe de sécurité de SlowMist a analysé l'incident et a partagé les résultats comme suit :
https://x.com/SlowMist_Team/status/1800181916857155761 Informations connexes
Adresse de l'attaquant :
0x841ddf093f5188989fa1524e7b893de64b421f47
Adresse du contrat vulnérable :
0x9bc6333081266e55d88942e277fc809b485698b9 transaction d'attaque : 0xca1bbf3b320662c89232006f1ec6624b56242850f07e0f1dadbe4f69ba0d6ac3
0xb3f067618ce54bc26a960b660cfc28f9ea0315e2e9a1a855ede1508eb4017376
0x242a0fb4fde9de0dc2fd42e8db743cbc197ffa2bf6a036ba0bba303df296408b
Attaquez le noyau
Le point central de cette attaque est que l'attaquant peut manipuler directement l'oracle des prix en effectuant des échanges de grande quantité dans le pool CurveFinance, affectant le prix du jeton sUSDE et en utilisant le prix manipulé pour évacuer d'autres actifs du pool.
Processus d'attaque
1. Les prêts flash empruntent des actifs et font baisser le prix de l'USDE : l'attaquant emprunte d'abord une grande quantité d'actifs via des prêts flash et échange certains des jetons USDE empruntés contre d'autres jetons du pool Curve qui peuvent affecter le prix du sUSDE.
2. Créez un grand nombre de positions de prêt : dans la situation actuelle où le prix du sUSDE a chuté, prêtez une grande quantité de jetons sUSDE en déposant d'autres jetons sous-jacents.
3. Manipulez à nouveau l'oracle pour faire monter le prix du sUSDE : En effectuant une opération d'échange inversé dans le pool Curve précédent, le prix du sUSDE a été rapidement augmenté.
4. Liquidation à grande échelle des positions de passif : étant donné que le prix du sUSDE a rapidement augmenté, les attaquants ont pu liquider des positions précédemment empruntées en grande quantité pour obtenir uWETH.
5. Déposez le sUSDE restant et prêtez d'autres jetons sous-jacents dans le contrat : l'attaquant dépose à nouveau le sUSDE actuellement à prix élevé pour prêter davantage de jetons d'actifs sous-jacents dans un but lucratif.
Il n'est pas difficile de voir que l'attaquant réalise principalement des bénéfices en manipulant à plusieurs reprises le prix du sUSDE, en empruntant un montant important lorsque le prix est bas, et en liquidant et en réhypothéquant lorsque le prix est élevé. Nous faisons le suivi du contrat oracle sUSDePriceProviderBUniCatch qui calcule le prix du sUSDE :
On peut voir que le prix du sUSDE est déterminé en obtenant d'abord les différents prix de 11 jetons USDE du pool USDE et du pool UNI V3 sur CurveFinance, puis en triant et en calculant la médiane en fonction de ces prix.
Dans la logique de calcul ici, les prix de 5 USDE doivent utiliser directement la fonction get_p pour obtenir le prix au comptant en temps réel du pool Curve. Cela permet à l'attaquant d'affecter directement le prix médian en échangeant de gros montants en une seule transaction. résultats des calculs.
Analyse MistTrack
Selon l'analyse de l'outil de suivi en chaîne MistTrack, l'attaquant 0x841ddf093f5188989fa1524e7b893de64b421f47 a réalisé environ 19,3 millions de dollars de bénéfices grâce à cette attaque, y compris les devises ETH, crvUSD, bLUSD et USDC. Les jetons ERC-20 ont ensuite été échangés contre de l'ETH.
En retraçant les frais de traitement de l'adresse de l'attaquant, il a été constaté que les fonds initiaux sur l'adresse provenaient de 0,98 ETH transférés de Tornado Cash, et que par la suite l'adresse avait également reçu 5 fonds de Tornado Cash.
En développant le graphique des transactions, il a été constaté que l'attaquant a transféré 1 292,98 ETH à l'adresse 0x48d7c1dd4214b41eda3301bca434348f8d1c5eb6. Le solde actuel de l'adresse est de 1 282,98 ETH, l'attaquant a transféré les 4 000 ETH restants à l'adresse 0x050c7e9c62bf991. 84182 7f37745ddadb563feb70, le solde actuel de cette adresse est de 4 010 ETH.
MistTrack a bloqué l'adresse concernée et continuera de surveiller le transfert des fonds volés.
Résumer
Le cœur de cette attaque est que l'attaquant utilise la faille de compatibilité de l'oracle des prix pour obtenir directement le prix instantané au comptant et le prix médian calculé afin de manipuler le prix du sUSDE, effectuant ainsi des prêts et des liquidations sous l'influence de différences de prix importantes pour obtenir des bénéfices inattendus. L'équipe de sécurité de SlowMist recommande à l'équipe du projet d'améliorer les capacités anti-manipulation de l'oracle des prix et de concevoir un mécanisme d'alimentation des prix oracle plus sécurisé pour éviter que des incidents similaires ne se reproduisent.