后 Safe 時代:每個 Safe 用戶都該掌握的多簽安全新范式

訪客 1個月前 (03-04) 閱讀數 778 #區塊鏈
文章標簽 前沿文章

撰文:XY

時間軸

2025 年 2 月 21 日:Bybit 多簽錢包被攻擊,15 億美金通過「合法」簽名交易流出。

鏈上追蹤:資金轉入匿名地址并分拆混幣,攻擊者與部分驗證節點存在潛在關聯。

事后分析:安全審計發現攻擊者利用 Safe 前端的供應鏈漏洞植入惡意腳本。

攻擊為什么發生

黑客利用作惡的前端代碼使 bybit 多簽錢包的簽名者確信這是一筆合法交易(例如例行的 token 轉賬),結果實際上誘導他們對非法交易進行簽名,為了阻止簽名者通過其他手段發現交易內容有問題,黑客甚至把這次攻擊偽造成一筆 transfer 交易,讓 bybit 的簽名者盡量不通過其他方式檢查交易 calldata. ( 通常把交易內容叫做 calldata)

簡而言之攻擊方式是這樣的:

黑客獲得 Safe 前端的開發者權限,修改了前端代碼,植入了針對 bybit 攻擊的惡意腳本;

bybit 多簽成員訪問了被污染的網頁,看到了假的交易信息:

他們看到的頁面: 「轉賬 100 ETH 到地址 A」

實際要求簽名的是: 「修改冷錢包邏輯」

這就像一個偷換了顯示屏的 ATM 機,屏幕顯示取 100 元,實際操作卻是取 100 萬元。

官方 APP —— 用戶的信任盲區

用戶認知中的多簽交易流程很簡單:看到交易 → 簽名 → 提交上鏈,但實際上隱含著一層關鍵的分離:

用戶看到的交易

實際簽名的交易

而使用官方 app 會讓用戶的警惕心理極大降低,以至于忽略掉這一層分離。如果官方 app 頁面被攻擊了,會導致用戶的簽名是真實的,他們只是不知道自己在此時究竟簽了什么內容。

這時如果可以有獨立渠道驗證簽名內容的真實性,就可以極大程度地杜絕前端攻擊帶來的風險。這就是區塊鏈所提倡的: Don‘t trust it, VERIFY it.

「獨立渠道驗證」的理論基石

我們先來看 Safe 合約的工作原理(截至目前,Safe 合約還是足夠安全的):

先把交易內容計算出一個哈希值(類似于生成交易的「指紋」)

用私鑰對這個哈希值進行簽名

當收集到足夠數量的簽名后,提交把交易原文和這些簽名提交到鏈上

鏈上重新根據原文計算哈希值,并驗證這些簽名是否有效,收集足夠的有效交易則執行,否則則拒絕。

哈希和簽名的安全和難偽造的屬性是區塊鏈 work 的兩大基石,不用懷疑。

因此,如果有獨立渠道可以在交易被提交上鏈之前,可以得到交易原文以及簽名,就可以驗證「用戶簽名的交易到底是什么」以及「用戶是不是對這筆交易進行的簽名」。

因此,即使前端或后端被攻擊,最壞的情況只是返回錯誤數據,而錯誤數據在「獨立渠道」會產生以下幾種情況:

錯誤交易原文,錯誤簽名——用戶拒絕發送交易上鏈

錯誤交易原文,有效簽名——用戶拒絕發送交易上鏈

錯誤交易原文,錯誤簽名——用戶拒絕發送交易上鏈

我們可以看到最壞的情況也只是這筆交易不會被發送上鏈,除此之外,不會造成任何的鏈上損失。所以針對類似這種「顯示攻擊」最好的方式就是多渠道驗證,這也符合區塊鏈的精神:don't trust it, VERIFY it.

現有的解決方案

多個多簽產品相互驗證

目前市場上有很多 safe-compatible 的多簽產品,例如 Safe 自己就部署了兩版獨立的前端頁面:

https://eternalsafe.vercel.app/welcome/

https://eternalsafe.eth.limo/welcome/

用戶在對一筆多簽交易簽名之后,自己或者后續的簽名者登錄到另一個多簽產品的頁面中,再次查看交易原文,如果不同多簽產品顯示完全相同的交易內容解析,則可以相信「自己要簽名的交易內容」是正確的。

但是這需要不同的多簽產品都在使用{Safe}的后端存儲鏈下交易和簽名數據并且也會把自己收集到的簽名數據發送給{Safe}后端,這對產品之間的協作要求非常苛刻;而且 Safe 對一些不常規交易的原文解析并不友好,就算多個 Safe 前端顯示了同樣的 calldata,但是如果只是一串沒有意義 0xabcdefsf,也會讓簽名者望而卻步。

注:目前 Safe 提供的兩個獨立的替代網站均需自己提供 RPC 鏈接:

獨立的 Safe 交易驗證工具

對于 Safe 前端攻擊事件,社區的反應也很快,我們在 Safe 官方的 telegram 群里發現已經有人提供了獨立的 Safe 交易解析工具,這種方式看起來更加簡單直接。

我們也對這個工具進行的驗證。如圖,只需要把 safe 頁面里的交易分享鏈接粘貼進來,就可以自動讀取 Safe 后端數據,并獨立驗證交易原文的哈希值和簽名的正確性,簡而言之如果確定圖中的 calldata 解析是自己想要的交易,并且「SafeHash Check」和「Signature Check」驗證通過,就可以認為「這是自己想發送的交易」并且「自己已經正確簽名」了。

當然為了保險起見,也要再仔細核對 Safe Address, 通過簽名解析出的簽名者地址、交互的合約地址以及操作類型是 Call 還是 Delegatecall,例如 bybit 這次被攻擊的交易就是 delegatecall 和 transfer 同時出現,一個稍有經驗的開發者都會知道這樣的組合非常奇怪。

如果遇到不可讀的交易信息:

可以點擊 Decode,提供該交易方法的 ABI,如:

就可以展示可讀的交易信息:

Stay Safe - VERIFY, not trust

Bybit 的多簽攻擊再次提醒我們,前端信任并不等于交易安全。即便使用的是官方應用,交易內容依然可能被篡改,簽名者必須有獨立的方式來驗證自己簽署的內容。

不要輕信,務必驗證(Don't trust it, VERIFY it.)是 Web3 安全的核心原則。希望未來 Safe 生態和更多多簽產品能加強獨立驗簽機制,避免類似攻擊再次發生。

熱門
主站蜘蛛池模板: 久久久91精品国产一区二区 | 久久久久亚洲av无码专区喷水| 欧美日韩在线免费| 午夜不卡av免费| 西西www人体高清视频在线观看| 国产精品亚洲欧美日韩一区在线| aaa免费毛片| 宅男66lu国产在线观看| 久久久久亚洲精品天堂| 极品欧美jiizzhd欧美| 亚洲成a人片在线观看久| 男人添女人下部全视频| 又粗又硬又黄又爽的免费视频| 青春禁区视频在线观看8下载| 国产极品视觉盛宴| 1300部真实小u女视频在线| 夜夜躁日日躁狠狠久久| 一个人看的www片免费| 成人窝窝午夜看片| 久久久久亚洲av无码专区蜜芽| 日韩欧美中文字幕在线视频| 亚洲人成网国产最新在线| 欧美精品va在线观看| 人人妻人人爽人人澡欧美一区| 精品久久人人妻人人做精品 | 北条麻妃一区二区三区av高清 | 女人十八进入一及黄特别片| 中国在线观看免费的www| 日本一道在线日本一道高清不卡免费| 五月婷婷狠狠干| 欧美一级做一级爱a做片性| 亚洲欧洲自拍拍偷午夜色无码| 狠狠操视频网站| 免费国产综合视频在线看| 精品无码成人片一区二区98| 国产91在线看| 色综合天天综合网国产成人网| 国产午夜精品一二区理论影院 | 爱情岛论坛免费视频| 免费不卡中文字幕在线| 精品乱码久久久久久久|