加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > ICP > Info

慢霧:Furucombo被黑分析_PRO:ComBit

Author:

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

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

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

慢霧:7月3日至7月7日期間?Web3生態因安全問題損失近1.3億美元:7月10日消息,慢霧發推稱,自7月3日至7月7日,Web3生態因安全問題遭遇攻擊損失128,419,000美元,包括Encryption AI、AzukiDao、NFT Trader、MIKE&SID、Bryan Pellegrino、Aptos Foundation、Multichain、CivFund。其中,Multichain被攻擊損失1.26億美元。[2023/7/10 10:12:36]

但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:

慢霧:Rubic協議錯將USDC添至Router白名單,導致已授權合約用戶USDC遭竊取:12月25日消息,據慢霧安全團隊情報,Rubic跨鏈聚合器項目遭到攻擊,導致用戶賬戶中的USDC被竊取。慢霧安全團隊分享如下:1. Rubic是一個DEX跨鏈聚合器,用戶可以通過RubicProxy合約中的routerCallNative函數進行Native Token兌換。在進行兌換前,會先檢查用戶傳入的所需調用的目標 Router是否在協議的白名單中。

2. 經過白名單檢查后才會對用戶傳入的目標Router進行調用,調用數據也由用戶外部傳入。

3. 不幸的是USDC也被添加到Rubic協議的Router白名單中,因此任意用戶都可以通過RubicProxy合約任意調用USDC。

4. 惡意用戶利用此問題通過routerCallNative函數調用USDC合約將已授權給RubicProxy合約的用戶的USDC通過transferFrom接口轉移至惡意用戶賬戶中。

此次攻擊的根本原因在于Rubic協議錯誤的將USDC添加進Router白名單中,導致已授權給RubicProxy合約的用戶的USDC被竊取。[2022/12/26 22:07:00]

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

慢霧:美國演員SethGreen的NFT遭釣魚攻擊,資金已跨鏈到 BTC 并混幣:5月18日消息,美國演員SethGreen遭遇釣魚攻擊致4個NFT(包括1個BAYC、2個MAYC和1個Doodle)被盜,釣魚者地址已將NFT全部售出,獲利近160枚ETH(約33萬美元)。

慢霧MistTrack對0xC8a0907開頭的釣魚地址分析后,發現總共有8個用戶的NFT被盜,包含MAYC、Doodle、BAYC、VOX等12類NFT,全部售出后總獲利194ETH。同時,該釣魚地址初始資金0.188ETH來自Change NOW。釣魚者地址將大部分ETH轉換為renBTC后跨鏈到6個BTC地址,約14BTC均通過混幣轉移以躲避追蹤。NFT釣魚無處不在,請大家保持懷疑,提高警惕。[2022/5/18 3:24:23]

慢霧:Spartan Protocol被黑簡析:據慢霧區情報,幣安智能鏈項目 Spartan Protocol 被黑,損失金額約 3000 萬美元,慢霧安全團隊第一時間介入分析,并以簡訊的形式分享給大家參考:

1. 攻擊者通過閃電貸先從 PancakeSwap 中借出 WBNB;

2. 在 WBNB-SPT1 的池子中,先使用借來的一部分 WBNB 不斷的通過 swap 兌換成 SPT1,導致兌換池中產生巨大滑點;

3. 攻擊者將持有的 WBNB 與 SPT1 向 WBNB-SPT1 池子添加流動性獲得 LP 憑證,但是在添加流動性的時候存在一個滑點修正機制,在添加流動性時將對池的滑點進行修正,但沒有限制最高可修正的滑點大小,此時添加流動性,由于滑點修正機制,獲得的 LP 數量并不是一個正常的值;

4. 隨后繼續進行 swap 操作將 WBNB 兌換成 SPT1,此時池子中的 WBNB 增多 SPT1 減少;

5. swap 之后攻擊者將持有的 WBNB 和 SPT1 都轉移給 WBNB-SPT1 池子,然后進行移除流動性操作;

6. 在移除流動性時會通過池子中實時的代幣數量來計算用戶的 LP 可獲得多少對應的代幣,由于步驟 5,此時會獲得比添加流動性時更多的代幣;

7. 在移除流動性之后會更新池子中的 baseAmount 與 tokenAmount,由于移除流動性時沒有和添加流動性一樣存在滑點修正機制,移除流動性后兩種代幣的數量和合約記錄的代幣數量會存在一定的差值;

8. 因此在與實際有差值的情況下還能再次添加流動性獲得 LP,此后攻擊者只要再次移除流動性就能再次獲得對應的兩種代幣;

9. 之后攻擊者只需再將 SPT1 代幣兌換成 WBNB,最后即可獲得更多的 WBNB。詳情見原文鏈接。[2021/5/2 21:17:59]

通過對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函數:

_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

Tags:PROCOMProxyCOMBOXPRO幣ComBitProxyNodecombo幣最新消息

ICP
美聯儲維持寬松貨幣政策穩軍心,加密貨幣市場迎來反彈_比特幣:SQUA

昨天市場下跌的重要原因之一是美債利率本月急劇攀升,從年前的不到1%一度躍升至1.39%以上。貨幣政策水閘大開,低利率持續數月之后,通脹壓力信號愈發顯著.

1900/1/1 0:00:00
2021 Manta Network隱私交易研究報告:90%的人曾偷窺他人的錢包地址_中心化交易所:加密貨幣相當于什么呢

您是否曾偷偷打開過他人的錢包地址查看其持有的加密資產或交易記錄呢?根據我們的研究結果,您這樣做的可能性約為90%,即,十分之九的被訪者曾窺視過他人的錢包地址.

1900/1/1 0:00:00
宇宙自然協議與區塊鏈協議_區塊鏈:元宇宙

撰文|NESTFANS.ZHIYU出品|NEST愛好者引言:從比特幣誕生到如今區塊鏈行業的發展,其天然自帶的科技屬性和金融屬性,成為了目前最為重要的研究方向,金融科技這一領域也隨之蓬勃.

1900/1/1 0:00:00
深入分析EIP-1559銷毀對礦工收入的影響_區塊鏈:ASH

編者按:本文來自金色財經,Odaily星球日報經授權轉載。分析目標為銷毀礦工收入數量設定下限、中值和上限三個層級。分析我們認為EIP-1559對礦工收入和ETH持幣者的影響尚未得到充分探索.

1900/1/1 0:00:00
24小時27億爆倉,比特幣突破52000美元,投資者進場須知_比特幣:eos幣柚子

在知乎看到一條關于炒幣的段子。A:坐莊炒幣就得先讓機構入場,帶著散戶入場。機構買進,漲了,散戶才跟著買進。錢到手后,機構的錢,如數奉還,散戶的錢,三七分賬.

1900/1/1 0:00:00
IMF:數字時代公共貨幣和私人貨幣可共存_數字貨幣:ATH

編者按:本文來自國際貨幣基金組織,作者:TobiasAdrian和TommasoMancini-Griffoli我們重視創新和多元化——包括在貨幣領域.

1900/1/1 0:00:00
ads