后 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 生態和更多多簽產品能加強獨立驗簽機制,避免類似攻擊再次發生。

熱門
主站蜘蛛池模板: www羞羞动漫网在线观看| 亚洲变态另类一区二区三区| 色噜噜狠狠色综合日日| 国产精品免费一区二区三区| a级成人毛片久久| 成人精品一区二区电影| 久久机热re这里只有精品15| 欧美亚洲国产第一页草草| 亚洲综合在线一区二区三区| 精品午夜福利1000在线观看| 国产一区二区三区精品视频| 国产精品喷水在线观看| 国产精品冒白浆免费视频| 99re热这里只有精品| 色噜噜在线观看| 日韩午夜视频在线观看 | 91黑丝国产线观看免费| 好紧好爽太大了h视频| 中文字幕视频不卡| 日韩一区二区三| 五月天婷婷伊人| 欧美又粗又大又硬又长又爽视频 | 乱系列中文字幕在线视频| 国模无码一区二区三区| eeuss免费影院| 好男人资源视频在线播放| 中文字幕乱码第一页| 日本h无羞动漫在线观看网站| 久久精品国产精品国产精品污| 欧美人与zoxxxx另类| 亚洲成A人片在线观看无码| 激情内射亚州一区二区三区爱妻| 免费播放美女一级毛片| 精品国产人成亚洲区| 台湾无码一区二区| 色哟哟国产精品免费观看| 国产传媒在线观看| 香蕉在线精品视频在线观看6| 国产日韩欧美一区二区三区视频| youjizz欧美| 国产精品久久香蕉免费播放|