據鏈聞消息,著名DeFi項目Furucombo被黑,損失超1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
攻擊細節分析
本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:
慢霧:上周Web3安全事件中總損失約1996.3萬美元:金色財經報道,據慢霧區塊鏈被黑檔案庫統計,2023年8月14日至8月20日,共發生安全事件10起,總損失約1996.3萬美元。具體事件:
8月14日,Hexagate發推表示,過去幾天單個MEV Bot被利用了約20萬美元。以太坊上Zunami Protocol協議遭遇價格操縱攻擊,損失1,179個ETH(約220萬美元)。
8月15日,以太坊擴容解決方案Metis官方推特賬號被盜。Sei Network官方Discord服務器遭入侵。Base生態項目RocketSwap遭遇攻擊,攻擊者竊取了RCKT代幣,將其轉換為價值約86.8萬美元的ETH并跨鏈到以太坊。
8月16日,借貸協議SwirlLend團隊從Base盜取了約290萬美元的加密貨幣,從Linea盜取了價值170萬美元的加密貨幣。BAYC推出的鏈上許可申請平臺Made by Apes的SaaSy Labs APl存在一個問題,允許訪問MBA申請的個人詳細信息。
8月18日,DeFi借貸協議Exactly Protocol遭受攻擊,損失超7,160枚ETH(約1204萬美元)。
8月19日,Cosmos生態跨鏈穩定幣協議Harbor Protocol被利用,損失42,261枚LUNA、1,533枚CMDX、1,571枚stOSMO和18,600萬億枚WMATIC。
8月20日,衍生品市場Thales發布公告稱,一名核心貢獻者的個人電腦/Metamask遭到黑客攻擊,一些充當臨時部署者(2.5萬美元)或管理員機器人(1萬美元)的熱錢包已被攻破。[2023/8/21 18:13:42]
以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:
慢霧:已凍結部分BitKeep黑客轉移資金:12月26日消息,慢霧安全團隊在社交媒體上發文表示,正在對 BitKeep 錢包進行深入調查,并已凍結部分黑客轉移資金。[2022/12/26 22:08:58]
通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:
這里有一個trick,由于?0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:
慢霧:Equalizer Finance被黑主要在于FlashLoanProvider合約與Vault合約不兼容:據慢霧區消息,6 月 7 日,Equalizer Finance 遭受閃電貸攻擊。慢霧安全團隊以簡訊形式將攻擊原理分享如下:
1. Equalizer Finance 存在 FlashLoanProvider 與 Vault 合約,FlashLoanProvider 合約提供閃電貸服務,用戶通過調用 flashLoan 函數即可通過 FlashLoanProvider 合約從 Vault 合約中借取資金,Vault 合約的資金來源于用戶提供的流動性。
2. 用戶可以通過 Vault 合約的 provideLiquidity/removeLiquidity 函數進行流動性提供/移除,流動性提供獲得的憑證與流動性移除獲得的資金都受 Vault 合約中的流動性余額與流動性憑證總供應量的比值影響。
3. 以 WBNB Vault 為例攻擊者首先從 PancekeSwap 閃電貸借出 WBNB
4. 通過 FlashLoanProvider 合約進行二次 WBNB 閃電貸操作,FlashLoanProvider 會先將 WBNB Vault 合約中 WBNB 流動性轉給攻擊者,隨后進行閃電貸回調。
5. 攻擊者在二次閃電貸回調中,向 WBNB Vault 提供流動性,由于此時 WBNB Vault 中的流動性已經借出一部分給攻擊者,因此流動性余額少于預期,則攻擊者所能獲取的流動性憑證將多于預期。
6. 攻擊者先歸還二次閃電貸,然后從 WBNB Vault 中移除流動性,此時由于 WBNB Vault 中的流動性已恢復正常,因此攻擊者使用添加流動性獲得憑證所取出的流動性數量將多于預期。
7. 攻擊者通過以上方式攻擊了在各個鏈上的 Vault 合約,耗盡了 Equalizer Finance 的流動性。
此次攻擊的主要原因在于 Equalizer Finance 協議的 FlashLoanProvider 合約與 Vault 合約不兼容。慢霧安全團隊建議協議在進行實際實現時應充分考慮各個模塊間的兼容性。[2022/6/8 4:09:22]
_exec函數的邏輯也很簡單,在校驗了_to地址后,直接就將data轉發到指定的_to地址上了。而通過對攻擊交易的分析,我們能發現這個_to地址確實是官方指定的合法地址。
慢霧:Polkatrain 薅羊毛事故簡析:據慢霧區消息,波卡生態IDO平臺Polkatrain于今早發生事故,慢霧安全團隊第一時間介入分析,并定位到了具體問題。本次出現問題的合約為Polkatrain項目的POLT_LBP合約,該合約有一個swap函數,并存在一個返傭機制,當用戶通過swap函數購買PLOT代幣的時候獲得一定量的返傭,該筆返傭會通過合約里的_update函數調用transferFrom的形式轉發送給用戶。由于_update函數沒有設置一個池子的最多的返傭數量,也未在返傭的時候判斷總返傭金是否用完了,導致惡意的套利者可通過不斷調用swap函數進行代幣兌換來薅取合約的返傭獎勵。慢霧安全團隊提醒DApp項目方在設計AMM兌換機制的時候需充分考慮項目的業務場景及其經濟模型,防止意外情況發生。[2021/4/5 19:46:39]
最后一步,便是調用_to地址,也就是官方指定的AaveV2Proxy合約的initialize函數,將攻擊者自己的惡意地址設置成AaveV2Proxy合約的邏輯地址。通過對Furucombo合約的分析,可以發現整個調用流程上沒有出現嚴重的安全點,對調用的地址也進行了白名單的檢查。那么問題只能是出在了對應要調用的代理邏輯上,也就是AaveV2Proxy合約。
我們直接分析AaveV2Proxy合約的initialize函數的邏輯:
可以看到initialize函數是一個public函數,并在開頭就檢查了_implementation是否是0地址,如果是0地址,則拋出錯誤。這個檢查的目的其實就是檢查了_implementation是否被設置了,如果被設置了,就無法再次設置。根據這個設置,不難想出initialize這個函數只能調用一次。除非AaveV2Proxy從來沒有設置過_implementation,否則這個調用是不會成功的。難道Furucombo真的沒有設置過對應的_implementation嗎?帶著這樣的疑問,我們檢查了交易內的狀態變化。如下:
可以看到,交易中改變了存儲位置為0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc的內容,而寫入的內容正是攻擊者自己的惡意合約地址?0x86765dde9304bea32f65330d266155c4fa0c4f04。
而?0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc這個位置,正是_implementation數據的存儲地址。
也就是說,官方從來沒有設置過?AaveV2Proxy合約的_implementation地址,導致攻擊者鉆了這個空子,造成了Furucombo資產損失。
總結
通過對整個事件的分析來看,Furucombo此次事故并不在安全漏洞的范疇內,主要的原因在于官方將未啟用的?AaveV2Proxy合約添加進了自己的白名單中,并且未對AaveV2Proxy合約進行初始化,導致攻擊者有機可乘。
建議
目前,由于Furucombo遭受攻擊,導致任何將代幣授權過給Furucombo合約(0x17e8ca1b4798b97602895f63206afcd1fc90ca5f)的用戶都將面臨資金損失的風險。
慢霧安全團隊建議與Furucombo交互過的用戶檢查是否有將相關代幣授權給Furucombo合約。如有授權,應及時撤銷相關授權,避免進一步損失。
參考鏈接:
代幣授權檢查地址:https://approved.zone/
攻擊交易:
https://ethtx.info/mainnet/0x6a14869266a1dcf3f51b102f44b7af7d0a56f1766e5b1908ac80a6a23dbaf449
Tags:PROCOMCOMBULTEYES Protocolcomp幣未來價格預測furucombo幣SODIUM Vault (NFTX)
鏈聞消息,NFT驗證平臺EthernityChain將于2021年3月8日在Polkastarter進行IDO,最大發行量為3000萬ERN,代幣價格0.275美元,總籌資金額為495.
1900/1/1 0:00:00尊敬的用戶: HuobiGlobal現已恢復ATOM的充幣和提幣業務。暫停期間給您帶來的不便,敬請諒解!ATOM充幣地址:https://www.huobi.be/zh-cn/finance-b.
1900/1/1 0:00:00天再高又怎樣,踮起腳尖就更接近陽光,你不勇敢,沒人替你堅強,也許買了一只精致的小表,可時間還是那么無聊,如果投資是一張單程車票,你是不是想撕票!恨爺不姓李,恨爹不成剛,行情沒有彩排.
1900/1/1 0:00:001.關注公眾號:道說區塊鏈2.后臺回復:電子書3.獲取《DeFi實戰投資方法論》電子書最近有不少朋友都留言問我到底有沒有變現手中的籌碼?我估計可能是由于這次的大跌來得太突然,也太猛烈.
1900/1/1 0:00:003月1日16:00—3月8日16:00我們將開啟CUDOS(CUDOS)超級空投福利,$27,000美元CUDOS等你來拿!新用戶請點擊注冊Gate.io并參與活動.
1900/1/1 0:00:002021年上半年,MixMarvel有3個戰略級產品將正式上線運營,它們包括MixMarvelPocket1.0、RocketProtocol2.0和RocketSDK1.0、Lecube.
1900/1/1 0:00:00