Zilliqa 於 7 月 22 日暫停原生 ZIL 交易,此前調查發現 Ledger 硬體錢包應用程式自 2019 年起存在的 Schnorr 簽名 nonce 缺陷:該漏洞將每個簽名 nonce 的前 64 位鎖定為零,大幅削弱隨機性,使攻擊者可從約 5 個或更多受影響的簽名中重建私鑰,且僅需公開的鏈上數據。
Ledger 2019 年 Schnorr nonce 漏洞技術說明
根據 Zilliqa 官方說明,此漏洞的技術根本原因如下:Schnorr 簽名要求每次使用唯一且不可預測的隨機數(nonce),若 nonce 的隨機性被削弱,保護私鑰的數學演算法就會失效。
Zilliqa 的調查發現,Ledger 應用程式在生成 Schnorr 簽名時,從 40 位元組的值中提取了錯誤的 32 位元組,導致每個 nonce 的前 64 位均為零。Zilliqa 將這種結果描述為「可預見的、被削弱的臨時 nonce」。
攻擊者只需掌握大約 5 個或更多此類受影響的簽名,就可以從公開的鏈上數據重建簽名者的私鑰;這一漏洞自 2019 年 Ledger 應用程式發布後就存在,2019 年後發布的任何符合條件的簽名均可被用於重建私鑰。
7 月 19 日至 22 日事件時序:KuCoin 協助演示,冷錢包被盜
根據 Zilliqa 的官方披露,事件時序如下:7 月 19 日,Zilliqa 偵測到與漏洞利用相符的鏈上活動;7 月 20 日,Zilliqa 一家交易所合作夥伴的冷錢包 ZIL 代幣被盜,ZIL 跌至歷史新低 0.002441 美元,Coinone 和 KuCoin 暫停 ZIL 儲值和提現;7 月 21 日,Zilliqa 找到根本原因;7 月 22 日公開披露並暫停原生 ZIL 交易。
KuCoin 在此事件中發揮了關鍵作用:協助識別 nonce 漏洞,並從公共簽名中成功重建出受影響的私鑰作為實際演示,證實漏洞已被利用,使 Zilliqa 能夠採取保護措施並制定更廣泛的修復方案。
用戶指示與修復進展:Ledger 應用程式修復版本待發布
根據 Zilliqa 的官方建議,以下為針對受影響用戶的當前指示:
· 等待官方指示:所有使用 Ledger 硬體簽署原生 ZIL 的用戶須等待
· 不要轉移任何資金
· 不要嘗試自行修復
· EVM 交易和 SDK 用戶不受影響:僅使用 EVM 相容工具和 Zilliqa SDK 的用戶不需要採取任何行動
· Ledger 修復版本:Ledger 正在開發修復版本的 Ledger 應用程式,具體發布時間另行通知
截至 7 月 22 日報道時,ZIL 根據 CoinGecko 數據報 0.00244 美元,24 小時下跌 3.5%,距 2021 年 5 月的歷史高點約 0.2563 美元已大幅縮水。
常見問題
Zilliqa 為何在 7 月 22 日暫停原生 ZIL 交易?
根據 Zilliqa 7 月 22 日的官方公告,原因是發現 Ledger 應用程式自 2019 年起存在的 Schnorr 簽名 nonce 缺陷:每個 nonce 的前 64 位被鎖定為零,使攻擊者可從約 5 個或更多受影響的公開鏈上簽名中重建私鑰。
哪類 ZIL 用戶受到影響?
根據 Zilliqa 說明,僅有在 Ledger 硬體設備上簽署原生(非 EVM)ZIL 交易的用戶面臨風險;使用 EVM 相容工具和 Zilliqa SDK 的用戶不受影響。
Ledger 修復版本何時發布?
根據 Zilliqa 官方聲明,Ledger 正在開發修復版本的 Ledger 應用程式,具體發布時間另行通知;用戶應關注 Zilliqa 和 Ledger 的官方管道以獲取最新公告。