以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > BNB > Info

MonoX.Finance安全事件分析_TOKEN

Author:

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

前言

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

攻擊涉及信息

此次安全事件共有兩次攻擊分別發生在以太坊和polygon上。

簡述攻擊流程

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

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

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

Cathie Wood:SEC或再次推遲ARK Invest的現貨比特幣ETF決議:金色財經報道,Cathie Wood對彭博社表示,她預計ARK Invest擬議的現貨比特幣ETF決議將再次推遲,美SEC將于下周結束對該基金的審查期。該監管機構目前正在審查八只獨立基金的申請,上個月承認了貝萊德、富達、VanEck 和景順等資產管理公司最近發起的大部分基金申請。ARK 21Shares比特幣 ETF處于領先地位,目前下一個決策截止日期(8月13日)即將到來,但SEC可以進一步延長該截止日期。[2023/8/8 21:30:28]

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

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

幣安NFT市場面向完成KYC用戶推出人工智能NFT生成器“Bixel”:7月26日消息,幣安NFT市場宣布其名為“Bixel”的人工智能NFT生成器現在可供用戶永久使用。該工具允許用戶生成獨特的數字藝術并加入NFT世界。不過,使用該工具之前需要完成平臺的KYC身份驗證流程。

幣安解釋說:“這一關鍵措施是為了為所有用戶維護一個值得信賴和安全的平臺,符合最佳實踐和監管要求。”

此外,使用該工具鑄造NFT還需要支付0.008 BNB的鑄造費,在撰寫本文時約為1.9美元。根據幣安的說法,這筆費用確保了NFT創建過程在BNB鏈中正確執行。[2023/7/26 16:00:15]

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

美聯儲哈克:加息50基點仍將是一個大的幅度:8月25日消息,美聯儲哈克表示:我們需要采取限制性政策立場,到今年年底我們就會做到。希望看到美國經濟增長率達到3.4%以上,然后可能企穩一段時間,但如果數據不斷表明我們需要加息更多,我們應該這樣做,加息50基點仍將是一個大的幅度。控制通脹,這是首要任務,9月FOMC會議上尚未決定加息50個基點還是75個基點。[2022/8/25 12:48:33]

漏洞成因分析

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

攻擊者可以通過函數removeLiquidity移除了其他人添加的流動性攻擊者通過函數swapExactTokenForToken不斷重復MONO兌換MONO的操作

檢查源碼

對函數removeLiquidity源碼進行分析

馬斯克:Web69的想法不錯:金色財經報道,前 Twitter 首席執行官 Jack Dorsey 近日宣布推出“Web5”,他試圖在比特幣網絡上構建 Web 組件并專注于身份而非 Token 化支付,同時解決現實個人數據保護問題,確保不會將這些數據出售給第三方,該項目旨在將去中心化身份和數據存儲帶入 Web 應用程序,同時將數據所有權歸還給用戶。

此消息發布后,一位名叫“Wandrinstar”的狗狗幣社區用戶在社交媒體上稱:“如果Jack Dorsey 和比特幣可以創建 Web5,那么狗狗幣也可以創建 Web69。” 這條推文立刻引起了 Jack Dorsey 的注意,他在回復中 @ 了 Elon Musk 并表示“靠你搞定 Web69 了”,馬斯克回復稱“Web69 的想法會很熱門”。[2022/6/12 4:20:04]

可以看到函數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合約在設計時沒考慮到特殊情況下的價格覆蓋問題,而可任意移除流動性的缺陷則更加方便黑客對于價格的操縱。

知道創宇區塊鏈實驗室官網

www.knownseclab.com

創宇存證平臺|知道創宇唯一指定存證平臺

創宇存證-可信數據,價值流轉

聯系我們

blockchain@knownsec.com

知道創宇區塊鏈安全實驗室導航

微信公眾號

@創宇區塊鏈安全實驗室

官方網站

@知道創宇區塊鏈安全實驗室

微博

@知道創宇區塊鏈實驗室

https://weibo.com/BlockchainLab

知乎

@知道創宇區塊鏈安全實驗室

https://www.zhihu.com/org/zhi-dao-chuang-yu-qu-kuai-lian-an-quan-shi-yan-shi

Twitter

@KS_Blockchain

https://twitter.com/KSBlockchain

Tags:TOKENTOKKENTOKEimtoken提現人民幣步驟SPCT TokenUBIEX TokenCroatian Football Federation Token

BNB
Messari:從游戲的發展簡史及未來發展闡釋GameFi_EFI

原文來自:Messari 作者:JerrySun 聽聽在會議上、電話中或在游戲行業的會議室里的交談,你會發現一個反復出現的主題:GameFi.

1900/1/1 0:00:00
Blade Warrior限量金裝即將登錄歐易NFT市場_NFT

繼《靈籠》創世NFT、CyberCat創世賽博貓NFT盲盒搶購大火之后,熱門元宇宙鏈游BladeWarrior限量金裝NFT即將登錄歐易NFT市場.

1900/1/1 0:00:00
去中心化身份(DID)將如何改變我們的生活?_DID

提到身份,我們自然會想到身份證、戶口本、社保卡等一系列證明“自己是自己”的證件。確實,在如今的世界,一個人沒有身份就無法擁有銀行賬戶,無法獲得社會福利,無法行使受教育的權利,更談不上參與生活.

1900/1/1 0:00:00
丁君羨:BTC砸盤在拉回 走強但別追多 今日視頻解析_加密貨幣

  BTC:大餅昨天凌晨最低53300附近,破了之前的低點后開始一波拉升,跟我之前說的53000接多位置只差了300點。目前整體的結構來看,上周五的黑天鵝事情基本消化完畢.

1900/1/1 0:00:00
10分鐘了解Poriot_POR

一、Poriot的由來 2017年Poriot團隊連線以太坊團隊,共同探討解決方案并正式進入layer2領域研發。2018年取得重大成果,TPS達到每秒3000+,gas費低至0.01美金.

1900/1/1 0:00:00
1inch創始人Anton Bukov:限價交易如何為DEX提升靈活性和效率?_INC

文章來源:1inch 隨著去中心化交易所的發展,它們的功能變得越來越高級,逐漸可以與中心化交易所相媲美。其中一個功能是限價單。在本文中,我們將討論目前的限價單協議情況,并分析其優缺點.

1900/1/1 0:00:00
ads