加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

一文解析DeFi平臺MonoX被盜千萬美元全過程_TOKEN:Ampleforth Governance Token

Author:

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

原標題|千萬美元被盜——DeFi平臺MonoXFinance被黑分析

作者|九九@慢霧安全團隊

2021年11?30?,據慢霧區消息,DeFi平臺MonoXFinance遭遇攻擊,本次攻擊中約合1820萬美元的?WETH和1050萬美元的MATIC被盜,其他被盜Token包括WBTC、LINK、GHST、DUCK、MIM和IMX,損失共計約3100萬美元。慢霧安全團隊第?時間介?分析,并將簡要分析結果分享如下。

攻擊核心

本次攻擊的核?在于利?swap合約中沒有對池中傳?和傳出代幣是否相同作檢查,以此利?價格更新機制的缺陷,使得攻擊者傳?和傳出代幣相同時,價格被二次計算并覆蓋,導致代幣價格不斷被推?,并以此代幣換出池中的其他代幣來獲利。

相關信息

MonoX是?種新的DeFi協議,使?單?代幣設計?于流動性池。這是通過將存?的代幣與vCASH穩定幣組合成?個虛擬交易對來實現的。其中的單?代幣流動性池的第?個應?是?動做市商系統-Monoswap,它在2021年10?時推出。

Dr_Dumpling出售了5000枚COMP:金色財經報道,Lookonchain監測顯示,隨著COMP價格的上漲,Dr_Dumpling在5小時前通過Cumberland以70美元的價格出售了5000枚COMP(約35萬美元),并在6月30日至7月1日期間以54美元的價格出售了4.5萬枚COMP(約245萬美元)。值得注意的是,他于2022年1月22日和2021年3月31日從Compound團隊收到了331,952枚COMP(當時為1.047億美元)。[2023/7/13 10:53:10]

攻擊者地址1:

0xecbe385f78041895c311070f344b55bfaa953258

攻擊者地址?2:

0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b

CZ:Binance全球用戶超1.2億:12月29日消息,根據Binance創始人CZ發布的公開信《2022,韌性為王》中內容顯示,Binance現在有7500位員工,來自100多個國家,目前正在為全球超過1.2億用戶提供服務。[2022/12/29 22:14:49]

攻擊合約?1:

0xf079d7911c13369e7fd85607970036d2883afcfd

攻擊合約2:

0x119914de3ae03256fd58b66cd6b8c6a12c70cfb2

攻擊交易1:

https://etherscan.io/tx/0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299

歐盟委員會公開招標DeFi對以太坊的嵌入式監管研究:10月10日消息,Circle歐盟戰略與政策總監Patrick Hansen表示,歐盟委員會已經公開招標對以太坊的DeFi進行嵌入式監管研究,旨在研究實時DeFi活動的自動監控技術,招標金額25萬歐元。[2022/10/10 10:29:41]

攻擊交易2:

https://polygonscan.com/tx/0x5a03b9c03eedcb9ec6e70c6841eaa4976a732d050a6218969e39483bb3004d5d

攻擊細節

1、首先攻擊者調用Monoswap.swapExactTokenForToken:0.1個WETH換出79.986094311542621010個MONO。

2、接著攻擊者利用漏洞移除池子中其他用戶的流動性,并為添加攻擊合約的流動性以此來獲取最大的利益。

Creepz Genesis系列NFT近24小時交易額增幅超600%:金色財經報道,OpenSea數據顯示,Creepz Genesis系列NFT近24小時交易額為160 ETH,增幅達687%。24小時交易額排名位列OpenSea第9。[2022/10/5 18:39:52]

這里移除流動性處的漏洞在Monoswap.sol中的471-510行,移除池中流動性時通過removeLiquidity函數調用_removeLiquidityHelper函數,而這兩個函數都未做調用者和傳入的to參數的身份驗證,所以可直接移除任意用戶在池中的流動性。

移除0x7b9aa6的流動性,把1670.7572297649224個MONO和6.862171986812230290個vCASH轉出給0x7b9aa6;移除cowrie.eth的流動性,把152.9745213857155個MONO和0.628300423692773565個vCASH轉出給cowrie.eth;移除0xab5167的流動性,把99940.7413658327個MONO和410.478879590637971405個vCASH轉出給0xab5167;為攻擊合約1在MONO代幣流動池創建流動性。

Peersyst:哥倫比亞土地注冊系統已在XRPL上登記首個裁決決議:7月30日消息,Ripple合作伙伴、總部位于巴塞羅那的軟件開發公司Peersyst Technology宣布,已經推出哥倫比亞國家土地注冊系統的第一個版本,并在XRPL上登記哥倫比亞的第一個裁決決議。

據此前報道,哥倫比亞國家土地局(National Land Agency)已集成基于Ripple XRPL區塊鏈構建的數字土地注冊系統。[2022/7/30 2:48:06]

3、緊接著攻擊者調??55?次?Monoswap.swapExactTokenForToken以此來不斷堆?MONO的價格。

這里攻擊的核心是在Monoswap.sol中的swapExactTokenForToken函數,攻擊者傳入MONO代幣使得tokenIn和tokenOut是相同的代幣。

跟到swapIn函數中:

可以發現在swapIn函數中,調用了函數getAmountOut來計算價格。接著跟到getAmountOut函數中發現是利用了_getNewPrice函數來計算tokenInPrice和tokenOutPrice。

跟到_getNewprice函數中,發現當計算tokenInPrice時候傳入的txType參數為TxType.SELL,此時:

當計算tokenOutPrice時候傳入的txType參數為TxType.BUY,此時:

如果傳入和傳出為同一種代幣時,價格計算式中的四個變量都相同,所以很容易得出tokenOutPrice會比tokenInPrice要大。

由于tokenIn和tokenOut是同一個token,swapIn函數在計算完價格后會再次調用_updateTokenInfo函數,使得tokenOutPrice的更新會覆蓋tokenInPrice的更新,所以導致這個token的價格上漲。

4、最后攻擊者調用swapTokenForExactToken函數用MONO來換出池子中的其他代幣。

swapTokenForExactToken函數中調用了swapOut函數,而swapOut函數中計算價格是調用的getAmountIn函數。

在該函數中由于tokenInPoolPrice是取的MONO代幣在池中的價格,而此價格在之前已被推高,導致tokenInPrice變大,計算最后的amountIn變小,用更少的MONO換出了原來相同數量的WETH、WBTC、MONO、USDC、USDT、DUCK、MIM、IMX等池子中的代幣。

5、攻擊者最終把攻擊獲利轉入地址

0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b。

以上為以太坊主鏈上的攻擊分析,此外,攻擊者除了在以太坊主鏈上進行攻擊外,還在Polygon上進行了同樣的攻擊,攻擊手法與以太坊主鏈上相同,此處不做過多重復的分析。

據慢霧AML統計,MonoXFinance最終損失約3400萬美元,包括約2.1K個WETH、1.9M個WMATIC、36.1個WBTC、143.4K個MONO、8.2M個USDC、9.1M個USDT、1.2K個LINK、3.1K個GHST、5.1M個DUCK、4.1K個MIM以及274.9個IMX。

總結

本次攻擊是利用了swap合約里沒有對池中傳入和傳出代幣作檢查,從而利用價格更新機制的問題,由于在swap合約中會對池中傳入和傳出的代幣的價格調用同一個函數_upTokenInfo來進行更新,而當傳入和傳出的代幣為同一種代幣時,第二次調用_upTokenInfo函數時,通過價格計算后的更高的tokenOutPrice會覆蓋掉價格更低的tokenInPrice,以此來不斷推高池中該代幣的價格,最后可以換出池中其他的所有代幣來獲利離場。

Tags:TOKENKENTOKETOKSwiftlance tokenAmpleforth Governance Tokenimkey只支持imtoken嗎Quidd Token

比特幣交易
金色觀察|LD Capital:新公鏈進化——制勝關鍵源于自上而下_TVL:INTER幣

太長不讀: 1、新公鏈的擴展遵循自上而下的路徑:從上層應用到下層技術,從生態應用的繁榮到公鏈使用的爆發.

1900/1/1 0:00:00
Avalanche (AVAX) 亞洲生態系統風險基金宣布對 Juggernaut (JGN) 進行戰略投資_AVA:NFT

官方消息,北京時間2021年12月1日,Avalanche(AVAX)?亞洲生態系統風險基金AVATAR宣布對?Juggernaut(JGN)進行戰略投資,建立深度合作伙伴關系.

1900/1/1 0:00:00
科技日報:元宇宙是風口也是虎口_元宇宙:cool

元宇宙席卷一切,科技巨頭紛紛表態,但依然跳不出著眼于自身業務領域的投射,如同看一場又一場盲人摸象。元宇宙呈現的是什么,還處在比拼想象力的階段.

1900/1/1 0:00:00
Dapponline游戲推薦第九期_NFT:spellfire幣私募價格

DappOnline是一個定位全球范圍的區塊鏈應用商店,致力于構建一整套健康可持續發展的區塊鏈生態.

1900/1/1 0:00:00
Gitcoin 第 12 輪捐贈已開始, 速覽 11 個項目的基本信息_ANT:kucoin與成都檸檬云

原文標題:《Gitcoin第12輪捐贈來襲,有哪些項目值得關注》Gitcoin是一個自2017年發起的開源軟件開發激勵平臺,旨在通過區塊鏈支持各類開源項目,促進開源運動的發展.

1900/1/1 0:00:00
百萬年薪搶人,巨頭重金下注……元宇宙是泡沫還是風口?_元宇宙:Defi Gold

作者|廖羽 “我都說了,暫時沒有換工作的想法,他還說想和我’聊聊’。”近兩個月以來,何翹接到了近三十個技術美術類崗位面試邀請.

1900/1/1 0:00:00
ads