Furucombo此次事故并不在安全漏洞的范疇內,主要的原因在于官方將未啟用的AaveV2Proxy合約添加進了自己的白名單中,并且未對AaveV2Proxy合約進行初始化,導致攻擊者有機可乘。與Furucombo交互過的用戶應及時撤銷相關授權,避免進一步損失。
原文標題:《可避天災,難免人禍——Furucombo被黑分析》撰文:慢霧安全團隊
據鏈聞消息,著名DeFi項目Furucombo被黑,損失約1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
攻擊細節分析
本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
前OCC代理署長Brian Brooks將擔任礦業公司BitFury的新CEO:11月5日消息,前OCC代理署長、前美國幣安首席執行官Brian Brooks擔任比特幣礦業公司BitFury的新首席執行官,他將領導該公司為新一輪融資做準備。此前報道,Brian Brooks曾在2018道2020年期間擔任Coinbase的首席法律官,后又在美國幣安工作了僅3個月,于今年8月辭職。[2021/11/5 6:33:51]
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:
以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:
動態 | Bitfury計劃于印度海得拉巴建立區塊鏈研究與創新中心:比特幣礦機制造商Bitfury計劃于印度海得拉巴(Hyderabad)建立一個區塊鏈研究與創新中心。(NewsGram)[2019/10/14]
通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:
這里有一個trick,由于0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:
動態 | 佰仕通集團旗下科技公司與Bitfury合作,將區塊鏈技術引入貿易融資領域:據Coindesk消息,佰仕通集團旗下科技公司Mphasis與Bitfury最近展開合作,計劃將區塊鏈技術引入貿易融資領域。雙方表示,將會通過自動化和“新型代幣化”為結算、外匯和自動融資流程帶來新的透明度和效率。[2019/5/29]
_exec函數的邏輯也很簡單,在校驗了_to地址后,直接就將data轉發到指定的_to地址上了。而通過對攻擊交易的分析,我們能發現這個_to地址確實是官方指定的合法地址。
最后一步,便是調用_to地址,也就是官方指定的AaveV2Proxy合約的initialize函數,將攻擊者自己的惡意地址設置成AaveV2Proxy合約的邏輯地址。通過對Furucombo合約的分析,可以發現整個調用流程上沒有出現嚴重的安全點,對調用的地址也進行了白名單的檢查。那么問題只能是出在了對應要調用的代理邏輯上,也就是AaveV2Proxy合約。
美國科技公司Bitfury在格魯吉亞采礦使用的電力引起爭議:據btcmanager消息,美國科技公司Bitfury在格魯吉亞首都第比利斯郊區開設了一個龐大的加密挖掘綜合設施。除了加密挖掘之外,Bitfury還與該國政府合作開發區塊鏈技術解決方案。Bitfury在格魯吉亞的采礦規模已經引起了一些電力消費方面的爭議。據報道,Bitfury的采礦作業每月平均消耗2800萬千瓦小時的電力。據估計,該使用量相當于該國12萬戶家庭的平均消費量。大部分爭議都源于,盡管這些數字很大,但該公司通常僅支付其電費的一小部分。某些反對派家認為,據稱該公司有政府官員參與,因此Bitfury被允許支付較低的電費。 而Bitfury官員斷然否認存在這種優惠待遇,稱該公司是不良媒體的受害者。[2018/4/25]
我們直接分析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查看更多
Tags:FURCOMCOMBOUCOFURYXMyPoints E-Commercecombo幣公司kucoin怎么轉賬
尊敬的用戶: 經過不斷的技術迭代更新,版本已經有了較大的技術改善,交易中心決定在新加坡時間2021年/1月/19日14:00進行產品更新;本次更新需要重啟服務,預期時間為240分鐘.
1900/1/1 0:00:00本期投票上幣活動已圓滿結束,感謝廣大用戶的參與和支持。Gate.io投票上幣活動將持續帶來更多有潛力的優質項目,敬請期待.
1900/1/1 0:00:002月26號17:00,Alpha5CEO?VishalShah和FBGCapitalfounder?周碩基做客金色微訪談直播間,本次直播由金色財經海帶主持.
1900/1/1 0:00:00“起風了,那烏家就破產吧”。近日,國產電視劇《贅婿》頻頻喜提熱搜,男主寧毅利用“期貨”、“做多”、“對沖”等現代金融思維,使得對手烏家資金鏈斷掉,向男主寧毅低頭,看得觀眾直呼過癮.
1900/1/1 0:00:00親愛的安銀小伙伴, AEX安銀將于2021年2月27日11:30正式上線RAD、ADA并同步開通USDT交易對.
1900/1/1 0:00:00Gate.io直播間作為行業內首個交易所內置直播功能,通過多樣性的直播形式為平臺用戶帶來具有深度、有趣、開放的信息內容.
1900/1/1 0:00:00