Furucombo此次事故并不在安全漏洞的范疇內,主要的原因在于官方將未啟用的AaveV2Proxy合約添加進了自己的白名單中,并且未對AaveV2Proxy合約進行初始化,導致攻擊者有機可乘。與Furucombo交互過的用戶應及時撤銷相關授權,避免進一步損失。
原文標題:《可避天災,難免人禍——Furucombo被黑分析》撰文:慢霧安全團隊
據鏈聞消息,著名DeFi項目Furucombo被黑,損失約1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
攻擊細節分析
本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
Infura:去中心化將分多個階段進行,最終治理模型尚未確定:金色財經報道,Consensus旗下的區塊鏈基礎設施服務提供商Infura計劃在2023年底之前發布其服務的去中心化版本,該版本將由多個實體運營。該公司表示,去中心化的工作計劃分多個階段進行,去中心化Infura的最終治理模型(DAO或基金會)尚未確定。
Infura去中心化基礎設施產品負責人Tom Hay表示:“我們計劃在今年晚些時候推出一些東西,這將是一個聯合階段。聯合階段將持續至少6個月,并將為網絡提供有關如何在引入進一步去中心化之前構建可持續模型的見解。”[2023/9/9 13:27:49]
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:
比特幣礦企CipherMiningScraps計劃放棄購買Bitfury礦機:金色財經報道,比特幣礦企Cipher Mining(CIFR)放棄了今年購買Bitfury礦機的計劃,首席執行官Tyler Page表示其目標是更加靈活。根據10月份向美國證券交易委員會提交的一份文件,Cipher已從Bitfury預訂了28,000至56,000臺挖礦設備,每臺機器的最高價格為6,250美元。以最大值計算,訂單總額達到3.5億美元。此外,Cipher已簽訂從比特大陸購買60,000臺礦機和從MicroBT購買27,000臺礦機的合同,公司計劃到年底算力達到7.2EH/s。(CoinDesk)[2022/3/5 13:38:57]
以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:
Infura:已確定根本原因,正在準備修復程序:Ethereum和IPFS的API服務供應商Infura對EthereumMainnetAPI服務暫時中斷事件更新稱,已經確定了根本原因,并正在準備修復程序以恢復服務功能。
此前報道,Infura的Ethereum Mainnet API服務暫時中斷,多家加交易所及錢包服務疑似受到影響。[2020/11/11 12:20:33]
通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:
這里有一個trick,由于0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:
Bitfury為機構投資者推出礦業投資解決方案:金色財經報道,比特幣技術公司Bitfury于5月26日宣布了一項合作計劃,將允許機構投資于比特幣采礦業務。據稱,該計劃將幫助家族理財室和其他機構基金將其投資組合分配至數字資產基礎設施。通過定制的投資解決方案,機構將有可能向北美和其他未指定地區的數據中心進行投資。Bitfury將管理運營的各個方面,包括場地、設備采購和維護。[2020/5/27]
_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合約。如有授權,應及時撤銷相關授權,避免進一步損失。
來源鏈接:mp.weixin.qq.com
免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。
FURUCOMBO
FURUCOMBO
FURUCOMBO旨在節省操作步驟與手續費,無限DeFi組合。在不知道如何編程的情況下,將自己的DeFi投資組合進行集成。將所有策略整合到一個交易中,拖動多維數據集以重新排列操作順序。Furucombo查看更多
作者|秦曉峰?編輯|郝方舟出品?|?Odaily星球日報北京時間2月25日,美國最大的合規加密交易平臺Coinbase正式向美國證券交易委員會提交S-1注冊表格.
1900/1/1 0:00:00近兩個月來,新一輪DeFi熱潮涌起,以太坊鏈上擁堵加劇,在Uniswap做一筆交易消耗的Gas費達到20~200多美元.
1900/1/1 0:00:00周彥靈:2.29高位空單完美預測弱勢仍在進行多頭是否有望今日比特幣以太最新分析解套目前走勢來看,比特幣日內空頭情緒濃重,而主力也在大量賣出多單帶動走勢不斷變弱.
1900/1/1 0:00:00金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、行情與合約數據、礦業信息、項目動態、技術進展等行業動態。本文是其中的項目周刊,帶您一覽本周主流項目以及明星項目的進展.
1900/1/1 0:00:001.以太坊EIP-1559能順利實施嗎?2月26日,中國區以太坊礦池魚池宣布支持EIP1559,而另一中國區以太坊礦池星火礦池卻選擇并不接受EIP-1559的部署.
1900/1/1 0:00:00親愛的用戶:為了更好地規范市場和防范市場風險,幣安合約自上周起開始對以下幣本位合約的維持保證金率階梯進行定時調整,預計在10周內調整完成.
1900/1/1 0:00:00