撰文:慢霧安全團隊

背景

在上一期 Web3 安全入門避坑指南中,我們主要講解下載 / 購買錢包時的風險,找到真官網和驗證錢包真僞的方法,以及私鑰 / 助記詞的泄露風險。我們常說「Not your keys, not your coins」,但也存在即使你有私鑰 / 助記詞,也無法控制自己資產的情況,即錢包被惡意多簽了。結合我們收集到的 MistTrack 被盜表單,一些用戶的錢包被惡意多籤後,不明白爲什麼自己錢包賬戶裏還有餘額,卻無法把資金轉出。因此,本期我們將以 TRON 錢包爲例,講解多籤釣魚的相關知識,包括多籤機制、黑客的常規操作及如何避免錢包被惡意多籤等內容。

多籤機制

我們先簡單解釋下什麼是多籤,多籤機制的本意是爲了使得錢包更安全,允許多個用戶共同管理和控制同一個數字資產錢包的訪問和使用權限。儘管部分管理者丟失或泄露了私鑰 / 助記詞,錢包裏的資產也不一定會受損。

TRON 的多重簽名權限系統設計了三種不同的權限:Owner、Witness 和 Active,每種權限都有特定的功能和用途。

Owner 權限:

  • 擁有執行所有合約和操作的最高權限;

  • 只有擁有該權限才能修改其他權限,包括添加或移除其他簽名者;

  • 創建新賬戶後,默認爲賬戶本體擁有該權限。

Witness 權限:

這個權限主要與超級代表 (Super Representatives) 相關,擁有該權限的賬戶能夠參與超級代表的選舉和投票,管理與超級代表相關的操作。

Active 權限:

用於日常操作,例如轉賬和調用智能合約。這個權限可以由 Owner 權限設定和修改,常用於分配給需要執行特定任務的賬戶,它是若干授權操作(比如 TRX 轉賬、質押資產)的一個集合。

上文中提到,新建賬戶時,該賬戶的地址會默認擁有 Owner 權限(最高權限),可以調整賬戶的權限結構,選擇將該賬戶的權限授權給哪些地址,規定這些地址所佔權重的大小,以及設置閾值。閾值是指需要簽名方權重到達多少才能執行特定操作。在下圖中,閾值設置爲 2,3 個被授權地址的權重都爲 1,那麼在執行特定操作時,只要有 2 個簽名方的確認,這個操作就可以生效。

(https://support.tronscan.org/hc/article_attachments/29939335264665)

惡意多籤的過程

黑客獲取用戶私鑰 / 助記詞後,如果用戶沒有使用多籤機制(即該錢包賬戶僅由用戶一人控制),黑客便可以將 Owner/Active 權限也授權給自己的地址或者將用戶的 Owner/Active 權限轉移給自己,黑客的這兩種操作通常都被大家稱爲惡意多籤,但其實這是一個廣義的說法,實際上,可以根據用戶是否還擁有 Owner/Active 權限來區分:

利用多籤機制

下圖中,用戶的 Owner/Active 權限未被移除,黑客給自己的地址授權了 Owner/Active 權限,此時賬戶由用戶和黑客共同控制(閾值爲 2),用戶地址和黑客地址的權重都爲 1。用戶雖然持有私鑰 / 助記詞,也有 Owner/Active 權限,但無法轉移自己的資產,因爲用戶發起轉出資產請求時,需要用戶和黑客的地址都簽名,這個操作才能正常執行。

雖然被多籤的賬戶執行轉出資產的操作需要多方簽名的確認纔可以實現,但是向錢包賬戶入賬是不需要多方簽名的。如果用戶沒有定期檢查賬戶權限情況的習慣或者近期沒有轉出操作的話,一般不會發現自己錢包賬戶的授權被更改,那麼便持續受損。如果錢包內的資產不多,黑客可能會放長線釣大魚,等待該賬戶積累了一定數字資產後,再一次性盜取所有數字資產。

利用 TRON 的權限管理設計機制

還有一種情況是黑客利用 TRON 的權限管理設計機制,直接將用戶的 Owner/Active 權限轉移給黑客地址(閾值仍爲 1),使得用戶失去 Owner/Active 權限,連「投票權」都沒有了。需注意,此處黑客並不是利用多籤機制使得用戶無法轉移資產,但大家習慣上稱這種情況也爲錢包被惡意多籤。

以上兩種情況造成的結果是一樣的,無論用戶是否還擁有 Owner/Active 權限,都失去了對該賬戶的實際控制權,黑客地址獲得了賬戶的最高權限,可實現更改賬戶權限、轉移資產等操作。

惡意多籤的途徑

結合 MistTrack 收集到的被盜表單,我們總結出了幾種錢包被惡意多籤的常見原因,希望用戶遇到以下幾種情況時,提高警惕:

1. 在下載錢包時,未能找到正確的途徑,點擊了電報、推特、網友發送的假官網鏈接,下載到假錢包,結果私鑰 / 助記詞泄露,錢包被惡意多籤。

2. 用戶在一些出售加油卡、禮品卡、VPN 服務的釣魚充值網站輸入了私鑰 / 助記詞,結果失去自己錢包賬戶的控制權。

3. OTC 交易時,被有心之人拍到私鑰 / 助記詞或以某手段獲取賬戶的授權,隨後錢包被惡意多籤,資產受損。

4. 一些騙子把私鑰 / 助記詞提供給你,稱他無法提取錢包賬戶裏的資產,如果你能幫忙的話可以給你酬勞。雖然這個私鑰 / 助記詞對應的錢包地址確實存在資金,但無論你給多少手續費、手速多快都提不走,因爲提幣權限被騙子配置給了另一個地址。

5. 還有一種較爲少見的情況是用戶在 TRON 上點擊了釣魚鏈接,簽名了惡意的數據,隨後錢包被惡意多籤。

總結

在本期指南中,我們主要以 TRON 錢包爲例,講解了多籤機制、黑客實施惡意多籤的過程和套路,希望幫助大家加深對多籤機制的理解和提高防範錢包被惡意多籤的能力。當然,除了被惡意多籤的情形之外,還存在一些比較特別的案例,有的新手用戶可能因操作不慎或缺乏瞭解,誤將錢包設置成了多籤,導致需要多個簽名才能進行轉賬。此時,用戶僅需滿足多籤要求或在權限管理處將 Owner/Active 權限只授權給一個地址,恢復單籤即可。

最後,慢霧安全團隊建議廣大用戶定期檢查賬戶權限,查看是否有異常;從官方途徑下載錢包,我們在 Web3 安全入門避坑指南|假錢包與私鑰助記詞泄露風險裏講過如何找到正確的官網和驗證錢包的真僞;不點擊不明鏈接,更不輕易輸入私鑰 / 助記詞;安裝殺毒軟件(如卡巴斯基、AVG 等)和釣魚風險阻斷插件(如 Scam Sniffer),提高設備安全性。