硬件钱包一向被视为加密货币最安全的避风港,但若应用程序底层的密码学实作出现瑕疵,仍可能引发灾难性的后果。据Zilliqa官方帐号(@zilliqa)发布的最新重要安全公告指出,ZilliqaLedger应用程序中发现了一个极度危险的漏洞,该漏洞直接影响了原生(非EVM)Zilliqa交易的Schnorr签名生成,使得攻击者能轻易从公开的链上资料反推并恢复用户的私钥。
这起安全事件的根本原因在于底层代码的低级失误。Zilliqa的原生交易采用secp256k1曲线上的EC-Schnorr签名机制,在签署过程中,系统必须产生一个256位元的完全随机数(Nonce,通常以变数$k$表示)。
然而,Zilliqa团队调查发现,虽然代码确实正确产生了40位元组的随机数并取模,但在将资料复制到nonce缓冲区时,却错误地只抄写了32位元组。这个致命的失误导致该随机数的前64位元永远为零($k<2^{192}$),随机数的强度遭大幅削弱。这种可预测的偏差,让攻击者能利用「格基还原法(lattice reduction)」快速求解隐藏数字问题(Hidden Number Problem),进而拼凑出完整的私钥。
令人震惊的是,根据官方公布的时间线,这个漏洞自2019年以来就一直存在于所有版本的Zilliqa Ledger应用程序中。直到今年7月19日,官方才观察到符合主动攻击特征的链上活动,并于7月21日正式确认根本原因并成功重现漏洞。
Zilliqa官方警告,受影响的对象主要为使用Ledger硬件钱包签署「原生Zilliqa交易(ZIL1地址)」的用户。若该帐户过去已透过Ledger广播了约5笔或更多的原生交易,由于链上已留下足够的签名特征,其私钥目前已被视为「已遭破解」。不过官方也强调,使用EVM工具(0x地址)的交易,以及透过Zilliqa官方SDK(如zilliqa-js等)生成的交易皆不受此漏洞影响。
为了防止灾情扩大,Zilliqa团队目前已紧急暂停所有原生(非EVM)交易,并正与Ledger官方密切合作,准备释出修正版本的应用程序。
针对已受影响的Ledger用户,官方发出了强烈警告:受影响用户目前切勿自行进行任何转帐操作。因为一旦私钥已暴露在黑客的监控雷达中,任何直接转帐的动作都极有可能被攻击者利用机器人抢先(Front-running)拦截。用户应耐心等待Zilliqa官方后续公布的协调补救方案。
此外,Zilliqa也在贴文中特别感谢加密货币交易所KuCoin的鼎力相助。KuCoin在本次事件中不仅协助定位了Ledger应用程序的Nonce问题,更从链上签名中协助恢复受影响的私钥以确认攻击手法,其快速通报与配合调查的举动,为保护整个生态系争取了宝贵的时间。Zilliqa同时澄清,此次事件纯属Ledger应用程序的技术问题,与交易所的钱包管理机制无关。