以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > FIL幣 > Info

MON:不安分的黑客又“偷襲”?MonoX被攻擊事件全解析

Author:

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

11月30日,自動做市商協議MonoX遭閃電貸攻擊,獲利約3100萬美元。關于本次攻擊,成都鏈安技術團隊第一時間進行了事件分析。

#1?事件概覽

攻擊發生之后,MonoX在官方推特確認其合約遭到攻擊,團隊正在調查并將盡最大努力追回被盜資金。

MonoX使用單邊代幣池模型,其使用vCASH穩定幣與AMM提供的代幣創建虛擬的交易對。簡單來說,MonoX創建的是代幣-vCASH交易對,添加流動性時,只需要添加代幣,進行任意代幣兌換時,兌換路徑為:代幣A->vCASH->代幣B,而不需要像Uniswap一樣經過多個交易對:代幣A->Pair1->Pair2->Pair3->TokenB。

#2?事件具體分析

攻擊者使用相同的地址

Horizen Labs Ventures (HLV) 與0N1 Force建立戰略合作伙伴關系:金色財經報道,據0N1 Force在社交媒體宣布,該NFT項目已與Horizen Labs Ventures (HLV) 建立戰略合作伙伴關系,以探索新機會并推動增長,HLV將為其提供代幣發布、NFT開發、元宇宙參與、DAO創建和可持續DAO治理等支持。Horizen Labs Ventures (HLV)是Horizen Labs旗下風投機構,后者是主持創建ApeCoin質押系統的區塊鏈基礎設施公司,其客戶包括Yuga Labs、ApeCoin DAO、The Sandbox、Animoca Brands等。[2023/5/5 14:44:04]

0xEcbE385F78041895c311070F344b55BfAa953258對以太坊以及MATIC上的MonoX發起了攻擊,在兩個平臺進行攻擊所部署的合約一致。攻擊交易為:

Kraken:正在調查來自客戶的報告:金色財經報道,加密貨幣交易平臺Kraken表示,正在調查來自客戶的報告,這些客戶在連接網站和API,以及使用移動應用程序時遇到了困難。[2023/3/3 12:39:53]

以太坊:

0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299

MATIC:

0x5a03b9c03eedcb9ec6e70c6841eaa4976a732d050a6218969e39483bb3004d5d

由于兩個平臺代碼完全一致,下面的分析將基于以太坊上的攻擊交易進行。

Round1

將0.1WETH通過Monoswap中兌換為79.98609431154262101MONO;

韓國金融委員會命令該國五大加密交易所下架具有證券性質的虛擬資產:2月1日消息,韓國金融委員會向該國五大加密交易所(Upbit、Bithumb、Coinone、Korbit和Gopax)有關負責人下達了將交易中的“代幣型證券”分類后取消上市資格的指示。報道稱,該國金融委員會之所以做出上述指示,可能是因為具有證券性質的虛擬資產,無論以何種形式發行,都是“代幣型證券”,而非“證券型代幣”。如果該方針得以實現,在現有虛擬資產交易所上市交易的代幣中,相當一部分代幣很有可能會被取消上市加密交易所資格,或可能會轉移到證券公司。DAXA未來計劃通過交易支持小組委員會收集各家公司的意見。預計將在2月9日之前收集第一批意見和質疑,并將其提交給金融服務委員會。[2023/2/1 11:40:40]

圖1?WETH兌換MONO

Round2

去中心化存儲和通信系統Ethereum Swarm發布Bee v1.11.0版本:1月20日消息,去中心化存儲和通信系統Ethereum Swarm發推稱,新的Bee v1.11.0版本已發布。該版本更新包括更流暢的數據塊同步、改進的上傳體驗,bug修復等。[2023/1/20 11:23:33]

移除Monoswap所有的流動性。這里利用了Monoswap合約中的任意地址流動性移除漏洞。

漏洞1:

Monoswap合約中未檢測流動性的所有者to是否為msg.sender。_removeLiquidity函數中,如圖2所示,第443行,獲取調用者(攻擊合約)最后一次添加流動性的時間戳,返回結果是0,因此第445行的檢測通過。第446行,topLPHolderOf如果不是調用者(攻擊合約)地址,第447行的檢測通過。此后移除流動性相關代碼中,再無msg.sender相關的操作。

21Shares Aave ETP成為6月歐洲回報率最差的交易所交易產品:金色財經報道,據Morningstar數據顯示,6月歐洲表現最差的交易所交易產品都是加密產品,其中21Shares Aave ETP在六月份的收益率為-52.6%,成為歐洲當月負回報率最高的交易所交易產品。此外,21Shares其他加密貨幣ETP的表現也非常糟糕,比如21Shares 比特幣現金 ETP、以太坊 ETP 和 Bitcoin Suisse ETP 回報率分別為 -47.5%、-46.5% 和 -40.5%。不過,21Shares 比特幣 ETP 和以太坊 ETP 在 6 月份創下歐洲市場最大的流入量,分別有 2000 萬美元和 1000 萬美元的凈新資產。[2022/7/6 1:55:38]

圖2?_removeLiquidity源碼

圖3?第一次移除流動性內部調用細節

圖4?移除Monoswap中MONO池所有的流動性

Round3

添加極少數量的MONO到Monoswap中,這一步是為了后面快速提升MONO的價格做準備。

圖5?攻擊合約添加流動性

Round4

利用Monoswap合約中的代幣兌換價格覆寫漏洞,反復進行同種代幣的兌換,拉升MONO的價格。第3步攻擊者將Monoswap合約中MONO的儲量控制到了一個極小的值,目的就是更快的以極低的MONO數量來拉升MONO的價格。

漏洞2:

Monoswap合約的代幣兌換過程為:檢查兌換參數是否正常,然后計算應輸入輸出代幣的數量以及代幣兌換后的價格,最后執行兌換操作并將新的代幣價格寫入賬本。以上邏輯在不同種代幣兌換的時候會正常運行。但是在同種代幣兌換時,將出現兩處問題:

在_getNewPrice函數計算應輸入輸出代幣數量時,未考慮到兌換過程中交易池代幣儲量的變更,同種代幣是基于相同的初始價格進行兌換后價格的計算。

在最后一步更新代幣過程中,未考慮到同種代幣進行兌換時,兌出代幣的價格更新操作會覆蓋兌入代幣更新的操作。該漏洞導致MONO代幣兌換MONO代幣時,MONO的價格異常增長。此外不止攻擊者使用的swapExactTokenForToken函數存在該問題,swapTokenForExactToken函數也存在該問題。

圖6?swapIn函數源碼

圖7?兌換過程參數計算

圖8?兌換后價格計算

圖9?swapOut函數源碼

現在看看攻擊者是如何利用漏洞2進行攻擊的:

如圖10所示,初始MONO的價格為5.218vCASH/MONO。

圖10?初始MONO價格

然后攻擊者反復進行MONO->MONO的兌換,一共進行了55次兌換,如下圖所示:

圖11?反復兌換,拉升MONO價格

對其中一筆兌換交易進行分析,每次兌換的數量是交易池中MONO的總量減去1,這是能夠最大提升MONO價格的兌換數量(使圖8?_getNewPrice第527行,分母為1)。另外由于交易池中MONO的總量較低,攻擊者已經通過第1步保證了有足夠的余額進行兌換操作。

圖12?MONO兌換細節

截止至兌換結束時,MONO的價格已經被拉升至843,741,636,512.366vCASH/MONO。攻擊合約中剩余51.92049285389317MONO。

圖13?最終的MONO價格

通過UniswapV2的USDC/WETH池借入了847.2066974335073WETH。然后攻擊者通過Monoswap將0.0709532091008681MONO兌換為4,029,106.880396USDC,然后將USDC歸還給USDC/WETH池。注意,這里實際上是攻擊者將從Monoswap中兌換的USDC到UniswapV2中兌換為WETH,而不是閃電貸攻擊。

攻擊者所有轉出的資產如下:

幣種數量USDC4,029,106.880396?(兌換為847.2066974335073WETH)USDT4,525,120.098829?WETH452.9120530334938WBTC21.42797145DUCK5,155,863.718616853MIM4,125.858256772IMX274.9390440877583

所有被盜資產全部發送到0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b地址。

目前項目方已經和攻擊者進行了溝通,成都鏈安將持續對此事件進行監控。

#3?事件復盤

這次攻擊事件中,攻擊者利用了合約中的兩個漏洞:任何地址都可以任意移除指定地址的流動性;特殊情況下的價格寫入操作覆蓋問題。

建議項目方在進行合約開發過程中做好權限的檢查;在開發以及測試過程中將特殊情況納入考慮,例如同種代幣轉賬。

Tags:ONOMONOMONSWAPAtonomiMonopoly Millionaire GameSAFEMONEY幣MSWAP幣

FIL幣
AME:八千字長文:一個 Gamefi 經濟模型應該如何設計

作者?|?CyborgDoggie,顧問@RacingTime合作者:DailyShen@RacingTime編譯:劉全凱已獲得原作者授權轉載譯者注:U本位打金游戲CryptoMines的平臺通.

1900/1/1 0:00:00
OIN:“新基建新機遇 區塊鏈分布式存儲行業大會”于西安圓滿落幕

2020年8月4日,由西安高新技術產業開發區管理委員會指導、中國民營科技促進會分布式存儲分會主辦、西安靈動與深鏈財經共同協辦的“新基建新機遇區塊鏈分布式存儲行業大會”在西安市高新國際會議中心舉辦.

1900/1/1 0:00:00
MAT:NFT游戲Vmates即將上線 電子寵物借P2E生態玩“出圈”

隨著NFT和鏈游的火熱,越來越多NFT游戲開始進入我們的視野。如果你對養成系游戲、電子寵物情有獨鐘的話,那這款基于社交的NFT寵物養成鏈游Vmates值得了解一下,或許會是成為下一個與Crypt.

1900/1/1 0:00:00
ADE:Joy-Trade 2.0版本正式上線,量化交易帶來黃金機會

9月8日Joy-Trade2.0版本全面更新完畢,在最新版本中,平臺推出高頻定制化策略,另部署IOS版本上線以及優化整體UI界面.

1900/1/1 0:00:00
EFI:NewB.Farm收益農場FM電臺開播 讓您讀懂什么是數字資產

為了讓更多全球用戶透過NewB.farm收益農場了解DeFi,接觸DeFi,NewB.farm特別開展此次的直播!本次主題將對數字資產的重要性、一Zap到位將DeFi簡易化、NewB.farm項.

1900/1/1 0:00:00
ALF:SocialFi不該是徒有虛名的熱潮, 用實力踐行迫在眉睫

近日,SocialFi項目MonacoPlanet在社交平臺發布“只有英文內容才算作內容挖礦”的消息引發了中文社區用戶的抵制,且有網友發現其APP的接口錯誤竟顯示中文.

1900/1/1 0:00:00
ads