來源:深圳零時科技
2024年2月25日,我們監測到Ethereum上的一起攻擊事件:https://etherscan.io/tx/0xf0464b01d962f714eee9d4392b2494524d0e10ce3eb3723873afd1346b8b06e4,目標爲BlueBerryProtocol,損失資金約爲455 ETH 1.4M USD。幸運的是該攻擊被一名ID爲c0ffeebabe白帽攔截(0xC0ffeEBABE5D496B2DDE509f9fa189C25cF29671[c0ffeebabe.eth]),最終歸還了366.5 ETH 1.2 M USD。
BlueBerryProtocol是一個基於Compound fork的DeFi項目,提供借貸,抵押等服務。具體的運行模式如下圖:
攻擊者首先從Balancer中通過閃電貸,借了1個WETH。
隨後,攻擊者將1個WETH抵押到BlueBerryProtocol中,並mint了1個bWETH。接着,攻擊者利用抵押的1個bWETH作爲抵押,分別利用borrow借走了8616個OHM(Decimal=9)、913262個USDC(Decimal=6)、6.86個WBTC(Decimal=8)。
最後,攻擊者通過Uniswap將獲得的OHM、USDC、WBTC換成457 ETH。
問題的根本原因是代碼再處理不同資產時,尾數處理錯誤。WETH的decimal爲18,OHM的decimal爲9,USDC的decimal爲6,WBTC的decimal爲8。
但是,BlueberryProtocol的price oracle在處理token的價格時,均按照decimal=18進行scale。
導致OHM的價值縮水1e9,USDC價值縮水1e12,WBTC價值縮水1e10。導致攻擊者通過僅僅1ETH的抵押便接走了價值460ETH的資產。
本次漏洞在於項目方使用同一份代碼處理不同的代幣,且沒有考慮到不同代幣的decimal不同導致的。造成decimal較小的資產大量縮水,從而被攻擊者以極低的代價作爲抵押借走。建議項目方在合約上线前,針對智能合約進行充分的審計和交叉審計,避免此類安全問題。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
標題:BlueBerryProtocol 攻擊分析
地址:https://www.torrentbusiness.com/article/95134.html
標籤:黑客攻擊