買比特幣 買比特幣
Ctrl+D 買比特幣
ads

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

Author:

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

前言

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

簡述攻擊流程

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

0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299

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

Base與Backdrop推出100 Builders,幫助開發者在Base上構建開源技術:金色財經報道,Base宣布與Backdrop合作推出100 Builders,旨在幫助更多人在Base上構建開源,創造更多更好的開源技術,該計劃對構建者免費,建設者可獲得超過 4 萬美元的獎金,申請截止日期為 2023 年 8 月 10 日,計劃啟動日期為 2023 年 8 月 21 日。[2023/8/9 21:33:04]

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

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

香港存保會:虛擬資產屬投資工具不會納入存款保障范圍:金色財經報道,香港存款保障委員會(存保會)今日發布公眾咨詢文件提出多項優化措施,旨在改進存款保障計劃,包括建議將存款保障額度從目前的50萬元提高到80萬元,上調幅度高達60%。香港存保會總裁何漢杰表示已與銀行進行初步溝通,銀行對這一舉措的反應是積極的,但近年興起的虛擬資產,屬于一種投資工具,不會被納入保障范圍。(Investing)[2023/7/13 10:53:13]

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

美國聯邦存款保險公司:第一共和銀行辦公室將以摩根大通分支機構的身份重新開業:金色財經報道,美國聯邦存款保險公司表示,第一共和銀行辦公室將以摩根大通分支機構的身份重新開業,第一共和國銀行在8個州的84個辦事處將于今日重新開業。存款將繼續得到美國聯邦存款保險公司的保險,客戶不需要改變他們的銀行關系,以保留他們的存款保險覆蓋范圍達到適用的限制。除了承擔所有存款,摩根大通同意購買第一共和銀行幾乎所有的資產;據估計,存款保險基金的成本約為130億美元。[2023/5/1 14:37:11]

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

數據:2684枚BTC從未知錢包轉到Coinbase:金色財經報道,據WhaleAlert監測數據,2684枚BTC(46,131,744美元)從未知錢包轉到Coinbase。[2022/12/1 21:15:11]

漏洞成因分析

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

攻擊者可以通過函數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:MONOMONKENONOMONO幣MONIitoken錢包余額修改器Monoeci

fil幣價格今日行情
SWAP:官方公告|JGN LP Staking Pool即將上線_Swaprol

官方公告,JuggerSWAP新質押池即將上線,JuggerSWAP是JGN的質押平臺,最初是在以太坊上推出的.

1900/1/1 0:00:00
KEN:風險投資的范式轉移:無限主義基金和無限游戲_pototoken

偉大的冒險通常是無限游戲。無限游戲的目的不是贏得游戲,而是讓不斷永不停止。無限基金通過投資其子游戲來投資無限游戲,存在幾種方法可以使用Web3技術建立和改進無限資金,風險資本的范式正在向無限主義.

1900/1/1 0:00:00
SHIB:數據表明專業交易員目前更看好以太坊而非比特幣_比特幣走勢圖k線圖

點擊上方“藍色字”可關注我們!暴走時評:今年以來,ETH的表現已經超過BTC230%。而且衍生品數據表明,交易員們認為這個山寨幣還有很大的上升空間.

1900/1/1 0:00:00
TOR:部署Torah漩渦節點,你需要提前知道規則_人工智能chatGPT

Torah主網上線后VP的釋放規則?Torah漩渦節點獎勵所得,在激活節點的150天內,每天可以不限次數提取收益余額的20%,超出150天,可以100%提取獎勵所得,不含激活鑰匙的數量部分.

1900/1/1 0:00:00
EFI:OceanMollu丨GameFi鏈游大爆發BSC受益最多 但P2E可持續嗎?_GAME

近期游戲類融資十分火爆,從FootprintAnalytics的數據看到在2020年還處于末位,在2021年游戲類已經排名首位,占據了所有投資筆數中近13%的份額.

1900/1/1 0:00:00
NFT:OpenSea殺手 這8個NFT市場中的哪個最有潛力?_NFTMart Token

OpenSea是最大的NFT市場,憑借先發優勢,現在每個月處理著幾十億美元的交易,幾乎處于壟斷地位。所以這也出現了很多OpenSea的挑戰者.

1900/1/1 0:00:00
ads