前言
11月30日,知道創宇區塊鏈安全實驗室?監測到自動做市商協議MonoX.Finance遭黑客攻擊,損失超3100萬美元。實驗室第一時間跟蹤本次事件并分析。
簡述攻擊流程
本次攻擊分析選用以太坊交攻擊交易:
0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299
1、黑客首先通過swapExactTokenForToken函數將0.1WETH兌換為79.9MONO
zkSync:將在核心虛擬機和證明者鞏固和穩定后去中心化:金色財經報道,zkSync 發推特稱,zkSync 的去中心化愿景很明確,定序器、ZK 證明者、zkPorter、社區治理以及 zkSync Era 網絡的所有其他關鍵部分,將在核心虛擬機和證明者鞏固和穩定后去中心化。
此前報道稱,Matter Labs CEO Alex Gluchowski 表示,一旦想去中心化定序器,就需要代幣,定序器將在一年左右的時間內去中心化。[2023/3/31 13:36:50]
2、重復利用函數removeLiquidity移除Monoswap合約中的流動性,直至全部移除
GuildFi宣布推出Marketplace項目Morroc:6月29日消息,Web3游戲社區GuildFi宣布推出Marketplace項目Morroc。據悉,Morroc是第一個混合游戲化市場,包含Web2和Web3項目,將首先在測試階段推出,用戶可以要求享有特權。[2022/6/29 1:38:26]
3、通過函數addLiquidity添加自己操控的流動性
4、重復調用函數swapExactTokenForToken實現MONO->MONO的不合理兌換
5、最終利用被以上操作抬高價格的MONO兌換了WETH、WBTC、MONO、USDC、USDT、DUCK、MIM、IMX等從而獲利。
FTX宣布在日本推出FTX Japan:6月3日消息,FTX 宣布在日本推出 FTX Japan,服務日本用戶。FTX Japan 是日本合規交易平臺,取得了日本金融服務廳許可,注冊為《金融工具和交易法》的 Type 1 金融工具業務,旨在 FTX Japan 可以在日本合規提供加密衍生性商品。[2022/6/3 3:59:42]
漏洞成因分析
分析攻擊流程可以發現兩個不合理的地方:
攻擊者可以通過函數removeLiquidity移除了其他人添加的流動性
攻擊者通過函數swapExactTokenForToken不斷重復MONO兌換MONO的操作
數據:當前Solana生態總市值為259.8億美元:金色財經消息,據CoinGecko最新數據顯示,當前Solana生態總市值為259.8億美元(截至發稿時為25,981,043,846美元),24小時交易額為4,965,812,183美元。目前按市值排名前三的項目分別是:Solana(17,097,808,143美元)、STEPN(876,951,779美元)和Serum(392,764,225美元)。[2022/5/14 3:16:20]
檢查源碼
對函數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:TOKETOKENONOKENSEO TokenLeeds United Fan TokenBumono NetworkUnreal Governance Token
金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、礦業信息、項目動態、技術進展等行業動態。本文是其中的新聞周刊,帶您一覽本周區塊鏈行業大事.
1900/1/1 0:00:00近日Pantera投資了Faraway的2100萬美元A輪融資,Faraway正在構建由區塊鏈驅動的基于瀏覽器的游戲.
1900/1/1 0:00:001. 據海口日報報道,海南發改委發布《關于虛擬貨幣“挖礦”用電實行差別電價政策有關問題的通知》,決定將虛擬貨幣“挖礦”活動列為淘汰類產業,實行差別電價,加價標準為每千瓦時0.8元.
1900/1/1 0:00:00注:原文來自彭博社,作者為MisyrlenaEgkolfopoulou及AkaylaGardner,以下為全文編譯.
1900/1/1 0:00:00從一開始所掀起的NFT游戲熱潮,再到火爆出圈的元宇宙概念,Web3.0世界的樣子終于在人們的腦海中逐步變得清晰起來.
1900/1/1 0:00:00項目名稱 Mystenlabs 項目概念/賽道 Web3.0、基礎設施 項目簡介 Mystenlabs為Web3.0創建基礎設施。Web3已經到來,創新者正在重新構想新的產品、服務和商業模式.
1900/1/1 0:00:00