著名DeFi項目Furucombo被黑,損失超1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
攻擊細節分析
本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:
幣安閃兌交易平臺上線WLD新資產:金色財經報道,幣安閃兌交易平臺已上線WLD新資產。用戶現可零費用通過WLD與BTC、USDT和閃兌交易平臺支持的其他代幣進行交易。[2023/7/24 15:55:29]
以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:
通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:
PeckShield:Cellframe Network疑遭閃電貸攻擊,攻擊者或獲利245枚BNB:6月1日消息,PeckShield監測顯示,基于分片架構的區塊鏈網絡 Cellframe Network 疑似遭遇閃電貸攻擊,鏈上數據顯示,攻擊者或獲利 245 枚 BNB(約 7.4 萬美元),代幣 CELL 已下跌逾 65%。[2023/6/1 11:51:37]
這里有一個trick,由于?0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:
Zhu Su:曾質疑Alameda高息借貸,大型VC投資使其最終接受FTX:11月15日消息,三箭資本聯合創始人Zhu Su在其社交平臺表示,曾在2019年1月對Alameda以15%的利息借貸2億美元并稱這是無風險高收益的做法表示質疑,但遭到FTX高管Ryan Salame和Zane Tackett抨擊。此后,Zhu Su連同QCP、Amber和Coinflex的高管向The Block提供了證據,但后者并沒有進行報道。
2021年由于OKX和Huobi的清退政策,導致三箭資本不得不改換交易平臺。Zhu Su看到此時FTX已經獲得大型風投機構的投資,認為他們應該做了詳細的盡職調查,以為FTX此時經營狀況或許已經改變,遂決定接受FTX作為三箭資本的交易平臺。
此前報道,Zhu Su表示過去一年里Clement(Genesis Block Ventures創始人)在FTX HK期間向很多人泄露了三箭資本的頭寸和賬戶細節。[2022/11/15 13:08:28]
_exec函數的邏輯也很簡單,在校驗了_to地址后,直接就將data轉發到指定的_to地址上了。而通過對攻擊交易的分析,我們能發現這個_to地址確實是官方指定的合法地址。
Moonbeam已集成跨鏈互操作性協議LayerZero:8月29日消息,波卡生態智能合約平臺Moonbeam宣布集成跨鏈互操作性協議LayerZero,Moonbeam母公司Purestake的首席執行官Derek Yoo表示此舉旨在促進Moonbeam與以太坊、BNB Chain、Polygon等的跨鏈互操作性并鼓勵開發者在Moonbeam上開發應用。(CoinDesk)[2022/8/29 12:55:58]
最后一步,便是調用_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合約。如有授權,應及時撤銷相關授權,避免進一步損失。
來源:金色財經
Tags:FURUCOCOMCOMBOFURY價格kucoinprou交易所Compound Metacombo幣最新消息
2020年,將區塊鏈放在人工智能、5G、大數據的前列,提出要加快數字經濟新基建戰略,不斷提高數字經濟在GDP中的比重。區塊鏈作為一種創造信任的機制,在國家戰略中愈發重要.
1900/1/1 0:00:003.1比特幣以太坊成功抄底,多頭再次起航! 投資中永遠都是昨天發生的事情今天又發生了,只是發生在不同人的身上而已。未來有多近,在于你已經走了多遠,未來有多好,在于你與誰同行.
1900/1/1 0:00:00在幣圈,無論你做的是什么幣種,還是在做數字貨幣的交易,都躲不過交易大盤起起伏伏的風云變幻,看著那些不斷漲漲停停的曲線,讓人眼花繚亂,甚至一些投資者為了盯盤,累人又累心.
1900/1/1 0:00:00原文標題:PieVaults:MaximiseYield,MinimiseRisk.原文鏈接:https://medium.com/piedao/pievaults-maximise-yield.
1900/1/1 0:00:00炒股票的時候帳戶綠的像油菜地,炒黃金的時候帳戶紅的像戰場,炒幣的時候賬戶虧的像雞肋。為何虧損總是和你過不去,是命里相沖還是人品有問題,為此還有人去算命,去拜佛,結果佛祖也無能為力!難道是這個.
1900/1/1 0:00:00復利是“世界第八大奇跡,知之者賺,不知之者被賺,想必大家或多或少聽說過愛因斯坦說過的這句話。復利是指將上一期資金產生的利息,作為下一期投資的本金,由此利息也計算利息的一種計息方法,復利效應就是指.
1900/1/1 0:00:00