以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

自動做市商協議MonoX遭閃電貸攻擊事件全解析_MON

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事件具體分析

攻擊者使用相同的地址0xEcbE385F78041895c311070F344b55BfAa953258對以太坊以及MATIC上的MonoX發起了攻擊,在兩個平臺進行攻擊所部署的合約一致。攻擊交易為:以太坊:0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299MATIC:0x5a03b9c03eedcb9ec6e70c6841eaa4976a732d050a6218969e39483bb3004d5d由于兩個平臺代碼完全一致,下面的分析將基于以太坊上的攻擊交易進行。Round1

自動做市協議Balancer新增TUSD流動性挖礦:據官方最新消息,自動做市協議Balancer在Polygon和Arbitrum同時新增TUSD流動性挖礦。用戶在Polygon向TUSD-DAI-USDC-USDT池提供流動性,可獲得BAL+TUSD+MATIC三種數字資產獎勵。Balancer 是一個自動化的投資組合管理器、流動性提供者和價格傳感器,用戶可通過跟蹤套利機會,優化投資組合。

TrueUSD作為首個經獨立機構驗證、接受鏈上實時獨立驗證、錨定美元的數字資產,目前已上線Binance、Huobi、Poloniex等100多家交易平臺,并在TRON、Avalanche、BSC、HECO等公鏈上進行多鏈部署, 深度參與各鏈DeFi生態建設。TrueUSD經全美最大會計公司Armanino實時審計,確保美元儲備與其流通比達到1:1,實現100%儲備,用戶可隨時通過官網獲取公開審計結果。[2021/11/16 6:54:00]

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

Stellar在協議升級中推出自動做市商:金色財經報道,在周三早上的協議升級中,代幣化匯款協議Stellar推出了一個自動做市商(AMM),它將與其基于訂單簿的路由和匹配引擎一起運行。Stellar生態系統負責人Justin Rice表示,在協議級別添加AMM是開發人員和用戶之間的一個普遍要求。這種整合將使向協議添加新資產變得更加容易。AMM功能將在美國東部時間上午11點(北京時間23:00)上線。[2021/11/4 6:30:34]

圖1WETH兌換MONORound2

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

Ocean Protocol與Balancer Labs合作將創建數據自動做市商:9月24日消息,基于區塊鏈的數據貨幣化創業公司OceanProtocol宣布將與BalancerLabs合作,創建首個用于數據的自動做市商(AMM)。據悉,OceanProtocol旨在幫助個人和企業解鎖數據并將其貨幣化,將數據和人工智能的好處擴展到少數囤積、控制并從中致富的組織之外。Ocean創始人TrentMcConaghy表示,創建高效的數據市場是實現這一目標的關鍵,因此與BalancerLabs達成合作。(CoinDesk)[2020/9/24]

圖2_removeLiquidity源碼

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

流動性挖礦項目Cream推出自動做市商CreamY:流動性挖礦項目Cream今日發推宣布,推出資本高效(Capital Efficient)的動態AMM(自動做市商)CreamY。creamY允許:動態池(Dynamic pool)更新;收益穩定的資產;整合流動性以避免分散的資金池;單面流動性。creamY將與穩定幣、BTC和ETH交易所一起推出,CREAMY LP獎勵也即將推出。[2020/9/20]

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

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

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

1inch推出自動做市商Mooniswap:鏈上聚合交易平臺1inch已推出自動做市商(AMM)Mooniswap。AMM是“流動資金池”,允許用戶以分散和非托管的方式在代幣之間切換。根據1inch的說法,某些AMM模型的設計導致交易者和流動性提供者“大額交易的的高滑點和短期損失”,1inch的Mooniswap希望能改善相關問題。(The Block)[2020/8/11]

利用Monoswap合約中的代幣兌換價格覆寫漏洞,反復進行同種代幣的兌換,拉升MONO的價格。第3步攻擊者將Monoswap合約中MONO的儲量控制到了一個極小的值,目的就是更快的以極低的MONO數量來拉升MONO的價格。漏洞2:Monoswap合約的代幣兌換過程為:檢查兌換參數是否正常,然后計算應輸入輸出代幣的數量以及代幣兌換后的價格,最后執行兌換操作并將新的代幣價格寫入賬本。以上邏輯在不同種代幣兌換的時候會正常運行。但是在同種代幣兌換時,將出現兩處問題:在_getNewPrice函數計算應輸入輸出代幣數量時,未考慮到兌換過程中交易池代幣儲量的變更,同種代幣是基于相同的初始價格進行兌換后價格的計算。在最后一步更新代幣過程中,未考慮到同種代幣進行兌換時,兌出代幣的價格更新操作會覆蓋兌入代幣更新的操作。該漏洞導致MONO代幣兌換MONO代幣時,MONO的價格異常增長。此外不止攻擊者使用的swapExactTokenForToken函數存在該問題,swapTokenForExactToken函數也存在該問題。

圖6swapIn函數源碼

圖7兌換過程參數計算

圖8兌換后價格計算

圖9swapOut函數源碼現在看看攻擊者是如何利用漏洞2進行攻擊的:如圖10所示,初始MONO的價格為5.218vCASH/MONO。

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

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

圖12MONO兌換細節截止至兌換結束時,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,而不是閃電貸攻擊。攻擊者所有轉出的資產如下:

所有被盜資產全部發送到0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b地址。目前項目方已經和攻擊者進行了溝通,成都鏈安將持續對此事件進行監控。#3事件復盤

這次攻擊事件中,攻擊者利用了合約中的兩個漏洞:任何地址都可以任意移除指定地址的流動性;特殊情況下的價格寫入操作覆蓋問題。建議項目方在進行合約開發過程中做好權限的檢查;在開發以及測試過程中將特殊情況納入考慮,例如同種代幣轉賬。

Tags:MONONOMONOSWAPHarmonyLauncherkono幣創始人MONO幣SwapShip

狗狗幣最新價格
DFG為Efinity眾貸貢獻20萬DOT_EFI

波卡平行鏈卡槽拍賣如期于2021年11月11日正式開啟,來自全球的投資者們都參與到了質押DOT的競賽中,以此來支持他們認為最有希望在第一輪平行鏈卡槽拍賣中取得成功的項目.

1900/1/1 0:00:00
V神萬字雄文:「自由激進主義」全文詳解(中)_以太坊

考慮到文章較長,我們分上、中、下三篇進行更新。自由激進主義:慈善配對基金的靈活設計VitalikButerin、Zo?Hitzig和E.GlenWeyl2018年12月Glen將這篇論文獻給Kw.

1900/1/1 0:00:00
星球日報 | Terra域名服務TNS將推出治理代幣;Visor Finance失竊820萬美元(12月22日)_NFT

頭條 中央網信辦、中央宣傳部等17個部門和單位公布國家區塊鏈創新應用試點入選名單12月22日,中央網信辦、中央宣傳部、中國證監會等17個部門和單位公布國家區塊鏈創新應用試點入選名單.

1900/1/1 0:00:00
BlockbusterDAO:用DAO復活沒落的影視大廠「百視達」_DAO

隨著ConstitutionDAO、FreeRossDAO的相繼躥火,更多的以某項具體目標為共識凝聚點的DAO開始出現.

1900/1/1 0:00:00
Block.One遭社區「驅逐」,EOS重塑品牌之路任重道遠_EOS

在區塊鏈世界失聲許久的EOS久違地重回關注者視野,由社區反抗母公司之舉而引爆話題。12月8日,區塊鏈系統EOS.IO17個出塊主節點和8個備用節點的持有人通過投票,凍結了原定在未來六至七年內分發.

1900/1/1 0:00:00
五分鐘讀懂Immutable X:一個補充以太坊的解決方案_IMM

原文標題:《TikTokShelvedLilNasX’sNFTonThisL2forNFTs,ButWe’reStillOptimistic:ImmutableXOverview》Immutab.

1900/1/1 0:00:00
ads