據鏈聞消息,著名DeFi項目Furucombo被黑,損失超1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
攻擊細節分析
本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:
慢霧:Uwerx遭受攻擊因為接收地址會多銷毀掉from地址轉賬金額1%的代幣:金色財經報道,Uwerx遭到攻擊,損失約174.78枚ETH,據慢霧分析,根本原因是當接收地址為 uniswapPoolAddress(0x01)時,將會多burn掉from地址的轉賬金額1%的代幣,因此攻擊者利用uniswapv2池的skim功能消耗大量WERX代幣,然后調用sync函數惡意抬高代幣價格,最后反向兌換手中剩余的WERX為ETH以獲得利潤。據MistTrack分析,黑客初始資金來自Tornadocash轉入的10 BNB,接著將10 BNB換成1.3 ETH,并通過Socket跨鏈到以太坊。目前,被盜資金仍停留在黑客地址0x605...Ce4。[2023/8/2 16:14:10]
以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:
慢霧:7月3日至7月7日期間?Web3生態因安全問題損失近1.3億美元:7月10日消息,慢霧發推稱,自7月3日至7月7日,Web3生態因安全問題遭遇攻擊損失128,419,000美元,包括Encryption AI、AzukiDao、NFT Trader、MIKE&SID、Bryan Pellegrino、Aptos Foundation、Multichain、CivFund。其中,Multichain被攻擊損失1.26億美元。[2023/7/10 10:12:36]
通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:
慢霧:Harmony Horizon bridge遭攻擊簡析:據慢霧安全團隊消息,Harmony Horizon bridge 遭到黑客攻擊。經慢霧 MistTrack 分析,攻擊者(0x0d0...D00)獲利超 1 億美元,包括 11 種 ERC20 代幣、13,100 ETH、5,000 BNB 以及 640,000 BUSD,在以太坊鏈攻擊者將大部分代幣轉移到兩個新錢包地址,并將代幣兌換為 ETH,接著將 ETH 均轉回初始地址(0x0d0...D00),目前地址(0x0d0...D00)約 85,837 ETH 暫無轉移,同時,攻擊者在 BNB 鏈暫無資金轉移操作。慢霧 MistTrack 將持續監控被盜資金的轉移。[2022/6/24 1:28:30]
這里有一個trick,由于?0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:
慢霧:Moonbirds的Nesting Contract相關漏洞在特定場景下才能產生危害:據慢霧區情報反饋,Moonbirds 發布安全公告,Nesting Contract 存在安全問題。當用戶在 OpenSea 或者 LooksRare等NFT交易市場進行掛單售賣時。賣家不能僅通過執行 nesting(筑巢) 來禁止NFT售賣,而是要在交易市場中下架相關的 NFT 售賣訂單。否則在某個特定場景下買家將會繞過 Moonbirds 在nesting(筑巢)時不能交易的限制。慢霧安全團隊經過研究發現該漏洞需要在特定場景才能產生危害屬于低風險。建議 Moonbirds 用戶自行排查已 nesting(筑巢)的 NFT 是否還在 NTF 市場中上架,如果已上架要及時進行下架。更多的漏洞細節請等待 Moonbirds 官方的披露。[2022/5/30 3:50:23]
_exec函數的邏輯也很簡單,在校驗了_to地址后,直接就將data轉發到指定的_to地址上了。而通過對攻擊交易的分析,我們能發現這個_to地址確實是官方指定的合法地址。
最后一步,便是調用_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
親愛的用戶:幣安流動性挖礦將于2021年02月27日上午08:00調整手續費至0幣安將于4月21日14:45暫停BEP2網絡的充提以支持BNB Beacon Chain網絡升級:4月19日消息.
1900/1/1 0:00:00尊敬的用戶:BiKi余幣寶將于02月28日10:00開啟第四期USDT機槍池理財,預期年化收益30%.
1900/1/1 0:00:00最近有不少朋友都留言問我到底有沒有變現手中的籌碼?我估計可能是由于這次的大跌來得太突然,也太猛烈,所以弄得大家猝不及防,心理上沒有想好應對的措施,所以急需充值信仰和操作參考.
1900/1/1 0:00:0001 加密數字貨幣市場 1、政策及市場指標 整體上,數據變化不大,小幅上下變動。其中,比較明顯的是爆倉數據,減少了一半.
1900/1/1 0:00:00據成都鏈安安全輿情監控數據顯示:2021年2月,據不完全統計,整個區塊鏈生態發生的典型安全事件超26起,整體安全風險評級為.
1900/1/1 0:00:00金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、行情與合約數據、項目動態、技術進展等行業動態。本文是其中的新聞周刊,帶您一覽本周區塊鏈行業大事.
1900/1/1 0:00:00