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

熱門
主站蜘蛛池模板: 精品国产18久久久久久| 55夜色66夜色| 日本精品久久久久中文字幕| 亚洲欧美日韩在线观看| 精品久久久无码人妻中文字幕豆芽 | 成人免费视频69| 久久精品国产精油按摩| 欧美成人性视频播放| 俄罗斯一级成人毛片| 美女扒开腿让男人捅| 国产内射xxxxx在线| 乱人伦中文字幕电影| 欧美破苞合集magnet| 国产亚洲精品成人久久网站 | 日韩一级片免费| 亚洲一区二区三区在线观看网站| 毛片基地免费视频a| 免费人成无码大片在线观看| 美女和男人免费网站视频| 国产国语对白露脸正在播放| 日本a免费观看| 国产精品柏欣彤在线观看| 丰满肥臀风间由美系列| 明星ai换脸资源在线播放| 亚洲国产一区二区a毛片| 欧美视频免费在线观看| 亚洲韩国在线一卡二卡| 福利视频一二区| 又粗又长又色又爽视频| 色婷婷精品大在线视频| 国产午夜无码视频在线观看| 国产精品视频你懂的| 国产精品99久久精品爆乳| 一个人免费观看日本www视频 | 男女一边摸一边做爽爽毛片| 午夜视频在线观看视频| 色大18成网站www在线观看| 国产人妖乱国产精品人妖| 黄色软件app大全免费下载2023| 国产永久免费观看的黄网站| bt天堂在线最新版在线|