1.前言
北京時間2022年03月13日,知道創宇區塊鏈安全實驗室監測到BSC上Paraluni項目遭到攻擊,黑客獲利約170萬美金。知道創宇區塊鏈安全實驗室將對本次事件深入跟蹤并進行分析。
2.分析
2.1基礎信息
攻擊者地址:0x94bc1d555e63eea23fe7fdbf937ef3f9ac5fcf8f
攻擊者合約:0x4770b5cb9d51ecb7ad5b14f0d4f2cee8e5563645
攻擊交易哈希:0x70f367b9420ac2654a5223cc311c7f9c361736a39fd4e7dff9ed1b85bab7ad54
Masterchef合約:0xa386f30853a7eb7e6a25ec8389337a5c6973421d
數據:5月10日ParaSpace提款激增,1520枚NFT和價值4000萬美元的ERC20代幣被提出:5月11日消息,Dune Analytics數據顯示,或受團隊內部糾紛影響,NFT借貸協議ParaSpace 5月10日提款激增,有138枚BAKC、591枚MAYC、278枚Otherdeed、264枚BAYC以及249枚其他NFT被用戶提出,共計1520枚NFT。此外,當日提款的ERC20代幣價值超4000萬美元。[2023/5/11 14:56:30]
UBT代幣合約:0xca2ca459ec6e4f58ad88aeb7285d2e41747b9134
UGT代幣合約:0xbc5db89ce5ab8035a71c6cd1cd0f0721ad28b508
Paradigm已在Github開源基于Rust的以太坊客戶端Reth:12月8日消息,Paradigm已在Github開源基于Rust的以太坊客戶端Reth,目前其代碼尚未被審計,任何人都可以在Apache/MIT許可下使用,沒有任何附加條件,并鼓勵社區對它進行分叉,同時貢獻文檔、問題、請求等。
此前報道,11月Paradigm宣布正在構建基于Rust的以太坊客戶端Reth,不包含任何現有客戶端的代碼,而是建立在包括Geth、Erigon和Akula在內的客戶端的基礎上,核心目標是模塊化、開源友好性與性能。[2022/12/8 21:31:11]
2.2項目背景
Paraluni項目是新加坡ParallelUniverse基金會發布的一個基于幣安智能鏈的匿名項目,用戶可以通過與masterChef合約交互進行質押代幣獲取流動性收益。
區塊鏈數據基礎設施nxyz完成4000萬美元A輪融資,Paradigm領投:10月12日消息,為區塊鏈提供數據基礎設施的Web3平臺nxyz宣布完成4000萬美元A輪融資,Paradigm領投,Coinbase Ventures、Greylock Partners、紅杉資本,以及Balaji Srinivasan、Jaynti (JD) Kanani、Jing Wang、Packy McCormick、Surojit Chatterjee、Ryan Selkis等天使投資人參投。
nxyz旨在通過提供快速、靈活和可靠的區塊鏈索引和數據基礎設施,使新一代的建設者、創意者和企業家能夠開發更好的互聯網,其平臺可以直接從區塊鏈及其相關應用程序中攝取實時數據,為開發人員提供了一個高性能的API套件,以幫助他們輕松使用區塊鏈數據。
nxyz的區塊鏈API由Google和Neeva背后的分布式系統工程師構建,可在不到200毫秒的時間內提供實時區塊鏈數據。nxyz擴展以支持高吞吐量的能力將直接有利于錢包和NFT項目等應用程序。(Businesswire)[2022/10/12 10:32:34]
2.3攻擊流程
Parity工程師:波卡的平行鏈分片技術已實現跨鏈資產轉移:Parity工程師Bastian K?cher今日發推稱,波卡的平行鏈分片技術已成功實現資產跨鏈轉移。同時他還上傳了一段gif動圖,詳細演示了他在平行鏈中實現代幣跨鏈轉移的步驟。[2020/6/10]
為了使得攻擊流程更加清晰,我們將本次攻擊分為兩個階段進行分析。
預攻擊階段
1.攻擊者創建部署兩個代幣合約UBT和UGT。UBT:改寫transferFrom函數,實現對MasterChef的deposit()函數和withdrawAsset()函數的調用。UGT:ERC20代幣標準的代幣合約2.攻擊者使用閃電貸從pancakeSwap借出156,984BSC-USD和157,210BUSD。3.將借出的USDT和BUSD向對應的ParaPair添加流動性,獲得155,935枚ParaluniLP代幣到UBT合約中。此時獲取的Lp代幣為后續的攻擊提供重要支持。
核心攻擊階段
1.調用MasterChef合約中的depositByAddLiquidity函數,傳入參數為_pid:18,_token:,_amounts:,表示向18號池子添加1個UGT和1個UBT的流動性。
2.然后內部調用depositByAddLiquidityInternal函數,該函數的主要作用是調用addLiquidityInternal函數去鑄造LP代幣,然后調用_deposit函數存入LP代幣到用戶地址。但是函數并未校驗用戶傳入的_tokens和池子編號為_pid的tokens是否匹配,這就造成攻擊者能夠利用自己創建部署的惡意代幣進行后面重要操作。
3.depositByAddLiquidityInternal再內部調用addLiquidityInternal函數,該函數通過合約中LP代幣余額變化計算出需要deposit的數量。
4.其中當addLiquidityInternal函數調用到paraRouter.addLiquidity時,會調用攻擊者在預攻擊階段部署的UBT代幣合約中的transferFrom函數完成添加流動性操作。
但該惡意合約改寫transferFrom后會調用MasterChef的deposit()函數將預攻擊階段第三步獲取的LP代幣轉入masterChef中,此時的masterChef中LP余額已經變化,然后會調用_deposit函數存入LP代幣到用戶地址,此時獲取第一份LP代幣。
然后加上惡意合約的transferFrom調用deposit()時也會調用_deposit函數存入LP代幣到用戶地址,就相當于獲取了兩份LP代幣。
5.攻擊者分別調用UBT合約中的withdrawAsset函數和利用攻擊合約調用Mastechef合約中的withdraw函數提取兩份相同的LP到攻擊合約中;
6.最后移除流動性獲取31萬枚BSC-USD和31萬枚BUSD,然后歸還閃電貸完成攻擊。
3.漏洞核心
本次的攻擊主要是MasterCheif合約中的depositByAddLiquidity函數并未校驗用戶傳入的_tokens和池子編號為_pid的tokens是否一致,且外部調用時并未考慮到重入問題添加重入鎖,最終導致攻擊者能夠傳入外部惡意代幣合約進行重入攻擊。
4.總結
知道創宇區塊鏈安全實驗室在此提醒,任何有關deposit等操作都需要慎重考慮,合約審計、風控措施、應急計劃等都有必要切實落實。
Tags:PARTERPARAARASpartacatsInternet of Energy NetworkThe ParallelAmara Finance
前言 北京時間4月28日,Fantom平臺DEUS協議又一次遭到攻擊,損失約1340萬美元,知道創宇區塊鏈安全實驗室第一時間跟蹤本次事件并分析.
1900/1/1 0:00:00最近,科技、加密貨幣和風險投資領域都熱衷于討論一個流行詞匯,而且當今的對話中充滿了這個詞,甚至如果你不把它添加到你的Twitter個人簡介里,就說明你不關心未來,這個詞就是Web3.
1900/1/1 0:00:00前言 北京時間2022年4月15日,知道創宇區塊鏈安全實驗室監測到DeFi協議RikkeiFinance遭到黑客攻擊,被盜資金中已有2600枚BNB被轉入TornadoCash.
1900/1/1 0:00:00北京時間2022年4月24日下午4時33分,CertiK審計團隊監測到WienerDOGE項目被惡意利用,造成了3萬美元的損失。攻擊者利用WDODGE的收費機制和交換池之間的不一致,發起了攻擊.
1900/1/1 0:00:00游戲總是被壟斷在中心化的企業實體手中,游戲的開發商或發行商對游戲中的虛擬經濟有嚴格限制。玩家不能自由交易他們在游戲中的物品和資產,通常需要非法使用第三方平臺,依靠不安全的P2P交易來完成.
1900/1/1 0:00:00自從Facebook更名為Meta后,關于元宇宙的討論愈發激烈,這一詞匯也越來越多的出現在我們的視野里。這是一個非常有趣的話題.
1900/1/1 0:00:00