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の公式チャネルを確認し、最新の告知を入手するようにしてください。