Zilliqa a suspendu les échanges natifs de ZIL le 22 juillet. Auparavant, une enquête avait révélé une vulnérabilité liée à un défaut de nonce de signature Schnorr, présent dans l’application de portefeuille matériel Ledger depuis 2019 : cette vulnérabilité verrouillait les 64 premiers bits de chaque nonce de signature à zéro, réduisant fortement l’aléatoire. Elle permettait ainsi à un attaquant de reconstruire la clé privée à partir d’environ 5 signatures ou plus affectées, en s’appuyant sur des données on-chain publiques.
Explication technique de la faille de nonce Schnorr de Ledger en 2019
D’après les informations officielles de Zilliqa, la cause technique fondamentale de cette faille est la suivante : la signature Schnorr exige l’utilisation d’un nonce (nombre « nonce ») unique et imprévisible à chaque fois. Si l’aléa du nonce est affaibli, l’algorithme mathématique censé protéger la clé privée ne fonctionne plus.
L’enquête de Zilliqa a constaté que, lors de la génération des signatures Schnorr, l’application Ledger extrayait une mauvaise portion de 32 octets à partir d’une valeur de 40 octets, ce qui faisait que les 64 premiers bits de chaque nonce étaient tous à zéro. Zilliqa décrit ce résultat comme un « nonce temporaire prévisible et affaibli ».
Il suffit à l’attaquant de disposer d’environ 5 signatures ou plus de ce type affectées pour reconstruire la clé privée du signataire à partir de données on-chain publiques. Cette vulnérabilité existait depuis la publication, en 2019, de l’application Ledger ; toute signature remplissant les conditions publiées après 2019 peut être utilisée pour la reconstruction.
Chronologie de l’événement du 19 au 22 juillet : KuCoin aide à la démonstration, le portefeuille froid est piraté
D’après la divulgation officielle de Zilliqa, la chronologie est la suivante : le 19 juillet, Zilliqa a détecté des activités en chaîne correspondant à l’exploitation de la faille ; le 20 juillet, le portefeuille froid de l’un de ses partenaires boursiers, ZIL, a été piraté. ZIL est tombé à un plus bas historique de 0,002441 dollar ; Coinone et KuCoin ont suspendu les dépôts et retraits de ZIL. Le 21 juillet, Zilliqa a identifié la cause racine. Le 22 juillet, la faille a été divulguée publiquement et les échanges natifs de ZIL ont été suspendus.
KuCoin a joué un rôle clé dans cet incident : il a aidé à identifier la faille de nonce et a réussi à reconstruire la clé privée affectée à partir de signatures publiques, dans une démonstration concrète. Cela a confirmé que la faille avait bien été exploitée, permettant à Zilliqa de mettre en place des mesures de protection et d’élaborer un plan de correction plus large.
Instructions aux utilisateurs et avancées de la correction : version corrigée de l’application Ledger en attente de publication
D’après les recommandations officielles de Zilliqa, voici les instructions actuelles pour les utilisateurs concernés :
· Attendez les instructions officielles : tous les utilisateurs qui signent le ZIL natif via le matériel Ledger doivent attendre
· Ne transférez aucun fonds
· N’essayez pas de corriger vous-même
· Les utilisateurs d’EVM transactions et SDK ne sont pas concernés : seuls les utilisateurs qui utilisent des outils compatibles EVM et le SDK de Zilliqa n’ont aucune action à entreprendre
· Version corrigée de Ledger : Ledger développe une version corrigée de l’application Ledger ; la date de publication exacte sera communiquée ultérieurement
Au moment du rapport du 22 juillet, ZIL s’échangeait à 0,00244 dollar selon les données de CoinGecko, en baisse de 3,5 % sur 24 heures, bien loin du sommet historique d’environ 0,2563 dollar en mai 2021.
Questions fréquentes
Pourquoi Zilliqa a-t-elle suspendu les échanges natifs de ZIL le 22 juillet ?
D’après l’annonce officielle du 22 juillet de Zilliqa, la raison est la découverte d’un défaut de nonce de signature Schnorr, présent dans l’application Ledger depuis 2019 : les 64 premiers bits de chaque nonce sont verrouillés à zéro, ce qui permet à un attaquant de reconstruire la clé privée à partir d’environ 5 signatures on-chain publiques affectées ou plus.
Quel type d’utilisateurs ZIL est concerné ?
D’après l’explication de Zilliqa, seuls les utilisateurs signant des transactions ZIL natives (non EVM) sur des équipements Ledger courent un risque ; les utilisateurs utilisant des outils compatibles EVM et le SDK de Zilliqa ne sont pas concernés.
Quand la version corrigée de Ledger sera-t-elle publiée ?
D’après la déclaration officielle de Zilliqa, Ledger développe une version corrigée de l’application Ledger ; la date de publication exacte sera communiquée ultérieurement. Les utilisateurs doivent suivre les canaux officiels de Zilliqa et de Ledger pour obtenir les dernières annonces.