Furucombo此次事故并不在安全漏洞的范疇內,主要的原因在于官方將未啟用的AaveV2Proxy合約添加進了自己的白名單中,并且未對AaveV2Proxy合約進行初始化,導致攻擊者有機可乘。與Furucombo交互過的用戶應及時撤銷相關授權,避免進一步損失。
據鏈聞消息,著名DeFi項目Furucombo被黑,損失約1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
攻擊細節分析
本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
KeeperDAO Infura配置之一出現問題,官方稱目前所有資金安全:10月26日消息,KeeperDAO官方發推表示,其Infura配置之一存在已知問題,導致Web應用程序出現問題,目前所有資金都是安全的,一旦修復,就會開始更新。[2021/10/26 20:58:51]
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:
嘉楠科技已與BitFury等三家礦業公司簽署礦機采購訂單:1月28日,嘉楠耘智官方發文宣布,嘉楠科技近日與BitFury、MineBest和Arctos Capital三家礦業公司簽署礦機采購訂單。其中,MineBest計劃將礦場裝機容量擴展至220MW。不過,官方目前未披露三家礦業公司的具體訂單金額。官方表示,目前已陸續發貨。[2021/1/28 14:14:48]
以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:
動態 | 佰仕通集團旗下科技公司與Bitfury合作,將區塊鏈技術引入貿易融資領域:據Coindesk消息,佰仕通集團旗下科技公司Mphasis與Bitfury最近展開合作,計劃將區塊鏈技術引入貿易融資領域。雙方表示,將會通過自動化和“新型代幣化”為結算、外匯和自動融資流程帶來新的透明度和效率。[2019/5/29]
通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:
動態 | Bitfury與俄羅斯經濟大學創建區塊鏈項目加速器:據Forklog報道,區塊鏈公司Bitfury與普列漢諾夫俄羅斯經濟大學合作,為區塊鏈項目創建加速器。除了支持區塊鏈項目的開發外,該大學還將提供課程和額外的教育,專門用于培訓能夠在短時間內使用數字技術創建創新項目的專家。[2018/11/24]
這里有一個trick,由于0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:
_exec函數的邏輯也很簡單,在校驗了_to地址后,直接就將data轉發到指定的_to地址上了。而通過對攻擊交易的分析,我們能發現這個_to地址確實是官方指定的合法地址。
聲音 | Bitfury營收官:采礦業正進入整合階段:據CoinDesk報道,本周四在CoinDesk新加坡共識大會上,比特幣礦商Bitfury的首席營收官Henry Monzon認為,隨著挖礦業的不斷成熟,加密貨幣行業正進入整合階段。挖礦業不應該“過分擔心”英特爾和英偉達等傳統芯片制造商已經進入這一領域。他表示,傳統芯片的設計要求與加密芯片有很大不同,這實際上為加密技術行業提供了特殊的優勢。[2018/9/21]
最后一步,便是調用_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合約。如有授權,應及時撤銷相關授權,避免進一步損失。
珍妮特·耶倫可能對美國監管機構考慮數字貨幣持開放態度,但她似乎仍然對比特幣有強烈的擔憂。周一,耶倫在接受《紐約時報》DealBookDCPolicyProject欄目的采訪時表示,美聯儲研究數字.
1900/1/1 0:00:00熱點摘要: 1.?“股神”巴菲特摯友Charlie認為過度投機很危險,不會去買比特幣。2.?以太坊Layer2的之爭,ZKrollup和Optimisticrollup.
1900/1/1 0:00:00本周技術周刊包含以太坊、波卡、Filecoin、IRISnet四個網絡的技術類新聞。 以太坊網絡 EIP-1559性能測試:22小時共處理6426個區塊,平均每個區塊4100萬Gas以太坊客戶端.
1900/1/1 0:00:00盡管交易費用高昂,以太坊的去中心化交易所交易量仍在繼續激增—2021年,DEX處理的交易量超過1200億美元.
1900/1/1 0:00:00據官方消息,公鏈項目Taraxa將于2021年3月12日上午10點在證券代幣發行和資產服務平臺Tokensoft上進行代幣TARA公募.
1900/1/1 0:00:00領先加密交易所Coinbase的S-1表格已經上線,在其正式上市前披露了交易所的關鍵細節。此舉為該交易所長達七個月的上市努力畫下了句號。加密貨幣交易所Coinbase將正式成為一家上市公司.
1900/1/1 0:00:00