前言
11月30日,知道創宇區塊鏈安全實驗室?監測到自動做市商協議MonoX.Finance遭黑客攻擊,損失超3100萬美元。實驗室第一時間跟蹤本次事件并分析。
攻擊涉及信息
此次安全事件共有兩次攻擊分別發生在以太坊和polygon上。
簡述攻擊流程
本次攻擊分析選用以太坊交攻擊交易:0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299
1、黑客首先通過swapExactTokenForToken函數將0.1WETH兌換為79.9MONO
2、重復利用函數removeLiquidity移除Monoswap合約中的流動性,直至全部移除
PeckShield:Azuki Elementals 8339等3枚NFT已因網絡釣魚被盜:6月28日消息,據PeckShield監測顯示,Azuki Elementals#8339、BEANZ Official#15352和BBRC-IVY BOYS#5131已因網絡釣魚被盜。[2023/6/28 22:05:13]
3、通過函數addLiquidity添加自己操控的流動性
4、重復調用函數swapExactTokenForToken實現MONO->MONO的不合理兌換
5、最終利用被以上操作抬高價格的MONO兌換了WETH、WBTC、MONO、USDC、USDT、DUCK、MIM、IMX等從而獲利。
漏洞成因分析
安全公司:黑客正在對MetaMask等主流錢包進行“模態網絡釣魚”攻擊:金色財經報道,安全公司CertiK在社交媒體披露,黑客正在對MetaMask等主流錢包進行“模態網絡釣魚”攻擊,通過將網絡釣魚消息發送到被識別為合法去中心化應用程序 (dApp) 的移動錢包控制非托管錢包的“模態窗口”,以引誘其所有者批準錯誤的交易,用戶可能會認為他或她正在通過MetaMask錢包批準“安全更新”。 CertiK團隊提醒并強調,用戶應該對每一個未知的交易請求都非常謹慎,甚至持懷疑態度——即使是那些被標記為安全升級的請求。[2023/4/14 14:03:02]
分析攻擊流程可以發現兩個不合理的地方:
攻擊者可以通過函數removeLiquidity移除了其他人添加的流動性攻擊者通過函數swapExactTokenForToken不斷重復MONO兌換MONO的操作
BAYC #8705 以100ETH價格成交:金色財經報道,Etherscan數據顯示,Bored Ape Yacht Club #8705 以100ETH價格成交。[2023/1/2 22:20:45]
檢查源碼
對函數removeLiquidity源碼進行分析
可以看到函數removeLiquidity和它包含的內部函數_removeLiquidityHelper都沒有對調用者進行權限限制,以及對需要被移除流動性的傳參地址to進行驗證,這導致了任意地址都能進行對該pool內所有流動性進行移除。
對函數swapExactTokenForToken源碼進行分析
1、發現函數swapExactTokenForToken主要功能由函數swapIn實現,對函數swapIn進行跟進分析
美股三大股指盤中跌幅擴大,納指一度跌至3%:金色財經報道,行情顯示,美股三大股指盤中跌幅擴大,納斯達克100指數跌幅一度擴大至3%,創6月28日以來最大盤中跌幅。截至目前,道指跌1.91%,納指跌2.82%,標普500跌2.26%。[2022/8/27 12:51:29]
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
@KS_Blockchain
https://twitter.com/KSBlockchain
Tags:TOKEMONTOKENTOKimtoken錢包官方版下載地址DIAMONDSBrazil National Fan TokenProvoco Token
無論是否采用NFT,千禧一代和Z世代已經在購買高價值資產,例如昂貴的頭像或虛擬汽車。6月9日:我在紐約的酒店房間里,緊張地盯著我的電腦屏幕。值得慶幸的是,這個酒店的WiFi運行良好.
1900/1/1 0:00:00選擇Poriot的十大理由1、首創性的提出礦機的貢獻不應僅僅在于出幣,還有應用和社會效益,為區塊鏈技術服務于人類做出卓越貢獻.
1900/1/1 0:00:00原文標題:《Footprint月報:DeFi總鎖倉量新突破2880億,NFT領域有望迎來第二春?》撰文:Footprint分析師Vincy(vincy@footprint.network)繼10.
1900/1/1 0:00:00總有人說,逆境是最好的試金石。在加密市場環境日趨嚴苛,大量平臺項目歸于沉寂之時,虎符依舊保持著良好的發展態勢,自8月入駐迪拜,建立全球運營中心開始,虎符在國際市場中的影響力逐步提升,成為中東主流.
1900/1/1 0:00:00原文來源:Nansen 撰文:YasmineKarimi翻譯:深潮TechFlow 介紹 在加密貨幣的歷史上,有三次以太坊網絡的gas費飆升到天文數字的情況:2017年的牛市.
1900/1/1 0:00:00在投資者還沒完全搞明白“元宇宙”是什么的時候,A股市場元宇宙概念股已經集體暴動。互聯網巨頭、風險投資企業等紛紛靠攏元宇宙.
1900/1/1 0:00:00