加密貨幣潛藏許多駭客風險,本文說明如何安全管理加密資產,並避免碰到駭客事件。本文源自 INSIGHTFUL 文章,由 深潮 TechFlow 整理、編譯及撰稿。
(前情提要: 巴黎奧運爆大規模網攻!羅浮宮等40博物館,遭駭客勒索加密貨幣贖金)
(背景補充: 北韓駭客長這樣!FBI全球通緝「懸賞金千萬鎂」涉全球比特幣勒索資助金正恩)
本指南無法保證任何內容,並不是從「加密或網路安全專家」的角度編寫的,而是基於多個來源和個人經驗的不斷學習成果。
例如,我自己在剛進入這個領域時就曾因害怕錯過(FOMO)和貪婪而受騙(假直播詐騙和假 MEV 機器人詐騙),因此我花時間認真學習、設定和理解安全性。
不要成為那個因為失去一切或大量資產而被迫學習安全的人。
駭客攻擊還是使用者錯誤?
所有類型的錢包、代幣或 NFT 的「駭客攻擊」或妥協大致可分為兩類:
- 濫用先前授予的代幣批准。
- 私鑰或助記詞洩露(通常發生在熱錢包上)。
代幣批准
代幣批准實際上是允許智慧合約訪問並移動您錢包中特定型別或數量的代幣的許可權。
例如:
- 給予 OpenSea 許可權以移動您的 NFT,以便您可以出售它。
- 給予 Uniswap 許可權以使用您的代幣進行交換。
作為背景資訊,基本上以太坊網路上的一切,除了 ETH,都是 ERC-20 代幣。
ERC-20 代幣的一個特性是能夠授予其他智慧合約批准許可權。
如果您想進行核心 DeFi 互動(如交換或橋接代幣),這些批准在某個時候是必需的。
NFT 分別是 ERC-721 和 ERC-1155 代幣;它們的批准機制與 ERC-20 類似,但適用於 NFT 市場。
MetaMask (MM) 的初始代幣批准提示提供了幾條資訊,其中最相關的是:
- 您正在授予批准的代幣
- 您正在與之互動的網站
- 您正在與之互動的智慧合約
- 編輯代幣許可權數量的能力
在完整詳情下拉選單中,我們看到一個額外的資訊:批准功能。
所有 ERC-20 代幣必須具有 ERC-20 標準所概述的某些特性和屬性。
其中之一是智慧合約可以根據批准的數量移動代幣的能力。
這些批准的危險在於,如果您將代幣許可權授予惡意智慧合約,您的資產可能會被盜或耗盡。
無限制與自定義限制批准(ERC-20 代幣)
許多 DeFi 應用預設會提示您對 ERC-20 代幣進行無限制批准。
這樣做是為了改善使用者體驗,因為它更方便,不需要未來可能的額外批准,從而節省時間和 gas 費用。
為什麼這很重要?
允許對無限數量的代幣進行批准可能會讓您的資金面臨風險。
手動將代幣批准設定為特定數量,可以限制該 dApp 在未簽署新的更大額度批准之前,能夠移動的代幣最大數量。
這樣可以降低您在智慧合約被利用時的風險。如果您對某個 dApp 授予了無限制的批准,而該 dApp 出現漏洞,您可能會失去所有已批准的代幣,這些代幣來自持有這些資產並授予該批准的錢包。
例如,Multichain WETH(WETH 是 ETH 的 ERC-20 代幣包裝)就曾遭遇過這樣的漏洞。
這個常用的跨鏈橋因濫用以前的無限制代幣許可權而被攻擊,導致使用者資金被盜。
下面是一個示例(使用 Zerion 錢包),展示如何將預設的無限制批准更改為手動批准。
NFT 批准
「setApprovalForAll」用於 NFT
這是一個常用但潛在危險的批准,通常在您想出售 NFT 時授予值得信賴的 NFT 市場。
這使得市場的智慧合約能夠轉移您的 NFT。因此,當您將 NFT 出售給買家時,市場的智慧合約可以自動將 NFT 移動到買家那裡。
此批准授予對特定集合或合約地址的所有 NFT 代幣的訪問許可權。
這也可能被惡意網站或合約用來竊取您的 NFT。
惡意行為者濫用「setApprovalForAll」的示例
經典的「錢包帳戶縮水」在 FOMO 免費鑄造的情況下是這樣的:
- 使用者前往一個他們認為是合法的惡意網站。
- 當他們將錢包連線到網站時,網站只能檢視錢包的內容。
- 然而,惡意網站會掃描錢包中最高價值的 NFT,並提示使用者從 MetaMask 對該 NFT 的合約地址進行「設定所有批准」。
- 使用者以為自己在鑄造 NFT,實際上卻是在授予惡意合約移動這些代幣的許可權。
- 隨後,騙子盜取代幣,並在物品被標記為被盜之前,將其清算到 OpenSea 或 Blur 的出價中。
簽名與批准
批准需要支付 gas 費,因為它們涉及交易處理。
簽名則無需 gas ,通常用於登入 dApp,以證明您對該錢包的控制權。
簽名通常是低風險的操作,但仍可能被用來利用先前授予的對像 OpenSea 這樣的可信網站的批准。
對於 ERC-20 代幣,您還可以通過無 gas 的簽名修改您的批准,因為最近在以太坊上引入了允許功能。
如果您使用像 1inch 這樣的去中心化交易所(DEX),可以看到這一點。
代幣批准要點
在給予任何批准時要謹慎,確保您知道自己在批准哪些代幣以及對哪個智慧合約(可利用 etherscan)。
限制您的批准風險:
- 使用多個錢包(批准是特定於錢包的)—— 不要對您的保險庫或高價值錢包簽署批准。
- 理想情況下,減少或完全避免對 ERC-20 代幣授予無限制批准。
- 定期通過 etherscan 或 revoke.cash 檢查和撤銷批准。
硬體 / 冷錢包
熱錢包通過您的電腦或手機連線到網際網路,金鑰和錢包憑證線上或本地儲存在您的瀏覽器中。
冷錢包是硬體裝置,金鑰在完全離線的狀態下生成和儲存,並且物理上靠近您。
考慮到一個 Ledger 的價格大約為 $120,如果您有超過 $1000 的加密資產,您可能應該購買並設定一個 Ledger。您可以將 Ledger 錢包連線到您的 MetaMask (MM),以便在保持一定安全性的同時享有與其他熱錢包相同的功能。
Ledger 和 Trezor 是最受歡迎的選擇。我喜歡 Ledger,因為它與瀏覽器錢包(類似於 Rabby 和 MM)的相容性最好。
購買 Ledger 時的最佳實踐
始終從官方製造商網站購買,切勿在 Ebay 或 Amazon 上購買 —— 可能會被篡改或預裝惡意軟體。
確保您收到物品時包裝是密封的。
第一次設定 Ledger 時,它會生成一個助記詞。
只能將助記詞寫在物理紙上,或者在未來將其寫在鋼板上,以確保您的助記詞短語防火防水。
絕不要拍攝或在任何鍵盤(包括手機)上輸入助記詞 —— 這會將助記詞數位化,您的冷錢包將變成不安全的熱錢包。
加密資產並不是儲存在硬體錢包上,而是「在」由助記詞短語生成的錢包中。
助記詞短語(12-24 個單詞)是所有的一切,必須不惜一切代價保護和安全。
它提供對所有在該助記詞短語下生成的錢包的完全控制和訪問許可權。
助記詞不是特定於裝置的,您可以將其「匯入」到另一個硬體錢包中作為備份(如果需要)。
如果助記詞丟失或損壞,並且原始硬體錢包也丟失、損壞或被鎖定,您將永久失去對所有資產的訪問許可權。
有多種助記詞儲存方法,例如,將其分成多個部分,增加部分之間的物理距離,存放在不明顯的地方(例如,冰箱底部的湯罐,您財產地下的某個地方等)。
至少您應該有 2-3 份副本,其中一份應為鋼製,以防水和火災。
「私鑰」類似於助記詞短語,但僅針對一個特定錢包。它通常用於將熱錢包匯入新的 MetaMask (MM) 帳戶或在自動化工具(如交易機器人)中使用。
第 25 個單詞 – Ledger
除了原始的 24 個單詞助記詞,Ledger 還提供一個可選的額外安全功能。
密碼短語是一項高階功能,可以將您選擇的最多 100 個字元的第 25 個單詞新增到您的恢復短語中。使用密碼短語會生成一組完全不同的地址,這些地址無法僅通過 24 個單詞的恢復短語訪問。
除了增加安全層,密碼短語在您受到威脅時還能提供合理的否認。
如果使用密碼短語,務必安全儲存或準確記住它,逐個字元並區分大小寫。這是針對「$5 扳手攻擊」這種身體威脅情況的唯一和最終防禦措施。
為什麼要經歷這麼多麻煩來設定硬體錢包?
熱錢包將私鑰儲存在連線到網際網路的位置。通過網際網路被欺騙、誤導和操縱以洩露這些憑證是極其簡單的。
擁有冷錢包意味著,騙子需要物理上找到並獲取您的 Ledger 或助記詞才能訪問這些錢包及其內部資產。助記詞一旦被洩露,所有熱錢包及其中的資產都將面臨風險,即使那些沒有與惡意網站或合約互動的資產也不例外。
過去人們被「駭客攻擊」的常見方式
過去人們通過熱錢包遭遇「駭客攻擊」(助記詞短語洩露)的常見方式包括:
- 被欺騙下載惡意軟體,例如通過工作機會 PDF、測試版遊戲、通過 Google 表格執行巨集,或模仿合法網站和服務。
- 與惡意合約互動:在模仿網站進行 FOMO 鑄造,或與未知空投或接收的 NFT 合約互動。
- 將金鑰和助記詞插入或傳送給「客戶支援」或相關程式 / 表單。
📍相關報導📍
印度最大交易所 WazirX 遭竊2.3億鎂!駭客拋售多種代幣:SHIB、WRX..暴跌逾10%(持續更新)