11月30日,鏈必應-區塊鏈安全態勢感知平臺輿情監測顯示,自動做市商協議MonoX遭閃電貸攻擊,獲利約3100萬美元。關于本次攻擊,成都鏈安技術團隊第一時間進行了事件分析。
攻擊發生之后,MonoX在官方推特確認其合約遭到攻擊,團隊正在調查并將盡最大努力追回被盜資金。
MonoX使用單邊代幣池模型,其使用vCASH穩定幣與AMM提供的代幣創建虛擬的交易對。簡單來說,MonoX創建的是代幣-vCASH交易對,添加流動性時,只需要添加代幣,進行任意代幣兌換時,兌換路徑為:代幣A -> vCASH -> 代幣B,而不需要像Uniswap一樣經過多個交易對:代幣A -> Pair1-> Pair2-> Pair3-> Token B。
攻擊者使用相同的地址
0xEcbE385F78041895c311070F344b55BfAa953258對以太坊以及MATIC上的MonoX發起了攻擊,在兩個平臺進行攻擊所部署的合約一致。攻擊交易為:
土耳其央行行長:對一些流向加密貨幣的現金流感到不安:12月2日消息,土耳其央行行長表示,外匯儲備已進入穩定上升趨勢,能夠在外匯波動過度的情況下進行外匯干預。土耳其央行對一些流向加密貨幣的現金流感到不安。(金十)[2021/12/2 12:46:38]
以太坊:
0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299
MATIC:
0x5a03b9c03eedcb9ec6e70c6841eaa4976a732d050a6218969e39483bb3004d5d
由于兩個平臺代碼完全一致,下面的分析將基于以太坊上的攻擊交易進行。
Round 1
將 0.1 WETH 通過 Monoswap中兌換為79.98609431154262101 MONO;
Chia創始人:Hpool 正使用不安全的協議,但Chia區塊鏈本身仍是安全的:Chia創始人Bram Cohen在推特表示,顯然,中國用戶現在對 Chia 產生了某種恐慌。雖然現在甚至不清楚什么主張正在被提出,但這里有一些要重申的要點:網絡不是僅僅信任用戶聲稱其本地機器擁有多少空間。愚弄農民使其認為還有很多空間并不重要,重要的是這并不意味著其會對網絡產生欺騙;新的、更快的plotter不會對網絡安全構成威脅,它只是讓plotting更快、更方便,這是一件好事。網絡受空間保護,而不是plotting速度;Hpool 正在使用一種根本不安全的協議;Chia 中出塊的速度是完全正常的,并且它們中的空間證明可以被檢查出來,區塊鏈本身仍然是安全的;最近的Chia價格下跌似乎是因為加密市場價格整體下跌和中國內部對“安全”的不合理恐慌。我不知道這種恐慌是由某人故意欺詐還是只是愚蠢引起的;我們不會幫助 Hpool 改進他們的協議。我們完全專注于構建一個真正安全的協議,一旦完成,Hpool將能夠像其他協議一樣使用它。[2021/6/13 23:33:44]
圖 1?WETH兌換MONO
分析 | 研究:挖Monero幣的加密蠕蟲Graboid目前已感染2000多臺不安全的Docker引擎:研究人員稱,Graboid加密蠕蟲旨在挖Monero幣,到目前為止,已經感染了2000多臺不安全的Docker引擎(社區版)主機,這些主機正在清理中。最初的惡意Docker鏡像已被下載了10,000次以上,蠕蟲自身已被下載了6500多次。管理員可以通過鏡像創建歷史記錄,查找名為“ gakeaws / nginx”的鏡像來發現感染。
攻擊者通過不安全的Docker daemons獲得了最初的立足點,該daemons首先安裝了Docker鏡像以在受感染的主機上運行。另外,攻擊者無需任何身份驗證或授權,即可完全控制Docker 引擎和主機。攻擊者利用此入口點來部署和傳播挖礦木馬。(freebuf)[2019/10/23]
Round 2
移除Monoswap所有的流動性。這里利用了Monoswap合約中的任意地址流動性移除漏洞。
漏洞1:
Monoswap合約中未檢測流動性的所有者to是否為msg.sender。_removeLiquidity函數中,如圖2所示,第443行,獲取調用者(攻擊合約)最后一次添加流動性的時間戳,返回結果是0,因此第445行的檢測通過。第446行,topLPHolderOf如果不是調用者(攻擊合約)地址,第447行的檢測通過。此后移除流動性相關代碼中,再無msg.sender相關的操作。
金融技術律師:谷歌加密貨幣禁令令人感到不安:據bitcoin.com消息,Burges Salmon的金融技術律師Gareth Malna對谷歌禁止加密貨幣廣告表示擔憂。他表示,鑒于谷歌龐大的商業力量,這可能會是一項潛在的,令人不安的事態發展。對于谷歌來說,阻止這一市場可能聽起來像消費者保護,但可能超出了它作為信息守門人的職責。[2018/6/7]
圖 2?_removeLiquidity源碼
圖 3?第一次移除流動性內部調用細節
圖 4?移除Monoswap中MONO池所有的流動性
Round 3
90%的加密貨幣錢包不安全:舊金山安全公司High-Tech Bridge的一份新的研究報告分析了谷歌Play商店中超過2000款APP。在前30款總安裝量達到100,000的加密貨幣APP中,93%包括至少3個“中等風險”漏洞,90%包含至少2個“高風險”問題。[2017/11/30]
添加極少數量的MONO到Monoswap中,這一步是為了后面快速提升MONO的價格做準備。
圖 5?攻擊合約添加流動性
Round 4
利用Monoswap合約中的代幣兌換價格覆寫漏洞,反復進行同種代幣的兌換,拉升MONO的價格。第3步攻擊者將Monoswap合約中MONO的儲量控制到了一個極小的值,目的就是更快的以極低的MONO數量來拉升MONO的價格。
漏洞2:
Monoswap合約的代幣兌換過程為:檢查兌換參數是否正常,然后計算應輸入輸出代幣的數量以及代幣兌換后的價格,最后執行兌換操作并將新的代幣價格寫入賬本。以上邏輯在不同種代幣兌換的時候會正常運行。但是在同種代幣兌換時,將出現兩處問題:
(1) 在_getNewPrice函數計算應輸入輸出代幣數量時,未考慮到兌換過程中交易池代幣儲量的變更,同種代幣是基于相同的初始價格進行兌換后價格的計算。
(2)在最后一步更新代幣過程中,未考慮到同種代幣進行兌換時,兌出代幣的價格更新操作(圖6 第841行)會覆蓋兌入代幣更新的操作(圖6 第830行)。該漏洞導致MONO代幣兌換MONO代幣時,MONO的價格異常增長。此外不止攻擊者使用的swapExactTokenForToken函數存在該問題,swapTokenForExactToken函數也存在該問題。
圖 6?swapIn函數源碼
圖 7?兌換過程參數計算
圖 8?兌換后價格計算
圖 9?swapOut函數源碼
現在看看攻擊者是如何利用漏洞2進行攻擊的:
(1)如圖10所示,初始MONO的價格為5.218 vCASH/MONO。
圖 10?初始MONO價格
然后攻擊者反復進行MONO->MONO的兌換,一共進行了55次兌換,如下圖所示:
圖 11?反復兌換,拉升MONO價格
對其中一筆兌換交易進行分析,每次兌換的數量是交易池中MONO的總量減去1,這是能夠最大提升MONO價格的兌換數量(使圖8?_getNewPrice第527行,分母為1)。另外由于交易池中MONO的總量較低(第3步的操作),攻擊者已經通過第1步保證了有足夠的余額進行兌換操作。
圖 12?MONO兌換細節
截止至兌換結束時,MONO的價格已經被拉升至843,741,636,512.366 vCASH/MONO。攻擊合約中剩余51.92049285389317 MONO。
圖 13?最終的MONO價格
(2)通過Uniswap V2的USDC/WETH池借入了847.2066974335073 WETH。然后攻擊者通過Monoswap將0.0709532091008681 MONO 兌換為4,029,106.880396 USDC,然后將USDC歸還給USDC/WETH池。注意,這里實際上是攻擊者將從Monoswap中兌換的USDC到Uniswap V2中兌換為WETH,而不是閃電貸攻擊。
(3)攻擊者所有轉出的資產如下:
所有被盜資產全部發送到
0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b地址。
目前項目方已經和攻擊者進行了溝通,成都鏈安將持續對此事件進行監控。
這次攻擊事件中,攻擊者利用了合約中的兩個漏洞:(1)任何地址都可以任意移除指定地址的流動性;(2)特殊情況下的價格寫入操作覆蓋問題。
建議項目方在進行合約開發過程中做好權限的檢查;在開發以及測試過程中將特殊情況納入考慮,例如同種代幣轉賬。
?2021年12月1日,在經過數月工作后,以太坊二層隱私擴容解決方案Zkopru宣布上線G?rli測試網.
1900/1/1 0:00:00幾天前,一句“求Monaco邀請碼!”刷屏了加密推特圈,一如當初Clubhouse的求碼熱潮,但狂歡僅維持了數天便偃旗息鼓,之后,甚至有不少的用戶倒戈相向,開始痛斥項目方.
1900/1/1 0:00:00注:原文來自彭博社,作者為Misyrlena Egkolfopoulou及Akayla Gardner,以下為全文編譯.
1900/1/1 0:00:00未來半年內,以太坊會啟動PoW向PoS的共識轉換。在以太坊官宣的內容里,2021年12月,已經將箭形冰川應該完成的難度炸彈延遲到了2022年,難度炸彈意味著PoW鏈出塊難度的快速增加而結束PoW.
1900/1/1 0:00:00運行存檔節點有什么特殊之處,誰可能需要這個選項?通常,現代區塊鏈利用三種類型的節點,即全節點、存檔節點和輕節點.
1900/1/1 0:00:00從2020年至2021年,去中心化金融(DeFi)成為新的敘事,為MakerDao、Uniswap、Avalanche等加密貨幣帶來了關注.
1900/1/1 0:00:00