前言
11月30日,知道創宇區塊鏈安全實驗室?監測到自動做市商協議MonoX.Finance遭黑客攻擊,損失超3100萬美元。實驗室第一時間跟蹤本次事件并分析。
簡述攻擊流程
本次攻擊分析選用以太坊交攻擊交易:
0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299
1、黑客首先通過swapExactTokenForToken函數將0.1WETH兌換為79.9MONO
世界銀行探索基礎設施項目的代幣化:金色財經報道,世界銀行發布一份報告,探討了區塊鏈在道路、發電廠和可再生能源項目等基礎設施項目中的應用。全球基礎設施中心估計,2018年至2040年期間,基礎設施項目的融資缺口將達到15萬億美元。每年在基礎設施上的支出約為3- 4萬億美元,其中大部分由政府承擔。
區塊鏈可以以兩種截然不同的方式幫助基礎設施項目。一種是通過將基礎設施證券(無論是債務還是股權)代幣化來幫助填補資金缺口。使用區塊鏈可能會降低發行成本,盡管仍然需要一個特殊目的的載體。
第二個應用是將區塊鏈的透明度用于預算層面的基礎設施項目管理。這包括在分包商和承包商之間共享有關采購訂單和發票的數據,以減少潛在的爭議。
它建議世界銀行應該考慮啟動概念驗證,以幫助推動金融監管的變革,并在區塊鏈技術方面發揮領導作用。此外,它還將獲得與“加密生態系統”互動的經驗。[2023/5/16 15:04:49]
2、重復利用函數removeLiquidity移除Monoswap合約中的流動性,直至全部移除
會計事務所BDO擬暫停為加密貨幣客戶提供服務:金色財經報道,會計事務所BDO擬暫停或限制為加密貨幣客戶提供服務。《華爾街日報》披露,一位BDO公司代表透露,與其他幾家最近暫停加密貨幣服務的審計公司一樣,BDO目前正在評估為加密客戶開展審計工作的方法。截止目前,BDO暫未明確表示會放棄相關客戶,但暗示存在這種可能性。(WSJ)[2022/12/18 21:51:25]
3、通過函數addLiquidity添加自己操控的流動性
4、重復調用函數swapExactTokenForToken實現MONO->MONO的不合理兌換
Chain CEO以75 ETH購入新英格蘭愛國者隊ENS域名“patriots.eth”:9月23日消息,區塊鏈基礎設施公司Chain宣布與美國國家橄欖球聯盟(NFL)的新英格蘭愛國者隊和美國職業足球大聯盟的新英格蘭革命隊達成新的贊助協議。根據為期四年的協議條款,Chain將與Kraft Sports + Entertainment合作,為新英格蘭愛國者隊和新英格蘭革命隊的主場吉列體育場的游客創造創新的Web3體驗。
合作公告發布后,Chain首席執行官Deepak Thapliyal宣布以75 ETH(99,321.75美元)的價格購入ENS域名Patriots.eth。據悉,Thapliyal還擁有Deepak.eth和nerev.eth兩個ENS域名,同時他還持有CryptoPunks和Bored Ape Yacht Club等藍籌NFT。(Beincrypto)[2022/9/23 7:15:55]
5、最終利用被以上操作抬高價格的MONO兌換了WETH、WBTC、MONO、USDC、USDT、DUCK、MIM、IMX等從而獲利。
數據:94,484,642枚BUSD在幣安鑄造:金色財經報道,據Whale Alert數據,94,484,642枚BUSD在幣安鑄造。[2022/8/10 12:16:24]
漏洞成因分析
分析攻擊流程可以發現兩個不合理的地方:
攻擊者可以通過函數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:ONOMONTOKETOKENPHONONgoldenmonkeytokenpocket幣被轉走了Immopet Token
2021年12月10日18:00,Metastrike項目做客追風社,與大家分享AMA內容的嘉賓是Metastrike項目ThangDo.
1900/1/1 0:00:00百度也要進軍元宇宙產業了。12月10日,百度宣布將于12月27日發布元宇宙產品“希壤”,屆時百度Create2021將在希壤APP舉辦.
1900/1/1 0:00:00聽聽在會議上、電話中或在游戲行業的會議室里的交談,你會發現一個反復出現的主題:GameFi。不光只是我們這么講,AndrewWilson等高層管理人員也注意到了這一現象.
1900/1/1 0:00:00本期概要: 主網升級到v0.19.15版本,并把leveldb全部替換成rocksdb測試網升級至v0.19.17.2版本 OEC生態進展: OEC在TwitterSpaces上啟動了第二次官方.
1900/1/1 0:00:00本文將探討如何更合理地評估NFT的稀有度。稀有度得分是一種輔助手段,不同NFT項目方會給出關于某種屬性的更重要的公告,也會受到了個人主觀審美的影響.
1900/1/1 0:00:00·?個人簡介??· CharlesCheng,法學博士,畢業于斯坦福大學法學院。Euterpe聯合創始人&首席運營官,LEAP董事、AlumniVenturesGroup咨詢專家、前Am.
1900/1/1 0:00:00