
Source: Technologie Shenzhen Zero-temps
arrière-plan
Le 25 février 2024, nous avons surveillé un événement d’attaque sur Ethereum: https://etherscan.io/tx/0xf0464 Lueberryprotocol, la perte d’environ 455 ETH 1,4 m USD.Heureusement, l’attaque a été interceptée par un ID d’un chapeau blanc C0ffeebabe (0xc0ffeeBababe5d496B2DDE509F9FA189C25CF29671 [C0FFEEBABE.eth]), et a finalement rendu 366.5 ETH 1,2 M USD.
BlueberryProtocol est un projet Defi basé à Fork composé, fournissant des emprunts, des hypothèques et d’autres services.Le mode de fonctionnement spécifique est illustré ci-dessous:
Analyse des attaques
L’attaquant a d’abord emprunté 1 Weth par le prêt de Lightning à Balancer.
Par la suite, l’attaquant a hypothéqué 1 avec BlueberryProtocol et Mint a fait 1 bweth.Ensuite, l’attaquant a utilisé 1 bweth hypothéquée comme hypothèque et a utilisé Emprunt pour emprunter 8616 ohm (décimal = 9), 913262 USDC (décimal = 6) et 6,86 WBTC (décimal = 8).
Enfin, l’attaquant a remplacé l’Ohm, l’USDC et le WBTC à 457 ETH via uniswap.
Analyse de vulnérabilité
La cause profonde du problème est que lorsque le code traite différents actifs, le numéro de queue est traité des erreurs.La décimale de Weth est de 18 ans, la décimale de l’Ohm est de 9 ans, la décimale de l’USDC est de 6 ans et la décimale du WBTC est de 8.
Cependant, l’oracle du prix de BlueberryProtocol, lors du traitement du prix du jeton, est à l’échelle au prix de la décimale = 18.
En conséquence, la valeur de l’OHM rétrécit de 1E9, la valeur USDC rétrécit par 1E12 et la valeur WBTC rétrécit par 1e10.En conséquence, l’attaquant a ramassé des actifs d’une valeur de 460 ETH par seulement une hypothèque ETH.
Résumer
La vulnérabilité est que la partie du projet utilise le même code pour gérer différents jetons et ne prend pas en compte la décimale différente de différents jetons.L’actif a provoqué une grande quantité d’actifs de décimale, et l’attaquant a été emprunté à un prix très bas comme hypothèque.Il est recommandé que la partie de projet effectue un audit complet et de la transmission des contrats intelligents avant le lancement du contrat pour éviter de tels problèmes de sécurité.