著名DeFi項目Furucombo被黑,損失超1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
攻擊細節分析
本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:
歐洲風投Xange啟動早期階段種子基金募資以投資Web3創企:金色財經報道,歐洲風險投資公司 Xange 已啟動一支早期階段種子基金,目前正在為該基金募資以投資 Web3 初創公司,截止目前該風投的投資組合包括開放式銀行平臺 Deposit Solutions、加密資產硬件錢包 Ledger,以及 NFT 游戲 Dogami 等。
此前報道,Xange 于 2022 年 7 月已為旗下第四支基金募集 2.2 億歐元并重點投資數字健康、DeFi、Web3、開發工具等領域。[2023/2/10 11:59:37]
以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:
Bitwise首席合規官:美國可能會在今年出臺穩定幣立法:1月24日消息,加密貨幣投資管理公司Bitwise首席合規官Katherine Dowling周一表示,穩定幣可能是美國國會將在本屆會議上解決的第一個加密貨幣相關立法,部分原因是它是“范圍更窄的問題”,可能相比更宏大的問題更好解決。
Dowling表示,在加密交易所FTX倒閉后,加密行業失去了動力,但它可能最終可以重振旗鼓。總體而言,如果立法獲得通過,這對行業來說可能是一個“重大利好”。Dowling表示,穩定幣發行方可能必須為其代幣提供“一對一”支持,并且沒有杠桿。立法可能有助于美國跟上其他國家的步伐,甚至可以設定監管標準。(CoinDesk)[2023/1/24 11:28:31]
通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:
元宇宙項目Metropolis World的Discord服務器已被入侵:金色財經報道,據元宇宙項目Metropolis World官方推文,其Discord服務器已被入侵。提醒用戶不要點擊鏈接、鑄造或批準任何交易。[2022/9/14 13:28:54]
這里有一個trick,由于?0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:
_exec函數的邏輯也很簡單,在校驗了_to地址后,直接就將data轉發到指定的_to地址上了。而通過對攻擊交易的分析,我們能發現這個_to地址確實是官方指定的合法地址。
金色數藏:開啟數字藏品空投、優先購資格征集活動:據官方消息,金色數藏平臺將于7月8日公開發售同道大叔十二星座夏日限定《嘻哈一夏》數字藏品,今日開啟數字藏品空投、優先購資格報名活動,符合要求的用戶可獲得同道大叔夏日版畫數字藏品空投、優先購買《嘻哈一夏》數字藏品的權益,可點擊原文鏈接查看詳細信息。
金色數藏是由金色財經孵化,依托騰訊至信鏈為底層技術的元宇宙數字藝術文化收藏平臺。[2022/7/5 1:51:38]
最后一步,便是調用_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合約。如有授權,應及時撤銷相關授權,避免進一步損失。
來源:金色財經
去年流動性挖礦的興起,促進了以太坊網絡上DeFi生態的蓬勃發展。在交易、借貸等金融需求日益增長的同時,也引起了以太坊Gas費的大幅飆升,導致網絡越發擁堵.
1900/1/1 0:00:00行情觀點: 小時級別來看,大餅早間插針探底跌破下軌支撐至45000一線強烈反彈,重回布林軌道內,多次插針向上試探遇壓回調,留下上長影線,那么表明上方有一定的拋壓,技術面來看.
1900/1/1 0:00:00戰術上的失誤不足以導致戰略上的失敗,謀全局者不會在乎一城一地的得失。不要等在機會失去之后才恍然大悟,未雨綢繆才能掌控全局,不謀萬世者,不足謀一時.
1900/1/1 0:00:00多言不可與謀,多動不可與久處,交易與其沖動,還不如一動不動!大家好,我是席幕楓。心存陽光必有詩與遠方,認識老席何懼再遇荒涼?席幕楓:3.1比特幣行情分析Animoca Brands支持的游戲Wr.
1900/1/1 0:00:00每一個成功者都是一位苦行僧,只有他們自己才知道,通往成功的道路上,到底有多少寂莫與不解。男人的魅力不在于有多少錢長得有多帥,而是遇事能有多大的擔當.
1900/1/1 0:00:00行情不在于大小,抓住即可,利潤不在于多少,積累便是。別總奢望暴風雨,沒有準備好的追求有時候就是災難,有多少人是每天有計劃的交易,有多少人是每回有反省的成長,太多扛單的英雄事跡,太多鎖倉的光輝歲月.
1900/1/1 0:00:00