前言
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項目時怎么看這個項目的價值的。實際上我在這個領域投資的經歷并不豐富,時間也不算很長,但因為有幸買到過一些后來迅速冒頭的項目因而也積累了一些經驗.
1900/1/1 0:00:00DappOnline是一個定位全球范圍的區塊鏈應用商店,致力于構建一整套健康可持續發展的區塊鏈生態.
1900/1/1 0:00:00Polygon在ZKRollup技術領域中占主導地位;歡迎Mir,一家以4億美元交易的開創性ZK技術初創公司.
1900/1/1 0:00:001.元宇宙金錢游戲:誰沾誰火63筆融資超百億沾上元宇宙概念就得到市場廣泛關注的現象,也出現在了與元宇宙相關領域的投融資上。智東西統計了近三個月的國內外元宇宙賽道的投融資情況.
1900/1/1 0:00:00聚焦區塊熱點,傳遞價值信息過去一周:Meta放寬加密貨幣廣告方案;紅杉資本宣布將2005年以來YouTube投資備忘錄作為NFT拍賣;韓國計劃推遲到2023年對加密貨幣征稅;adidasOrig.
1900/1/1 0:00:00新年就快到了,不知大家有沒有注意到,孫哥早已貼心地為大家準備好了新年禮物。12月6日,波場TRON官方發布公告,宣布BitTorrentChain主網將于2021年12月12日正式上線并實施BT.
1900/1/1 0:00:00