比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

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

Author:

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

前言

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

簡述攻擊流程

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

0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299

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

Lido現已集成OKX Web3錢包:4月21日消息,據官方消息,基于以太坊的最大的流動性質押協議Lido Finance現已集成OKXWeb3錢包,用戶可以連接OKX Web3錢包在Lido進行以太坊質押,此外,用戶也可以直接通過OKX Web3錢包的Discover板塊搜索并進入Lido進行ETH質押,并獲得獎勵。

據了解,OKX Web3錢包是最全面的異構多鏈錢包,已支持50+條公鏈,涵蓋錢包、DEX、賺幣、NFT市場、Dapp探索5大板塊。此外,OKX Web3錢包已上線MPC無私鑰錢包,用戶無需再管理私鑰或者助記詞,即可輕松探索Web3世界。[2023/4/21 14:17:48]

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

航空巨頭空客公司基于Avalanche推出直升機30周年NFT系列:12月20日消息,歐洲航空巨頭空客公司(Airbus)基于Avalanche推出直升機部門成立30周年NFT系列,這些NFT使用OpenGem工具推出,并可在OpenSea和Kalao上交易。據悉,該NFT系列將覆蓋空客公司近13萬名員工。[2022/12/20 21:56:41]

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

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

礦企Core Scientific今年已虧損超17億美元:11月23日消息,上市比特幣礦企Core Scientific表示,其今年前九個月的虧損攀升至超過17億美元,因為飆升的能源成本和礦工之間的競爭加劇導致利潤率大幅下降。Core Scientific在10月份首次警告稱,如果該公司無法找到更多資金來償還其超過10億美元的債務,它可能不得不申請破產保護。該公司第三季度虧損4.34億美元。(彭博社)[2022/11/23 8:00:22]

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

FIL突破8.5美元,日內漲幅超46%:FIL突破8.5美元,現報8.512美元,日內漲幅達到46.15%,行情波動較大,請做好風險控制。[2022/7/31 2:48:26]

漏洞成因分析

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

攻擊者可以通過函數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:TOKENONOMONOMONIRISTOKEN幣AtonomiMONONOKEINU價格Lab Grown Diamond

比特幣價格今日行情
投資NFT項目的一些感想_PEN

經常有朋友私下問我看一個NFT項目時怎么看這個項目的價值的。實際上我在這個領域投資的經歷并不豐富,時間也不算很長,但因為有幸買到過一些后來迅速冒頭的項目因而也積累了一些經驗.

1900/1/1 0:00:00
Dapponline項目推薦第十一期_FIN

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

1900/1/1 0:00:00
《Polygon官方博客:收購Mir是我們新的野心》_GON

Polygon在ZKRollup技術領域中占主導地位;歡迎Mir,一家以4億美元交易的開創性ZK技術初創公司.

1900/1/1 0:00:00
晚間必讀5篇 | 元宇宙金錢游戲:誰沾誰火_DAO

1.元宇宙金錢游戲:誰沾誰火63筆融資超百億沾上元宇宙概念就得到市場廣泛關注的現象,也出現在了與元宇宙相關領域的投融資上。智東西統計了近三個月的國內外元宇宙賽道的投融資情況.

1900/1/1 0:00:00
Hoo虎符研究院 | 區塊鏈簡報 20211206 期_HOO

聚焦區塊熱點,傳遞價值信息過去一周:Meta放寬加密貨幣廣告方案;紅杉資本宣布將2005年以來YouTube投資備忘錄作為NFT拍賣;韓國計劃推遲到2023年對加密貨幣征稅;adidasOrig.

1900/1/1 0:00:00
孫宇晨打造業界最強跨鏈擴容方案BTTC上線在即 BTT實施拆分狂漲50%_TTC

新年就快到了,不知大家有沒有注意到,孫哥早已貼心地為大家準備好了新年禮物。12月6日,波場TRON官方發布公告,宣布BitTorrentChain主網將于2021年12月12日正式上線并實施BT.

1900/1/1 0:00:00
ads