據鏈聞消息,著名DeFi項目Furucombo被黑,損失超1500萬美元。慢霧安全團隊第一時間介入分析,并將攻擊細節分享給大家。
攻擊細節分析
本次發生問題的合約在Furucombo本身的代理合約當中。整個攻擊流程很簡單。攻擊者通過設置了Furucombo的AaveV2Proxy的邏輯地址導致后續通過Furucombo代理合約調用的邏輯全部轉發到攻擊者自己的惡意合約上,導致任意資金被盜。
但是如果事情那么簡單,那么本次分析不值一提。問題遠比想象的復雜得多。
如上圖所示攻擊者的入口在Furucombo的batchExec函數,我們先對batchExec函數進行分析:
慢霧:已凍結部分BitKeep黑客轉移資金:12月26日消息,慢霧安全團隊在社交媒體上發文表示,正在對 BitKeep 錢包進行深入調查,并已凍結部分黑客轉移資金。[2022/12/26 22:08:58]
以上是FurucomboProxy合約的batchExec函數的具體實現,其中_preProcess和_postProcess合約分別是對調用前后做一些數據上的處理,不涉及具體的調用邏輯,這邊可以先忽略。我們主要觀察核心的_execs函數:
通過對execs代碼的分析不難發現,函數的主要邏輯是對configs數組的數據做檢查,并根據configs數組的數據對data進行一些處理。但是回顧上文中攻擊者的調用數據,不難發現攻擊者的調用數據中,configs的數據是一個0地址:
慢霧:BXH 第一次被盜資金再次轉移,BTC 網絡余額超 2700 BTC:金色財經報道,10月8日凌晨(UTC+8),慢霧監控到 BXH 第一次被盜資金再次出現異動,經慢霧 MistTrack 分析,異動詳情如下:
黑客地址 0x48c9...7d79 將部分資金(213.77 BTCB,5 BNB 和 1 ETH)轉移至新地址 0xc01f...2aef,接著將資金兌換為 renBTC 跨鏈到 BTC 網絡,跨鏈后地址為 1JwQ...u9oU。1JwQ...u9oU 在此次轉移中接收到的總資金為 204.12 BTC。截止目前,BXH 第一次被盜事件在 BTC 網絡共有 4 個黑客地址,總計余額為 2701.3 BTC,暫未進一步轉移。慢霧 MistTrack 將持續監控被盜資金的轉移。[2022/10/8 12:49:28]
這里有一個trick,由于?0地址是一個EOA地址,所有對EOA地址的函數調用都會成功,但是不會返回任何結果。結合這個trick,execs函數中的關于configs數據的部分可以先暫時忽略。直接看到最后的核心_exec函數:
慢霧:DEUS Finance 二次被黑簡析:據慢霧區情報,DEUS Finance DAO在4月28日遭受閃電貸攻擊,慢霧安全團隊以簡訊的形式將攻擊原理分享如下:
1.攻擊者在攻擊之前先往DeiLenderSolidex抵押了SolidexsAMM-USDC/DEI的LP。
2.在幾個小時后攻擊者先從多個池子閃電貸借出143200000USDC。
3.隨后攻擊者使用借來的USDC在BaseV1Pair進行了swap操作,兌換出了9547716.9個的DEI,由于DeiLenderSolidex中的getOnChainPrice函數是直接獲取DEI-USDC交易對的代幣余額進行LP價格計算。因此在此次Swap操作中將拉高getOnChainPrice函數獲取的LP價格。
4.在進行Swap操作后,攻擊者在DeiLenderSolidex合約中通過borrow函數進行借貸,由于borrow函數中用isSolvent進行借貸檢查,而在isSolvent是使用了getOnChainPrice函數參與檢查。但在步驟3中getOnChainPrice的結果已經被拉高了。導致攻擊者超額借出更多的DEI。
5.最后著攻擊者在把用借貸出來DEI兌換成USDC歸還從幾個池子借出來的USDC,獲利離場。
針對該事件,慢霧安全團隊給出以下防范建議:本次攻擊的原因主要在于使用了不安全的預言機來計算LP價格,慢霧安全團隊建議可以參考Alpha Finance關于獲取公平LP價格的方法。[2022/4/28 2:37:18]
_exec函數的邏輯也很簡單,在校驗了_to地址后,直接就將data轉發到指定的_to地址上了。而通過對攻擊交易的分析,我們能發現這個_to地址確實是官方指定的合法地址。
動態 | 慢霧:巨鯨被盜2.6億元資產,或因Blockchain.info安全體系存在缺陷:針對加密巨鯨賬戶(zhoujianfu)被盜價值2.6億元的BTC和BCH,慢霧安全團隊目前得到的推測如下:該大戶私鑰自己可以控制,他在Reddit上發了BTC簽名,已驗證是對的,且猜測是使用了一款很知名的去中心化錢包服務,而且這種去中心化錢包居然還需要SIM卡認證,也就是說有用戶系統,可以開啟基于SIM卡的短信雙因素認證,猜測可能是Blockchain.info,因為它吻合這些特征,且歷史上慢霧安全團隊就收到幾起Blockchain.info用戶被盜幣的威脅情報,Blockchain.info的安全體系做得并不足夠好。目前慢霧正在積極跟進更多細節,包括與該大戶直接聯系以及盡力提供可能需求的幫助。[2020/2/22]
最后一步,便是調用_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
本文作者為NewBloc策略分析師Barry,5年外匯黃金市場交易經歷。回顧加密貨幣體系建立的初衷,從伊始即是去中心化,人們可以在線創建、轉移和持有數字貨幣,而不需要任何中介機構,然而隨著市場逐.
1900/1/1 0:00:00MakersPlace宣布將啟動抽獎活動BEEPLERAFFLE,將此前因網站崩潰未售出的剩余BEEPLE1美元特價加密藝術NFT以抽獎活動發送給幸運用戶.
1900/1/1 0:00:00編者按:本文來自?加密谷Live,作者:InsafAli,翻譯:Edward,Odaily星球日報經授權轉載。比特幣和加密貨幣最偉大的事情之一就是它的靈活性和普遍可接受性.
1900/1/1 0:00:00頭條 統計:目前反對EIP-1559的礦池算力占全網的63%根據推特網友統計,目前反對EIP-1559的礦池達到13個,算力占到全網的63%.
1900/1/1 0:00:00尊敬的用戶: WBF將在開放區上線WOOD/USDT交易對,具體時間安排如下:充幣時間:2021-3-119:00交易時間:2021-3-120:00提幣時間:2021-3-119:00 項目介.
1900/1/1 0:00:00.new_summary,blockquote{position:relative;font-size:16px;letter-spacing:1px;line-height:28px;marg.
1900/1/1 0:00:00