買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 區塊鏈 > Info

COMB:慢霧:Furucombo被黑分析_COM

Author:

Time:1900/1/1 0:00:00

著名DeFi項目Furucombo被黑,損失超1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。

攻擊細節分析

本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。

慢霧:JPEG'd攻擊者或已將全部6106.75枚ETH歸還給項目方:8月4日消息,慢霧MistTrack監測顯示,JPEG'd攻擊者或已將全部6106.75枚ETH歸還給項目方。[2023/8/4 16:18:46]

但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。

如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:

以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:

慢霧:過去一周Web3生態因安全事件損失約2400萬美元:6月19日消息,據慢霧發推稱,過去一周Web3生態系統因安全事件損失約2400萬美元,包括Atlantis Loans、Ben Armstrong、TrustTheTrident、FPG、Sturdy、Pawnfi、Move VM、Hashflow、DEP/USDT與LEV/USDC、Midas Capital,總計23,795,800美元。[2023/6/19 21:46:18]

通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:

慢霧:攻擊Ronin Network的黑客地址向火幣轉入3750枚 ETH:3月30日消息,慢霧發推稱,攻擊Axie Infinity側鏈Ronin Network的黑客地址向交易所火幣轉入3750枚ETH。此前金色財經報道,Ronin橋被攻擊,17.36萬枚ETH和2550萬USDC被盜。[2022/3/30 14:26:38]

這里有一個trick,由于?0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:

慢霧:nanotron安全審計報告是偽造的:慢霧科技發推表示:團隊并沒有對于nanotron進行審計,項目的安全審計報告是偽造的,請注意防范風險。[2020/10/8]

_exec函數的邏輯也很簡單,在校驗了_to地址后,直接就將data轉發到指定的_to地址上了。而通過對攻擊交易的分析,我們能發現這個_to地址確實是官方指定的合法地址。

最后一步,便是調用_to地址,也就是官方指定的AaveV2Proxy合約的initialize函數,將攻擊者自己的惡意地址設置成AaveV2Proxy合約的邏輯地址。通過對Furucombo合約的分析,可以發現整個調用流程上沒有出現嚴重的安全點,對調用的地址也進行了白名單的檢查。那么問題只能是出在了對應要調用的代理邏輯上,也就是AaveV2Proxy合約。

慢霧:攻擊者系通過“supply()”函數重入Lendf.Me合約 實現重入攻擊:慢霧安全團隊發文跟進“DeFi平臺Lendf.Me被黑”一事的具體原因及防御建議。文章分析稱,通過將交易放在bloxy.info上查看完整交易流程,可發現攻擊者對Lendf.Me進行了兩次“supply()”函數的調用,但是這兩次調用都是獨立的,并不是在前一筆“supply()”函數中再次調用“supply()”函數。緊接著,在第二次“supply()”函數的調用過程中,攻擊者在他自己的合約中對Lendf.Me的“withdraw()”函數發起調用,最終提現。慢霧安全團隊表示,不難分析出,攻擊者的“withdraw()”調用是發生在transferFrom函數中,也就是在Lendf.Me通過transferFrom調用用戶的“tokensToSend()”鉤子函數的時候調用的。很明顯,攻擊者通過“supply()”函數重入了Lendf.Me合約,造成了重入攻擊。[2020/4/19]

我們直接分析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:COMBCOMCOMBOFURcombo幣行情SBECOMcombo幣圈FURY價格

區塊鏈
COIN:拆解Coinbase上市文件:市盈率或超300倍,a16z、USV成最大機構贏家_Coinbase Wrapped Staked ETH

作者:谷昱 在宣布上市消息數月后,Coinbase如今邁向公開上市的最后一步。不過面對市場超過1000億美元的市值預期、超300倍的市盈率,以及所有股票都不存在鎖定期的狀況,Coinbase接下.

1900/1/1 0:00:00
QUA:再斥1.7億美金購入比特幣 Square想干什么?_SQUAWK

再斥1.7億美金購入比特幣Square想干什么? 歐科區塊鏈 剛剛 16 數字資產行業似乎正在與美股同步。昨天,全球市場驚出一身冷汗.

1900/1/1 0:00:00
比特幣:晚間必讀5篇 | 波卡平行鏈競拍將至 必須關注四個方面_鉑鏈幣區塊鏈下載

晚間必讀5篇|波卡平行鏈競拍將至必須關注四個方面 金色薦讀 剛剛 23 1.何時才能發揮整公鏈系統實用價值?一條真正具有價值的公鏈,除了可以用來發幣之外,還應當有去中心化應用和智能合約存在.

1900/1/1 0:00:00
DAS:Dash投資基金會考慮購買特斯拉和Coinbase的股票_ONT

.new_summary,blockquote{position:relative;font-size:16px;letter-spacing:1px;line-height:28px;marg.

1900/1/1 0:00:00
DNS:區塊鏈如何促進工業互聯網創新發展 (2021-2023)?_DID

引言 2021年1月13日,工業和信息化部對外發布了關于印發《工業互聯網創新發展行動計劃》的通知,這是繼2018年發布《工業互聯網發展行動計劃》以來,又一個工業互聯網三年規劃.

1900/1/1 0:00:00
NFT:CROSS第一期盲盒游戲收官375HT拍下價值0.5BTC大獎_NFTBOX

CROSS由CyberVein基金會支持打造,是全球首個去中心化的NFT發行&拍賣平臺,在1月13日正式上線火幣生態鏈Heco,并于2月26日10:00啟動MysteryBox盲盒游戲.

1900/1/1 0:00:00
ads