以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

MONO:“我殺我自己?”—— MonoX.Finance安全事件分析

Author:

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

前言

11月30日,知道創宇區塊鏈安全實驗室?監測到自動做市商協議MonoX.Finance遭黑客攻擊,損失超3100萬美元。實驗室第一時間跟蹤本次事件并分析。

簡述攻擊流程

本次攻擊分析選用以太坊交攻擊交易:

0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299

1、黑客首先通過swapExactTokenForToken函數將0.1WETH兌換為79.9MONO

加密平臺Revix:受Haru暫停服務影響客戶只能提取資產的76%:金色財經報道,南非加密平臺Revix于6月28日表示,客戶現在只能提取其加密資產的四分之三以上(76%)。Revix表示,阻止客戶提取另外24%加密資產的舉動是在其主要服務提供商之一Haru Invest暫停存款和取款之后做出的。

據韓國媒體報道,Haru Invest暫停服務的決定也影響了另一家數字交易平臺Delio。此外,韓國當局還對B&S控股、Delio、Haru Invest的部分高管采取了禁止出境措施。[2023/6/30 22:11:06]

2、重復利用函數removeLiquidity移除Monoswap合約中的流動性,直至全部移除

Voyager債權人已與美國官方達成推進Binance.US交易決議:4月20日消息,據Voyager無擔保債權人委員會在社交媒體披露,Voyager無擔保債權人委員會(UCC)已經和美國政府達成了一項決議,將允許Binance.US收購交易計劃向前推進并推動快速生效。

該決議體現在一項聯合規定中,規定上訴將繼續針對該計劃的免責條款,美國官方已同意該計劃可以在沒有此類規定的情況下向前推進交易,并且不會以其他方式中止。Voyager、以及Voyager無擔保債權人委員會正在和Binance.US進行合作,以便在地區法院批準該規定后盡快推進交易。[2023/4/20 14:15:07]

3、通過函數addLiquidity添加自己操控的流動性

某未知地址將2000萬枚CRV轉至Aave V2:金色財經報道,據Whale Alert監測,某未知地址15:19(UTC+8)將2000萬枚CRV(約1900萬美元)轉移至Aave V2。[2023/3/21 13:17:11]

4、重復調用函數swapExactTokenForToken實現MONO->MONO的不合理兌換

5、最終利用被以上操作抬高價格的MONO兌換了WETH、WBTC、MONO、USDC、USDT、DUCK、MIM、IMX等從而獲利。

漏洞成因分析

分析攻擊流程可以發現兩個不合理的地方:

6月6日波卡解除質押107.28萬枚DOT:據KingData監控,本周(6月6日-6月12日)波卡解除質押的DOT總量為375.1萬枚,解鎖峰值在6月6日,解鎖107.28萬枚DOT。[2022/6/6 4:06:02]

攻擊者可以通過函數removeLiquidity移除了其他人添加的流動性

攻擊者通過函數swapExactTokenForToken不斷重復MONO兌換MONO的操作

檢查源碼

對函數removeLiquidity源碼進行分析

可以看到函數removeLiquidity和它包含的內部函數_removeLiquidityHelper都沒有對調用者進行權限限制,以及對需要被移除流動性的傳參地址to進行驗證,這導致了任意地址都能進行對該pool內所有流動性進行移除

對函數swapExactTokenForToken源碼進行分析

1、發現函數swapExactTokenForToken主要功能由函數swapIn實現,對函數swapIn進行跟進分析

2、發現獲取token信息的函數getAmountOut,對函數getAmountOut進行跟進分析

3、發現tokenInPrice與tokenOutPrice的計算規則相同都是通過函數_getNewPrice計算,跟進到函數_getNewPrice

4、發現price的獲取對應兩種狀態

SELL狀態:價格=代幣初始價格*代幣存儲量/(代幣存儲量+費用)

BUY狀態:價格=代幣初始價格*代幣存儲量/(代幣存儲量-費用)

很明顯相同token在BUY狀態下獲取到的價格大于SELL狀態

5.回到swapIn函數,當傳入token價格被獲取到后會按照token種類通過_updateTokenInfo進行token信息更新。

由于傳入的token都為MONO所以:

當通過if(tokenIn==address(vCash))判斷時,MONO獲取到的價格是SELL狀態下計算的價格;

當通過if(tokenOut==address(vCash))判斷時,MONO獲取到的SELL狀態下的價格會被BUY狀態下獲取的價格覆蓋;

因此當發生MONO兌換MONO操作時,MONO的價格會上升。

重新梳理攻擊過程

第一步:黑客將0.1WETH兌換為79.9MONO作為啟動資金

第二步:黑客移除了pool內全部流動性,防止攻擊受到影響或者價格波動被檢測到

第三步:黑客添加了自己控制的流動性,便于兌換操作

第四步:黑客通過重復MONO兌換MONO的操作,不斷抬高MONO價格

第五步:利用已經被抬高的MONO兌換pool內其他資產達到獲利目的

總結

本次安全事件問題其實并不復雜,主要原因在于monoswap合約在設計時沒考慮到特殊情況下的價格覆蓋問題,而可任意移除流動性的缺陷則更加方便黑客對于價格的操縱。

來源:金色財經

Tags:ONOKENMONOMONPHONON幣Wrapped LUNA TokenMonopolonMoneroV

抹茶交易所
SOLA:據稱Solana遭到DDoS攻擊,但網絡仍然在線

據報道,Solana的區塊鏈性能在過去24小時內受到分布式拒絕服務(DDoS)攻擊,然而,網絡似乎一直保持在線。DDoS攻擊通常是指大量協同設備或僵尸網絡利用虛假流量壓垮網絡,使其離線.

1900/1/1 0:00:00
PEN:“加密eBay” Opensea 上市引爭議

出品|白澤研究院 根據彭博社的報道,流行的NFT市場Opensea公布了其首位首席財務官:拼車應用Lyft的前首席財務官布賴恩·羅伯茨(BrianRoberts).

1900/1/1 0:00:00
NFT:反烏托邦的未來:元宇宙、Web 3.0和NFT游戲

從一開始所掀起的NFT游戲熱潮,再到火爆出圈的元宇宙概念,Web3.0世界的樣子終于在人們的腦海中逐步變得清晰起來.

1900/1/1 0:00:00
Ubisoft:育碧推出Ubisoft Quartz平臺,提供節能的可玩性NFT

法國電子游戲發行商育碧(Ubisoft)通過一個名為UbisoftQuartz的新平臺首次涉足非同質化代幣(NFT).

1900/1/1 0:00:00
GAS:三箭資本態度大反轉,以太坊的未來之路該怎么走?

原文標題:《從放棄到真香,三箭資本態度大反轉背后的以太坊發展迷局》 原文作者:梁文輝 11月20日,三箭資本聯合創始人ZhuSu因不滿以太坊高昂的GAS費用,發推宣布棄用以太坊.

1900/1/1 0:00:00
LAYER:從放棄到真香:三箭資本態度大反轉背后的以太坊發展迷局

11月20日,三箭資本聯合創始人ZhuSu因不滿以太坊高昂的GAS費用,發推宣布棄用以太坊,不過就在12月7日,三箭資本又從各大交易平臺轉出91,477枚ETH(價值約4億美元).

1900/1/1 0:00:00
ads