背景
在上一期 web3 安全入門避坑指南中,我們主要講解下載/購買錢包時的風險,找到真官網(wǎng)和驗證錢包真?zhèn)蔚姆椒ǎ约八借€/助記詞的泄露風險。我們常說 “not your keys, not your coins”,但也存在即使你有私鑰/助記詞,也無法控制自己資產(chǎn)的情況,即錢包被惡意多簽了。結(jié)合我們收集到的 misttrack 被盜表單,一些用戶的錢包被惡意多簽后,不明白為什么自己錢包賬戶里還有余額,卻無法把資金轉(zhuǎn)出。因此,本期我們將以 tron 錢包為例,講解多簽釣魚的相關(guān)知識,包括多簽機制、黑客的常規(guī)操作及如何避免錢包被惡意多簽等內(nèi)容。
多簽機制
我們先簡單解釋下什么是多簽,多簽機制的本意是為了使得錢包更安全,允許多個用戶共同管理和控制同一個數(shù)字資產(chǎn)錢包的訪問和使用權(quán)限。盡管部分管理者丟失或泄露了私鑰/助記詞,錢包里的資產(chǎn)也不一定會受損。
TRON 的多重簽名權(quán)限系統(tǒng)設(shè)計了三種不同的權(quán)限:Owner、Witness 和 Active,每種權(quán)限都有特定的功能和用途。
Owner 權(quán)限:
- 擁有執(zhí)行所有合約和操作的最高權(quán)限;
- 只有擁有該權(quán)限才能修改其他權(quán)限,包括添加或移除其他簽名者;
- 創(chuàng)建新賬戶后,默認為賬戶本體擁有該權(quán)限。
Witness 權(quán)限:
這個權(quán)限主要與超級代表(Super Representatives) 相關(guān),擁有該權(quán)限的賬戶能夠參與超級代表的選舉和投票,管理與超級代表相關(guān)的操作。
Active 權(quán)限:
用于日常操作,例如轉(zhuǎn)賬和調(diào)用智能合約。這個權(quán)限可以由 Owner 權(quán)限設(shè)定和修改,常用于分配給需要執(zhí)行特定任務(wù)的賬戶,它是若干授權(quán)操作(比如 TRX 轉(zhuǎn)賬、質(zhì)押資產(chǎn))的一個集合。
上文中提到,新建賬戶時,該賬戶的地址會默認擁有 Owner 權(quán)限(最高權(quán)限),可以調(diào)整賬戶的權(quán)限結(jié)構(gòu),選擇將該賬戶的權(quán)限授權(quán)給哪些地址,規(guī)定這些地址所占權(quán)重的大小,以及設(shè)置閾值。閾值是指需要簽名方權(quán)重到達多少才能執(zhí)行特定操作。在下圖中,閾值設(shè)置為 2,3 個被授權(quán)地址的權(quán)重都為 1,那么在執(zhí)行特定操作時,只要有 2 個簽名方的確認,這個操作就可以生效。
惡意多簽的過程
黑客獲取用戶私鑰/助記詞后,如果用戶沒有使用多簽機制(即該錢包賬戶僅由用戶一人控制),黑客便可以將 Owner/Active 權(quán)限也授權(quán)給自己的地址或者將用戶的 Owner/Active 權(quán)限轉(zhuǎn)移給自己,黑客的這兩種操作通常都被大家稱為惡意多簽,但其實這是一個廣義的說法,實際上,可以根據(jù)用戶是否還擁有 Owner/Active 權(quán)限來區(qū)分:
利用多簽機制
下圖中,用戶的 Owner/Active 權(quán)限未被移除,黑客給自己的地址授權(quán)了 Owner/Active 權(quán)限,此時賬戶由用戶和黑客共同控制(閾值為 2),用戶地址和黑客地址的權(quán)重都為 1。用戶雖然持有私鑰/助記詞,也有 Owner/Active 權(quán)限,但無法轉(zhuǎn)移自己的資產(chǎn),因為用戶發(fā)起轉(zhuǎn)出資產(chǎn)請求時,需要用戶和黑客的地址都簽名,這個操作才能正常執(zhí)行。
雖然被多簽的賬戶執(zhí)行轉(zhuǎn)出資產(chǎn)的操作需要多方簽名的確認才可以實現(xiàn),但是向錢包賬戶入賬是不需要多方簽名的。如果用戶沒有定期檢查賬戶權(quán)限情況的習慣或者近期沒有轉(zhuǎn)出操作的話,一般不會發(fā)現(xiàn)自己錢包賬戶的授權(quán)被更改,那么便持續(xù)受損。如果錢包內(nèi)的資產(chǎn)不多,黑客可能會放長線釣大魚,等待該賬戶積累了一定數(shù)字資產(chǎn)后,再一次性盜取所有數(shù)字資產(chǎn)。
利用TRON的權(quán)限管理設(shè)計機制
還有一種情況是黑客利用 TRON 的權(quán)限管理設(shè)計機制,直接將用戶的 Owner/Active 權(quán)限轉(zhuǎn)移給黑客地址(閾值仍為 1),使得用戶失去 Owner/Active 權(quán)限,連“投票權(quán)”都沒有了。需注意,此處黑客并不是利用多簽機制使得用戶無法轉(zhuǎn)移資產(chǎn),但大家習慣上稱這種情況也為錢包被惡意多簽。
以上就是Web3 安全入門避坑指南:錢包被惡意多簽風險的詳細內(nèi)容,更多請關(guān)注本站其它相關(guān)文章!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。