據鏈聞消息,著名DeFi項目Furucombo被黑,損失超1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
攻擊細節分析
本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:
慢霧:上周Web3安全事件中總損失約1996.3萬美元:金色財經報道,據慢霧區塊鏈被黑檔案庫統計,2023年8月14日至8月20日,共發生安全事件10起,總損失約1996.3萬美元。具體事件:
8月14日,Hexagate發推表示,過去幾天單個MEV Bot被利用了約20萬美元。以太坊上Zunami Protocol協議遭遇價格操縱攻擊,損失1,179個ETH(約220萬美元)。
8月15日,以太坊擴容解決方案Metis官方推特賬號被盜。Sei Network官方Discord服務器遭入侵。Base生態項目RocketSwap遭遇攻擊,攻擊者竊取了RCKT代幣,將其轉換為價值約86.8萬美元的ETH并跨鏈到以太坊。
8月16日,借貸協議SwirlLend團隊從Base盜取了約290萬美元的加密貨幣,從Linea盜取了價值170萬美元的加密貨幣。BAYC推出的鏈上許可申請平臺Made by Apes的SaaSy Labs APl存在一個問題,允許訪問MBA申請的個人詳細信息。
8月18日,DeFi借貸協議Exactly Protocol遭受攻擊,損失超7,160枚ETH(約1204萬美元)。
8月19日,Cosmos生態跨鏈穩定幣協議Harbor Protocol被利用,損失42,261枚LUNA、1,533枚CMDX、1,571枚stOSMO和18,600萬億枚WMATIC。
8月20日,衍生品市場Thales發布公告稱,一名核心貢獻者的個人電腦/Metamask遭到黑客攻擊,一些充當臨時部署者(2.5萬美元)或管理員機器人(1萬美元)的熱錢包已被攻破。[2023/8/21 18:13:42]
以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:
慢霧:昨日MEV機器人攻擊者惡意構造無效區塊,建議中繼運營者及時升級:金色財經報道,慢霧分析顯示,昨日MEV機器人被攻擊的問題原因在于即使信標區塊不正確,中繼仍將有效載荷(payload)返回給提議者,導致了提議者在另一個區塊被最終確定之前就能訪問區塊內容。攻擊者利用此問題,惡意構造了無效的區塊,使得該區塊無法被驗證,中繼無法進行廣播(狀態碼為202)從而提前獲得交易內容。mev-boost-relay昨日已緊急發布新版本緩解此問題,建議中繼運營者及時升級中繼。
據此前報道,昨日夾擊MEV機器人的惡意驗證者已被Slash懲罰并踢出驗證者隊列。[2023/4/4 13:43:37]
通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:
慢霧:警惕ETH新型假充值,已發現在野ETH假充值攻擊:經慢霧安全團隊監測,已發現存在ETH假充值對交易所攻擊的在野利用,慢霧安全團隊決定公開修復方案,請交易所或錢包及時排查ETH入賬邏輯,必要時聯系慢霧安全團隊進行檢測,防止資金丟失。建議如沒有把握成功修復可先臨時暫停來自合約地址的充值請求。再進行如下修復操作:1、針對合約ETH充值時,需要判斷內聯交易中是否有revert的交易,如果存在revert的交易,則拒絕入賬。2、采用人工入賬的方式處理合約入賬,確認充值地址到賬后才進行人工入賬。同時需要注意,類以太坊的公鏈幣種也可能存在類似的風險。[2020/5/23]
這里有一個trick,由于?0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:
聲音 | 慢霧:采用鏈上隨機數方案的 DApp 需緊急暫停:根據近期針對EOS DApp遭遇“交易排擠攻擊”的持續性威脅情報監測:EOS.WIN、FarmEOS、影骰、LuckBet、GameBet、Fishing、EOSDice、STACK DICE、ggeos等知名DAPP陸續被攻破,該攻擊團伙(floatingsnow等)的攻擊行為還在持續。在EOS主網從根本上解決這類缺陷之前,慢霧建議所有采用鏈上隨機數方案的DAPP緊急暫停并做好風控機制升級。為了安全起見,強烈建議所有競技類DAPP采用EOS官方很早就推薦的鏈下隨機種子的隨機數生成方案[2019/1/16]
_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合約。如有授權,應及時撤銷相關授權,避免進一步損失。
參考鏈接:
代幣授權檢查地址:https://approved.zone/
攻擊交易:
https://ethtx.info/mainnet/0x6a14869266a1dcf3f51b102f44b7af7d0a56f1766e5b1908ac80a6a23dbaf449
鏈聞消息,MakersPlace宣布將啟動抽獎活動BEEPLERAFFLE,將此前因網站崩潰未售出的剩余BEEPLE1美元特價加密藝術NFT以抽獎活動發送給幸運用戶.
1900/1/1 0:00:00尊敬的LOEx用戶:為了向用戶提供更加優質的服務和體驗,LOEx國際站將于新加坡時間2021年3月1日19:00-3月1日21:00進行系統升級維護,法幣交易功能將受影響暫停服務.
1900/1/1 0:00:00原標題:《四種主流Rollup方案及熱門DeFiLayer2進展盤點》Layer2是2021年加密社區具有發展趨勢的明確方向之一,而熱門DeFi選擇哪些Layer2技術進行擴展.
1900/1/1 0:00:00“完整比特幣投資贈品”的獲勝者獲得了10,000美元的加密種子資金,并接受了種植該種蛋的培訓,所有這些都是入門費用.
1900/1/1 0:00:001739年,蘇格蘭哲學家休謨寫道,公民政府的起源,是因為“人們無法從根本上救治自己或他人的靈魂之狹隘,導致人們舍遠圖近”.
1900/1/1 0:00:00親愛的用戶:幣安將于2021年03月02日上午09:00開始U本位合約交易升級,升級時長預計1小時.
1900/1/1 0:00:00