header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

2000萬OP被盜背後安全警惕:任何多籤錢包使用者都可能會犯的錯誤

閱讀本文需 6 分鐘
普通用戶錢包與智能合約錢包在訪問EVM地址的不同,不是第一次也不會是最後一次發生錯誤

原文作者:Kelvin Fichter,以太坊開發者


6 月 9 日,Optimism 在社交媒體上公佈,由於與加密貨幣做市商 Wintermute 合作過程中的溝通與技術失誤,目前已有 2000 萬枚 OP 被黑客控制。起初,由 Optimism 基金會向 Wintermute 發送 2000 萬枚 OP 用於做市,而後 Wintermute 發現其提供的接收地址是 Layer1 地址,在 Wintermute 將其轉向 Layer2 前,攻擊者已搶先使用不同的初始化參數將其部署。截至目前,黑客已拋售約 100 萬枚被盜 OP。


對此事件,以太坊開發者 Kelvin Fichter 解釋了漏洞被攻擊的原因,他表示,智能合約賬戶與EOA不同,普通EOA用戶可以訪問任意EVM鏈的賬戶,但智能合約賬戶不能。以下文字整理於Kelvin Fichter在社交媒體的發言。


需要說明,此事件不是 Optimism 或 Gnosis Safe 中任何漏洞的結果,而是源於在舊版本的 Gnosis Safe 中做出的(合理的)安全假設。


舊版本的 Gnosis Safe 工廠合約是通過沒有鏈 ID(非 EIP-155 交易)的交易部署的。這意味着可以在以太坊以外的鏈上重置這些交易。在某些方面,這真的很有用。這意味着可以將同一工廠部署到每條鏈上同一地址上。正如現在工廠被部署到 Optimism。


不幸的是,在使用這個較舊的工廠合約時,Gnosis Safe UI 有時會使用 createProxy 函數,該函數通過 CREATE 而不是 CREATE2 創建多重簽名。與 CREATE2 不同,通過 CREATE 創建的合約地址不是基於用於創建合約的代碼,而僅基於創建者地址的 nonce。這意味着攻擊者可以將舊的 Safe 工廠部署到 Optimism 並開始重新觸發 createProxy 函數以在 L2 上創建多重簽名。



但是,由於 createProxy 使用 CREATE 而不是 CREATE2,因此攻擊者能夠初始化這些多重簽名,從而使它們歸攻擊者所有。


用戶通常假設他們可以在以太坊上訪問的任何帳戶也可以在其他基於 EVM 的鏈上訪問。對於EOA 賬戶(也稱爲非合約賬戶),這通常是正確的。但這不一定適用於智能合約賬戶。可以使用完全不同的代碼在不同鏈上的相同地址創建合約,從而產生完全不同的所有者。


像這樣的誤解會在現實世界中產生嚴重的後果。上週,Wintermute 接受了 2000 萬個 OP 代幣的貸款,借給他們認爲可以在 L2 上訪問的 L1 多重簽名錢包。這個 L2 地址是攻擊者後來部署的多重簽名之一。


這些是多鏈世界的成長之痛。很不幸,但它強調了爲多鏈用戶設計系統的重要性。CREATE2 和確定性部署至關重要,尤其是對於合約錢包。


如果你在以太坊上使用多重簽名錢包,我強烈建議你花時間瞭解錢包的安全屬性,以及你是否會在以太坊以外的鏈上控制該錢包。


原文鏈接


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交