2023年7月1日,一名攻擊者利用Poly Network的漏洞,在多條鏈上增發了價值420億美元的資產。儘管發行的資產數量龐大,但因低流動性和部分項目代幣凍結,攻擊者無法從5個外部賬戶地址獲取超過1000萬美元的資產。
這是今年發生的第一起跨鏈橋攻擊事件,也是針對Poly Network發起的第二次攻擊。去年攻擊事件的總損失金額達37億美元,其中跨鏈橋攻擊損失佔35%。雖然本次事件看似是有史以來涉案金額最大的漏洞攻擊事件,但黑客的實際收益要低很多。
事件摘要
2023年7月1日北京時間14:47,一名惡意行為者通過發起數筆跨鏈橋交易,將資產從Poly Network的Lock Proxy合約轉至攻擊者的地址。從賬面上看,攻擊者從10條鏈上獲利超420億美元價值的資產。
圖片:Poly Network 攻擊者錢包地址。來源:Debank
但其實這個數字具有誤導性。例如,攻擊者在Metis區塊鏈上持有超過340億美元的Poly-pegged BNB和BUSD,但這些代幣因缺乏流動性而無法賣出。後來Metis也在推文中確認,那些新鑄造的BNB和BUSD沒有可用的流動性,因此毫無價值。
同樣,大量剩餘的代幣也變得一文不值。在聽說了這一事件和攻擊者發行的代幣後,幾個項目均及時採取了刪除流動性的行動,以防止代幣傾銷和價格崩潰。例如,OpenOcean、StackOS、Revomon和NEST都取消了項目的流動性,以防止攻擊者出售。
Revomon推特
儘管420億美元的數字並不能準確反映這次事件所造成的損失,但CertiK已證實至少有1000萬美元的資產被存放在5個以太坊錢包中。
跨鏈橋漏洞
2022年,影響跨鏈橋的安全事件導致了13億美元的經濟損失,而這13億美元僅僅是由五起事件造成的,因此跨鏈橋安全漏洞的破壞力可見一斑。保護跨鏈橋難度較高,再加上它們所具有巨大價值和各種可被利用的攻擊路徑,這些基礎設施往往是惡意行為者的首選目標。跨鏈橋由託管人、發債人、預言機等多種部分組成。由於鎖定在橋上的資金數量龐大,任何錯誤配置、漏洞或惡意利用都可導致重大損失。
攻擊流程
Poly Network使用“鎖定”(Lock)和“解鎖”(Unlock)函數在不同網絡之間橋接資產。用戶必須先在源鏈上“鎖定”代幣,然後才能在目標鏈上進行“解鎖”。
以下示例是基於從BSC到ETH的跨鏈轉移。
①攻擊者首先在BSC網絡上調用Lock函數,以發起少量8PAY代幣的跨鏈轉移。
圖片:攻擊者使用少量的8PAY代幣發起跨鏈轉移。來源:Etherscan
在這筆交易中,數據被指定為“0x4a14feea0bdd3d07eb6fe305938878c0cadbfa16904214e0afadad1d93704761c8550f21a53de3468ba599e80300000000000000000000000000”開頭“0x4a”四個字節代表數據長度。
②攻擊者調用了EthCrossChainManager.verifyHeaderAndExecuteTx()函數,觸發了相應的UnlockEvent“解鎖”函數。我們可以從開頭表示數據長度的4個字節看出,當前的交易數據已發生改變。
“0x14feea0bdd3d07eb6fe305938878c0cadbfa16904214e0afadad1d93704761c8550f21a53de3468ba59900e00fc80b54905e35ca0d000000000000000000000000000000000000000000“
在這筆交易中,8pay代幣的數量顯著增加。
③攻擊者按照上述步驟重複了這一過程。其中涉及57種代幣,且分佈在11個不同的區塊鏈上。攻擊者從中獲利約420億美元的資產(按賬面價值計算)。
圖片:Poly Network攻擊者在以太坊上解鎖的代幣。來源: Etherscan
資產追踪
在以太坊網絡上,攻擊者成功將一些代幣轉換成了ETH。過程如下:
在攻擊期間,攻擊者還通過一筆交易轉移了1592枚ETH(約305萬美元),並將2240枚ETH分別轉至3個EOA外部賬戶。此外,攻擊者還獲取約301萬枚USDC和265萬枚USDT,分別兌換為1557枚和1371枚ETH。
攻擊者將剩餘的部分代幣資產轉移到了新的EOA地址,並向每個地址轉移1枚ETH。 (儘管他們目前尚未兌出這些代幣)。由於項目所有者為防止拋售而從代幣中移除流動性,一些代幣變得毫無價值。截至目前,攻擊者似乎只能從該事件中獲得約1000萬美元的資金。
圖片:Poly Network攻擊者將資產和數量為1的ETH轉入新的EOA地址
寫在最後
2022年,Web3.0生態系統經歷了跨鏈橋攻擊的毀滅性影響,Ronin Bridge、Wormhole、Nomad等項目都遭受了安全事件的影響。 Poly Network事件的初期檢測結果顯示,這是Web生態系統迄今為止遭遇的最大安全事件,但由於新鑄造代幣缺乏流動性支持,損失在撰寫本文時已被控制在大約1000萬美元。目前尚無關於攻擊者如何利用Poly Network的確切共識。然而初步跡象表明,因鏈上功能運行正常,很可能是私鑰洩露或鏈下漏洞導致。