提防 Blockchain 的 Private key 爆破攻擊之建議
你即將收到巨額加密貨幣,如何部署?
假設你已經了解了 Wallet 和 Address 的基本知識,接下來就應該考慮如何保護它們。本文將從攻方的角度出發,提供實用的建議,幫助你有效保護你的區塊鏈資產。
關鍵概念:攻防思維
當你作為守方,你要考慮的是攻方會如何令你損失資產。而思考攻方如何令守方損失的最佳方法,就是考慮守方如何保護資產。這就是「道高一尺,魔高一丈」的安全思維方式。
基本問題:一般人如何建立 Address?
答案:先用 Wallet 建立助記詞(Mnemonic Phrase),再由 Wallet 轉換成 Address。這個過程看似簡單,但其中存在著安全漏洞。
安全漏洞分析
如果守方用的助記詞不多於21字,能提供的組合數量會少於 Private key。即使是最熱門的Metamask wallet,早期也只是預設用12字助記詞。一般人認為每條助記詞只能產生一條地址,但對有技術的攻方而言,這代表大多數人不懂得改變 Derivation Path(導出路徑)。
結論:能大幅減少需要破解的組合,最終能破解的 Address 數量亦不會減少太多。因此作為守方,我們最起碼應該使用不少於24字的助記詞。
保護區塊鏈資產的建議
以下是根據不同技術水平的用戶,提供的具體建議及其原因。這些建議涵蓋了從基本到高級的安全措施,幫助你根據自己的技術水平選擇最合適的安全策略。
基礎級別
必須備份助記詞
如果你沒有備份助記詞,一旦你的 wallet 故障就會失去其控制權及裏面的區塊鏈資產。助記詞是恢復 wallet 的唯一途徑。
助記詞之載體不應連上網絡
一般人都是用明文備份助記詞,如果該載體連上網絡,而且被駭客入侵,攻擊者就有能力輕易盜取你的區塊鏈資產。建議使用離線儲存介質(如紙質備份)。
新手級別
承上所有基礎建議
這些建議是新手也應該遵循的
使用硬件錢包
硬件錢包需要多個簽名才能進行交易,即使攻擊者獲得一個 Private key,也無法單獨控制資金。例如,你可以使用 Ledger 或 Trezor 這樣的硬件錢包,並設置多個簽名者,包括硬件錢包和軟件錢包。
使用 24 字助記詞
使用 24 字助記詞(BIP39 標準)來備份你的錢包。這些助記詞可以用來恢復你的錢包,並確保你的資金安全。請妥善保管這些助記詞,並不要在網路上分享或存儲在線上。
中級級別
承上所有新手建議
這些建議是中級用戶也應該遵循的
備份 Derivation Path
一般加密貨幣用戶都不知道單憑助記詞並不能做到備份 Wallet 之效果,到現在都未有災情純粹是因為大部分 Wallet 都使用預設值,但預設值會因應情況改變。例如,如果你使用的是非標準的 Derivation Path,你需要記錄這些信息以便恢復 Wallet。建議使用 m/44'/60'/0'/0/0 這樣的標準路徑,並記錄你使用的任何自定義路徑。
不要將所有區塊鏈資產都放到同一 Address
任何 Address 都可能已被破解,也可能在任何時候被破解。這樣做能夠減少每次不幸被破解時的損失。建議使用多個 Address,並定期輪換使用。例如,你可以為每筆交易使用不同的 Address,或者定期創建新的 Address 來替換舊的 Address。
使用多簽錢包
EVM鏈的多簽錢包屬於智能合約。如果攻擊者破解出的 Address 屬於智能合約,就無法控制該 Wallet。多簽錢包需要多個簽名才能進行交易,即使攻擊者獲得一個 Private key,也無法單獨控制資金。例如,你可以使用 Gnosis Safe 這樣的多簽錢包,並設置多個簽名者,包括硬件錢包和軟件錢包。
多簽錢包的最少有一個簽名者屬於硬件錢包
雖然多簽錢包比較安全,但同時亦比較麻煩。保留最少一個簽名者屬硬件錢包是為了在安全和方便取得平衡。這樣即使其他簽名者的軟件錢包被駭客入侵,你仍然可以使用硬件錢包來批准交易。例如,你可以設置一個 2-of-3 多簽錢包,其中兩個簽名者是軟件錢包,一個簽名者是硬件錢包。
高手級別
承上所有中級建議
這些建議是高級用戶也應該遵循的
多簽錢包的最少一個簽名者之任何資訊皆不公開
任何曾經收發區塊鏈資產的 Address 都可能成為攻擊者的目標,因此請不要暴露所有 Address 到區塊鏈。這個簽名者可以用於多簽錢包的簽名,但不需要公開任何資訊。例如,你可以使用一個離線的硬件簽名者,並將其 Private key 存儲在完全離線的環境中,只在需要時連接到電腦進行簽名。
每條 Address 都只使用一次
基於 Bitcoin 的機制,任何 Address 發起鏈上操作時都會暴露其 Public key,暴露的 Public key 可以縮減攻擊者破解該 Address 之時間。在 Bitcoin 中,每次你使用一個新的 Address 來接收或發送交易時,該 Address 的 Public key 就會被公開到區塊鏈上。因此,建議每次使用新的 Address,並永遠不再使用舊的 Address。這樣可以防止攻擊者通過分析你的交易歷史來推斷你的 Private key。注意:這種方法不適用於 EVM 鏈,因為 EVM 鏈的 Address 使用的是 EOA(Externally Owned Account)機制,其 Public key 不會直接公開到鏈上。
超高手級別
不要使用助記詞,改用 Private key
Wallet 破解當中有2大流派:助記詞破解及 Private key 破解。如果攻擊者是破解助記詞就會有部份 Private key 位於盲區而避過一劫。注意:這種方法需要更高的安全意識和操作技巧。
額外建議
除了上述的安全建議,以下是一些額外的實用建議,幫助你進一步提升區塊鏈資產的安全性:
定期更新軟件
定期更新你的 Wallet 軟件和操作系統,以確保你有最新的安全更新。許多安全漏洞可以通過更新來修復,這是保護你的系統免受攻擊的第一道防線。
使用強密碼
如果你的 Wallet 軟件需要設置密碼(例如 Metamask 的密碼保護),請使用強密碼。強密碼應該包含大小寫字母、數字和特殊字符,並至少8個字符長度。避免使用常見的單詞或短語作為密碼,這些容易被猜測或通過暴力破解攻擊。
啟用雙重認證
如果你的加密貨幣交易所支援雙重認證(例如 Google 驗證碼或電子郵件認證),請啟用它。雙重認證可以額外保護你的帳戶,即使攻擊者獲得了你的密碼,他們仍然需要通過雙重認證來訪問你的帳戶。
監控交易活動
定期檢查你的 Wallet 和交易歷史,確保沒有可疑的交易活動。如果你發現任何未經授權的交易,請立即採取行動,例如撤銷交易、更改密碼或聯繫客戶服務員。早期發現問題可以最大限度減少損失。
備份重要資料
除了備份助記詞,還應該備份其他重要資料,例如 Wallet 的配置文件、助記詞/私鑰的備份、交易記錄等。備份應該存儲在多個離線位置,以防止單一故障點導致資料丟失。例如,你可以將備份存儲在 USB 驅動器、外接硬碟或紙質備份中。
教育和意識
持續學習區塊鏈安全的最新趨勢。參加相關的社區討論、網絡研討會或課程,以提升你的安全意識。了解攻擊者的最新技術和工具,可以幫助你更好地保護你的資產。例如,你可以關注常見的攻擊類型,如釣魚攻擊、惡意軟件攻擊、社交工程攻擊等,並學習如何識別和防範這些攻擊。
結語
保護你的區塊鏈資產需要綜合多種安全措施。從基本的助記詞備份到高級的多簽錢包和一次性地址,每一層安全措施都能夠增強你的整體安全性。根據你的技術水平和資產規模,選擇適合的安全策略,並定期審查和更新你的安全措施。
安全不是一成不變的。隨著新的攻擊方法和技術的出現,你需要不斷地更新你的安全知識和實踐。通過持續學習和實踐,你可以更好地保護你的區塊鏈資產免受不斷演進的網絡威脅。
最後,提醒你:在區塊鏈世界中,你的資產安全最終取決於你的知識和警覺。通過採用這些安全建議,你可以大大降低資產被盜的風險,並更加放心地參與區塊鏈經濟活動。