比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > XLM > Info

FUR:Furucombo 究竟為何會遭受攻擊?慢霧拆解攻擊細節_UCO

Author:

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

Furucombo此次事故并不在安全漏洞的范疇內,主要的原因在于官方將未啟用的AaveV2Proxy合約添加進了自己的白名單中,并且未對AaveV2Proxy合約進行初始化,導致攻擊者有機可乘。與Furucombo交互過的用戶應及時撤銷相關授權,避免進一步損失。

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

攻擊細節分析

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

Baby Doge向FurKids動物收容所捐贈20,000美元:Baby Doge在喬治亞州NASCAR賽事中向FurKids動物收容所捐贈20,000 美元。FurKids是喬治亞州最大的免殺動物救援收容所。(bsc.news)[2021/7/11 0:42:33]

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

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

卡巴斯基將利用Bitfury的軟件為莫斯科構建區塊鏈投票系統:金色財經報道,根據用于電子投票的官方頁面,莫斯科信息技術部正在計劃使用Bitfury的開源企業區塊鏈Exonum構建用于投票的區塊鏈。據熟悉電子投票項目的幾位人士稱,為莫斯科當局構建解決方案的公司是反病軟件供應商卡巴斯基實驗室。據此前報道,據莫斯科居民將能夠使用基于區塊鏈的系統對該國憲法的修正案進行投票。[2020/6/10]

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

Bitfury在挪威建立采礦數據中心 將使用百分之百的可再生能源:Bitfury2月20日宣布將在挪威投入3500萬美元開設一個新的采礦數據中心。該公司官員表示,比特幣采礦數據中心將為當地居民創造至少30個就業機會,該設施將由百分之百的可再生能源提供動力,電力使用效率(PUE)為1.05或更低,甚至遠低于Google的PUE 1.12。該公司還表示,將從當地一家名為Helgeland Kraft的可再生能源供應商那里購買約350 GWh的100%清潔能源。[2018/3/24]

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

Bitfury將在挪威投入3500萬美元建立采礦數據中心:Bitfury今日宣布,將在挪威投入3500萬美元開設一個新的采礦數據中心。據了解,與日本對數字貨幣征收重稅的國家不同,挪威的稅收政策相比之下相對寬松,數字貨幣的投資者需要繳納25%的資本所得稅,但投資損失部分則可以免稅。[2018/3/21]

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

Bitfury將推出監管比特幣區塊鏈交易的新方法:比特幣礦業公司Bitfury集團首席執行官瓦列里·瓦維洛夫(Valery Vavilov)表示,目前比特幣投資者可以擁有多個賬戶和錢包,從而使更隱藏身份及在區塊鏈上犯罪變得更容易。Bitfury一位獲獎工程師提出了一種分析比特幣區塊鏈交易的創新方法,這個新方法將通過協助調查和減少犯罪活動來達成。Bitfury發布的白皮書顯示,“地址集群”將會通過分析區塊鏈數據確定哪些地址(賬戶)屬于哪個投資者。[2018/1/9]

_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合約。如有授權,應及時撤銷相關授權,避免進一步損失。

Tags:FURUCOCOMBCOMBOFURY幣成都kucoin被抓Karate Combatcombo幣置換前的價格

XLM
比特幣:晚間必讀5篇 | a16z合伙人:NFT和一千個鐵粉_ARA

1.三分鐘看懂什么是Taraxa如何參與公募?據官方消息,公鏈項目Taraxa將于2021年3月12日上午10點在證券代幣發行和資產服務平臺Tokensoft上進行代幣TARA公募.

1900/1/1 0:00:00
NFT:NFT如何幫助獨立音樂人拿回「消失」的版稅?_以太坊

NFT如何幫助獨立音樂人拿回「消失」的版稅?區塊律動BlockBeats 剛剛 16 我每個月都會把一部分金錢預算放在音樂方面.

1900/1/1 0:00:00
比特幣:比特幣價格在一天和一周通常低開高走_btc屬于什么幣種

來源/LongHash 幣價什么時候漲?什么時候跌?這是一個始終困擾著所有交易員的問題。這當然沒有一個肯定的答案,但我們卻可以利用不同的歷史因素來分析其他交易員過去的行為方式.

1900/1/1 0:00:00
以太坊:DEFI用戶因輸入錯誤支付3.6萬美元gas費,EIP-1559能否解決問題?_World of Defish

以太坊的費用達到了創紀錄的水平。一名Uniswap用戶為一筆交易支付了3.6萬美元gas費,遠高于目前的價格.

1900/1/1 0:00:00
以太坊:以太坊1559提案:礦工、持幣人和社區利益的再平衡_Dexigas

摘要 以太坊EIP-1559提案引發過半礦池反對,如何推進降費提速是以太坊最緊迫的任務。隨著DeFi等生態的崛起,以太坊鏈上轉賬費用持續高企.

1900/1/1 0:00:00
LAYER:Layer2的十字路口 新的公鏈戰爭_以太坊

2021,加密貨幣投資是否有確定性機會?如果這個問題的答案是yes,那么我會給出兩個答案,Layer2、衍生品DEX.

1900/1/1 0:00:00
ads