著名 DeFi 項目 Furucombo 被黑,損失超 1500 萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
本次發生問題的合約在 Furucombo 本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了 Furucombo 的 AaveV2 Proxy 的邏輯地址導致后續通過 Furucombo 代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
慢霧:CoinsPaid、Atomic與Alphapo攻擊者或均為朝鮮黑客組織Lazarus:7月26日消息,慢霧發推稱,CoinsPaid、Atomic與Alphapo攻擊者或均為朝鮮黑客組織Lazarus Group。慢霧表示,TGGMvM開頭地址收到了與Alphapo事件有關TJF7md開頭地址轉入的近1.2億枚TRX,而TGGMvM開頭地址在7月22日時還收到了通過TNMW5i開頭和TJ6k7a開頭地址轉入的來自Coinspaid熱錢包的資金。而TNMW5i開頭地址則曾收到了來自Atomic攻擊者使用地址的資金。[2023/7/26 16:00:16]
如上圖所示攻擊者的入口在 Furucombo 的 batchExec 函數,我們先對 batchExec 函數進行分析:
慢霧:Platypus再次遭遇攻擊,套利者獲取約5萬美元收益:7月12日消息,SlowMist發推稱,穩定幣項目Platypus似乎再次收到攻擊。由于在通過CoverageRatio進行代幣交換時沒有考慮兩個池之間的價格差異,導致用戶可以通過存入USDC然后提取更多USDT來套利,套利者通過這種方式套利了大約50,000美元USDC。[2023/7/12 10:50:27]
以上是 Furucombo Proxy 合約的 batchExec 函數的具體實現,其中 _preProcess 和 _postProcess 合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的 _execs 函數:
慢霧:NimbusPlatform遭遇閃電貸攻擊,損失278枚BNB:據慢霧安全團隊情報,2022 年 12 月 14 日, BSC 鏈上的NimbusPlatform項目遭到攻擊,攻擊者獲利約278枚BNB。慢霧安全團隊以簡訊的形式分享如下:
1. 攻擊者首先在 8 天前執行了一筆交易(0x7d2d8d),把 20 枚 BNB 換成 NBU_WBNB 再換成 GNIMB 代幣,然后把 GNIMB 代幣轉入 Staking 合約作質押,為攻擊作準備;
2. 在 8 天后正式發起攻擊交易(0x42f56d3),首先通過閃電貸借出 75477 枚 BNB 并換成 NBU_WBNB,然后再用這些 NBU_WBNB 代幣將池子里的絕大部分 NIMB 代幣兌換出;
3. 接著調用 Staking 合約的 getReward 函數進行獎勵的提取,獎勵的計算是和 rate 的值正相關的,而 rate 的值則取決于池子中 NIMB 代幣和 GNIMB 代幣的價格,由于 NIMB 代幣的價格是根據上一步閃電貸中被操控的池子中的代幣數量來計算的,導致其由于閃電貸兌換出大量的代幣而變高,最后計算的獎勵也會更多;
4. 攻擊者最后將最后獲得的 GNIMB 代幣和擁有的 NIMB 代幣換成 NBU_WBNB 代幣后再換成 BNB,歸還閃電貸獲利;
此次攻擊的主要原因在于計算獎勵的時候僅取決于池子中的代幣數量導致被閃電貸操控,從而獲取比預期更多的獎勵。慢霧安全團隊建議在進行代幣獎計算時應確保價格來源的安全性。[2022/12/14 21:44:29]
慢霧:pGALA合約黑客已獲利430萬美元:11月4日消息,安全團隊慢霧在推特上表示,pGALA合約黑客已將大部分GALA兌換成13,000枚BNB,獲利超430萬美元,該地址仍有450億枚Gala,但不太可能兌現,因為資金池基本已耗盡。此外,黑客的初始資金來自幾個幣安賬戶。
今日早些時候消息,一個BNB Chain上地址在BNB Chain上地址憑空鑄造了超10億美元的pGALA代幣,并通過在PancakeSwap上售出獲利。pNetwork表示此為跨鏈橋配置錯誤所致,GALA跨鏈橋已暫停,請用戶不要在BNB Chain上DEX中交易pGALA。[2022/11/4 12:16:04]
通過對 execs 代碼的分析不難發現,函數的主要邏輯是對 configs 數組的數據做檢查,并根據 configs 數組的數據對 data 進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs 的數據是一個 0 地址:
動態 | 慢霧:Electrum“更新釣魚”盜幣攻擊補充預警:Electrum 是全球知名的比特幣輕錢包,支持多簽,歷史悠久,具有非常廣泛的用戶群體,許多用戶喜歡用 Electrum 做比特幣甚至 USDT(Omni) 的冷錢包或多簽錢包。基于這種使用場景,Electrum 在用戶電腦上使用頻率會比較低。Electrum 當前最新版本是 3.3.8,而已知的 3.3.4 之前的版本都存在“消息缺陷”,這個缺陷允許攻擊者通過惡意的 ElectrumX 服務器發送“更新提示”。這個“更新提示”對于用戶來說非常具有迷惑性,如果按提示下載所謂的新版本 Electrum,就可能中招。據用戶反饋,因為這種攻擊,被盜的比特幣在四位數以上。本次捕獲的盜幣攻擊不是盜取私鑰(一般來說 Electrum 的私鑰都是雙因素加密存儲的),而是在用戶發起轉賬時,替換了轉賬目標地址。在此我們提醒用戶,轉賬時,需要特別注意目標地址是否被替換,這是近期非常流行的盜幣方式。并建議用戶使用 Ledger 等硬件錢包,如果搭配 Electrum,雖然私鑰不會有什么安全問題,但同樣需要警惕目標地址被替換的情況。[2020/1/19]
這里有一個 trick,由于 0 地址是一個 EOA 地址,所有對 EOA 地址的函數調用都會成功,但是不會返回任何結果。結合這個 trick,execs 函數中的關于 configs 數據的部分可以先暫時忽略。直接看到最后的核心 _exec 函數:
_exec 函數的邏輯也很簡單,在校驗了 _to 地址后,直接就將 data 轉發到指定的 _to 地址上了。而通過對攻擊交易的分析,我們能發現這個 _to 地址確實是官方指定的合法地址。
最后一步,便是調用 _to 地址,也就是官方指定的 AaveV2 Proxy 合約的 initialize 函數,將攻擊者自己的惡意地址設置成 AaveV2 Proxy 合約的邏輯地址。通過對 Furucombo 合約的分析,可以發現整個調用流程上沒有出現嚴重的安全點,對調用的地址也進行了白名單的檢查。那么問題只能是出在了對應要調用的代理邏輯上,也就是 AaveV2 Proxy 合約。
我們直接分析 AaveV2 Proxy 合約的 initialize 函數的邏輯:
可以看到 initialize 函數是一個 public 函數,并在開頭就檢查了 _implementation 是否是 0 地址,如果是 0 地址,則拋出錯誤。這個檢查的目的其實就是檢查了 _implementation 是否被設置了,如果被設置了,就無法再次設置。根據這個設置,不難想出 initialize 這個函數只能調用一次。除非 AaveV2 Proxy 從來沒有設置過 _implementation,否則這個調用是不會成功的。難道 Furucombo 真的沒有設置過對應的 _implementation 嗎?帶著這樣的疑問,我們檢查了交易內的狀態變化。如下:
可以看到,交易中改變了存儲位置為 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 的內容,而寫入的內容正是攻擊者自己的惡意合約地址 0x86765dde9304bea32f65330d266155c4fa0c4f04。
而 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 這個位置,正是 _implementation 數據的存儲地址。
也就是說,官方從來沒有設置過 AaveV2 Proxy 合約的 _implementation 地址,導致攻擊者鉆了這個空子,造成了 Furucombo 資產損失。
通過對整個事件的分析來看,Furucombo 此次事故并不在安全漏洞的范疇內,主要的原因在于官方將未啟用的 AaveV2 Proxy 合約添加進了自己的白名單中,并且未對 AaveV2 Proxy 合約進行初始化,導致攻擊者有機可乘。
目前,由于 Furucombo 遭受攻擊,導致任何將代幣授權過給 Furucombo 合約 (0x17e8ca1b4798b97602895f63206afcd1fc90ca5f) 的用戶都將面臨資金損失的風險。
慢霧安全團隊建議與 Furucombo 交互過的用戶檢查是否有將相關代幣授權給 Furucombo 合約。如有授權,應及時撤銷相關授權,避免進一步損失。
文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:00本文于2020年7月2日,由加密谷微信公號發布,文章作者:Chainlink,翻譯:凌杰。近期隨著各大中心化交易所紛紛布局DeFi生態,帶來了一波挖礦熱潮,自動做市商也再次進入了人們的視野,基于.
1900/1/1 0:00:00現在幾乎人人都在談論NFT,這是紐約時報2月22日的新聞: Mark?Cuban已經進軍NFT,Chamath Palihapitiya稱目前正在創建NFT投資組合.
1900/1/1 0:00:00“3月8日消息,據 Coindesk 報道,摩根大通已向其私人銀行客戶發送了一份加密貨幣入門報告,以教育他們投資加密技術的風險和機會,這些相關賬戶的最低存款余額為 1000 萬美元.
1900/1/1 0:00:00瑞士私人銀行Bordier & Cie與數字資產銀行Sygnum合作,為客戶提供加密貨幣交易服務.
1900/1/1 0:00:00這幅圖片將幫助你了解什么是rDOT以及為什么要使用rDOT App。 1.rDOT App rDOT App是解決Polkadot主網質押資產DOT流動性問題的去中心化App.
1900/1/1 0:00:00