風險提示:防範以"虛擬貨幣""區塊鏈"名義進行非法集資的風險。——銀保監會等五部門
資訊
發現
搜索
登錄
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
查看行情
CertiK:Solana跨鏈橋蟲洞事件分析
CertiK
特邀专栏作者
2022-02-04 06:39
本文約2787字,閱讀全文需要約4分鐘
2月3日凌晨,Solana跨鏈橋項目蟲洞(Wormhole)遭受攻擊,本文將為你詳細揭露攻擊流程及防範措施。

北京時間2022年2月3日凌晨1點58分,Solana跨鏈橋項目蟲洞(Wormhole)遭受攻擊者發起的攻擊。黑客繞過了Solana 上的Wormhole Bridge驗證過程,並為自己鑄造了Wormhole ETH (wETH)。

二級標題

二級標題

蟲洞(Wormhole)簡介

蟲洞(Wormhole),又稱愛因斯坦-羅森橋,也譯作蛀孔。是宇宙中可能存在的連接兩個不同時空的狹窄隧道。

漏洞利用交易

漏洞利用交易

漏洞利用交易

二級標題

https://solscan.io/tx/2zCz2GgSoSS68eNJENWrYB48dMM1zmH8SZkgYneVDv2G4gRsVfwu5rNXtK5BKFxn7fSqX9BvrBc1rdPAeBEcD6Es 

二級標題

https://etherscan.io/address/0x629e7da20197a5429d30da36e77d06cdf796b71a#internaltx 

漏洞攻擊流程

步驟一:攻擊者使用假sysvar account調用“verify_signatures”函數:https://solscan.io/tx/25Zu1L2Q9uk998d5GMnX43t9u9eVBKvbVtgHndkc2GmUFed8Pu73LGW6hiDsmGXHykKUTLkvUdh4yXPdL3Jo4wVS①以偽造的“sysvar account”作為參數調用的“verify_signatures”函數:

相比之下,以下截圖是以真實的“sysvar account”作為參數的“verify_signatures”函數:

② “verify_signatures”函數從sysvar (L92) 加載當前指令。

③ 然而,函數“load_current_index”並不能驗證“sysvar account”是否真的是“system sysvar”。由於從“sysvar”中檢索到的當前指令(L92)是由攻擊者控制的,因此它可以順利通過以下驗證過程。

步驟二:攻擊者隨後使用上一步驗證的簽名調用“post_vaa”函數,並創建一個惡意消息帳戶,聲明要鑄造12萬枚wETH:https://solscan.io/tx/2SohoVoPDSdzgsGCgKQPByKQkLAXHrYmvtE7EEqwKi3qUBTGDDJ7DcfYS7YJC2f8xwKVVa6SFUpH5MZ5xcyn1BCK

① Account2 是通過“verify_signatures”指令生成的簽名集。 ② Account3 是將在“complete_wrapped”函數中使用的消息帳戶。

步驟三:攻擊者調用“complete_wrapped”函數讀取惡意消息賬戶中的數據並鑄造12萬枚wETH:https://solscan.io/tx/2zCz2GgSoSS68eNJENWrYB48dMM1zmH8SZkgYneVDv2G4gRsVfwu5rNXtK5BKFxn7fSqX9BvrBc1rdPAeBEcD6Es

① Account3 是“post_vaa”函數生成的消息賬戶。

總結

這個漏洞的根本原因是在驗證簽名過程(“verify_signatures”)中,程序使用了一個在Solana更新至1.8.0時即被廢棄的“load_current_index”函數。該函數不會驗證輸入的“sysvar account”是否真的是“system sysvar”,從而攻擊者可以趁機偽造這個關鍵帳戶。

合約漏洞分析

這個漏洞的根本原因是在驗證簽名過程(“verify_signatures”)中,程序使用了一個在Solana更新至1.8.0時即被廢棄的“load_current_index”函數。該函數不會驗證輸入的“sysvar account”是否真的是“system sysvar”,從而攻擊者可以趁機偽造這個關鍵帳戶。

總結

總結

目前,Wormhole團隊已修復漏洞並已恢復網絡。在此,CertiK給開發者提出如下幾點建議:

  • 開發者在使用外部依賴的函數時,需要對這個函數有足夠的了解。

  • 隨時關注外部依賴代碼庫的重要更新,在有重大版本變動時及時對自己的代碼庫做出相應的調整。

  • 當代碼版本更新時,也需及時進行全面審計,並將審計後的代碼及時更新到已部署上鍊的代碼中。

農曆破五將至,希望大家“破五窮”。同時也希望每一個項目在經過嚴格的審計之後上線部署從而獲得更高的安全性並減少財產損失的可能。好運從新的一年起開始不斷“循環”;安全從嚴格的審計開始,每個項目都有更好的“開端”!

迄今為止,CertiK已獲得了2500家企業客戶的認可,保護了超過3110億美元的數字資免受損失。歡迎點擊CertiK公眾號底部對話框,留言免費獲取諮詢及報價!

Solana
跨鏈
AI總結
返回頂部
2月3日凌晨,Solana跨鏈橋項目蟲洞(Wormhole)遭受攻擊,本文將為你詳細揭露攻擊流程及防範措施。
下載Odaily星球日報app
讓一部分人先讀懂 Web3.0
IOS
Android