著名DeFi項目Furucombo被黑,損失超1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
攻擊細節分析
本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
慢霧:過去一周加密領域因安全事件累計損失3060萬美元:7月24日消息,據慢霧統計,上周加密領域因遭遇攻擊累計損失3060萬美元,攻擊者利用了不同的攻擊向量。這些事件包括Alphapo熱錢包被盜(損失2300萬美元)、Conic Finance遭閃電貸攻擊(損失30萬美元)以及重入攻擊(損失320萬美元)、GMETA發生RugPull(損失360萬美元)、BNO遭閃電貸攻擊(損失50萬美元)等。[2023/7/24 15:55:56]
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:
慢霧:過去一周Web3因安全事件損失約265萬美元:7月17日消息,慢霧發推稱,2023年7月10日至7月16日期間,Web3發生5起安全事件,總損失為265.5萬美元,包括Arcadia Finance、Rodeo Finance、LibertiVault、Platypus、Klever。[2023/7/17 10:59:08]
以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:
慢霧:近期出現新的流行惡意盜幣軟件Mystic Stealer,可針對40款瀏覽器、70款瀏覽器擴展進行攻擊:6月20日消息,慢霧首席信息安全官@IM_23pds在社交媒體上發文表示,近期已出現新的加密貨幣盜竊軟件Mystic Stealer,該軟件可針對40款瀏覽器、70款瀏覽器擴展、加密貨幣錢包進行攻擊,如MetaMask、Coinbase Wallet、Binance、Rabby Wallet、OKX Wallet、OneKey等知名錢包,是目前最流行的惡意軟件,請用戶注意風險。[2023/6/20 21:49:05]
通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:
慢霧:Solana公鏈上發生大規模盜幣,建議用戶先將熱錢包代幣轉移到硬件錢包或知名交易所:8月3日消息,據慢霧區情報,Solana公鏈上發生大規模盜幣事件,大量用戶在不知情的情況下被轉移SOL和SPL代幣,慢霧安全團隊對此事件進行跟蹤分析:
已知攻擊者地址:
Htp9MGP8Tig923ZFY7Qf2zzbMUmYneFRAhSp7vSg4wxV、CEzN7mqP9xoxn2HdyW6fjEJ73t7qaX9Rp2zyS6hb3iEu、5WwBYgQG6BdErM2nNNyUmQXfcUnB68b6kesxBywh1J3n、GeEccGJ9BEzVbVor1njkBCCiqXJbXVeDHaXDCrBDbmuy
目前攻擊仍在進行,從交易特征上看,攻擊者在沒有使用攻擊合約的情況下,對賬號進行簽名轉賬,初步判斷是私鑰泄露。不少受害者反饋,他們使用過多種不同的錢包,以移動端錢包為主,我們推測可能問題出現在軟件供應鏈上。在新證據被發現前,我們建議用戶先將熱錢包代幣轉移到硬件錢包或知名交易所等相對安全的位置,等待事件分析結果。[2022/8/3 2:55:22]
慢霧:Polkatrain 薅羊毛事故簡析:據慢霧區消息,波卡生態IDO平臺Polkatrain于今早發生事故,慢霧安全團隊第一時間介入分析,并定位到了具體問題。本次出現問題的合約為Polkatrain項目的POLT_LBP合約,該合約有一個swap函數,并存在一個返傭機制,當用戶通過swap函數購買PLOT代幣的時候獲得一定量的返傭,該筆返傭會通過合約里的_update函數調用transferFrom的形式轉發送給用戶。由于_update函數沒有設置一個池子的最多的返傭數量,也未在返傭的時候判斷總返傭金是否用完了,導致惡意的套利者可通過不斷調用swap函數進行代幣兌換來薅取合約的返傭獎勵。慢霧安全團隊提醒DApp項目方在設計AMM兌換機制的時候需充分考慮項目的業務場景及其經濟模型,防止意外情況發生。[2021/4/5 19:46:39]
這里有一個trick,由于?0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:
_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合約。如有授權,應及時撤銷相關授權,避免進一步損失。
來源:量子位,作者:楊凈新一季度的財報發布,老黃很開心。因為英偉達的業績又突破到了一個新高度:第四季度共賺了50億美元,同比增長61%,全年營收166.75億美元.
1900/1/1 0:00:002月28日晚9點,以太坊創始人?VitalikButerin?做客幣乎,就以太坊近期一些熱點話題進行一一解答,以下為直播的文字內容。咕嚕:我先和大家分享下為什么今天會選擇這個話題.
1900/1/1 0:00:00頭條 ▌Coinbase已獲批將于納斯達克上市股票代碼為COIN2月25日消息,加密貨幣交易平臺Coinbase提交的S-1表格已被美國證券交易委員會(SEC)認定有效,其將在納斯達克直接上市.
1900/1/1 0:00:00頭條 ▌美國參議院將于本周審議經濟刺激法案美國參議院多數黨領袖舒默表示,參議院將于本周審議經濟刺激法案.
1900/1/1 0:00:00據TheBlock2月26日報道,加密貨幣托管和銀行公司Anchorage于本周四宣布,該公司在C輪融資中籌集了8000萬美元.
1900/1/1 0:00:00根據美國國稅局于2021年3月2日更新的加密貨幣常見問題解答,以法定貨幣進行的加密貨幣購買不受任何類型的美國國稅局稅務報告的約束.
1900/1/1 0:00:00