Bienvenue ! Vous découvrez Zcash ?
The Zcash network is young, but evolving quickly! Sign up and we'll be in touch with monthly highlights on ecosystem growth, network development and how to get started with Zcash!

Langue

Annonce concernant la sécurité 2016-11-22

Nathan Wilcox | Nov 22, 2016

Récapitulatif : Un bug lié à l'invalidation d'un cache peut permettre à un pirate de déclencher une fork conduisant les nœuds antérieurs à la version 1.0.3 à suivre une chaîne invalide. Ce bug est corrigé dans la version 1.0.3 de zcashd.

ZcashCo et plusieurs places boursières, des vendeurs de portefeuilles, et des mineurs ont déjà déployé des mesures d'atténuation, ainsi que des détecteurs pour ce vecteur d'attaque. Aucune attaque n'a été détectée.

Qui est en danger : Les utilisateurs courent un risque uniquement lorsque deux conditions sont remplies simultanément :

  1. Ils s'appuient sur des versions de zcashd antérieures à la version 1.0.3, c'est-à-dire sur les versions 1.0.0, 1.0.1, et 1.0.2, ET
  2. Une attaque est conduite sur l'ensemble du réseau afin de déclencher un fork. Cela implique que la majorité des mineurs utilisent un logiciel vulnérable.

Les utilisateurs qui s'appuient sur des services tiers doivent se renseigner pour savoir si ces services ont pu atténuer le problème. Nous avons collaboré avec de grandes places boursières, des fournisseurs de portefeuilles, et des mineurs et tous ont déjà réussi à atténuer ce problème sur leurs services.

Qui n'est pas en danger : Les utilisateurs qui répondent à l'une des deux conditions suivantes ne courent pas de risque :

  1. ils ont effectué une mise à niveau vers zcashd 1.0.3, ou s'appuient sur un service qui a effectué cette mise à niveau, OU
  2. aucune attaque sur l'ensemble du réseau n'a abouti (par exemple, parce qu'une part suffisante de mineurs a atténué la vulnérabilité).

En d'autres termes : les individus et les services sont protégés dès leur mise à niveau, et l'ensemble du réseau est protégé dès qu'il y a une part suffisante de mineurs qui ont effectué la mise à niveau.

Comment les utilisateurs à risque peuvent-ils se protéger ?

  1. La mise à niveau vers la version 1.0.3 de zcashd représente la protection la plus sûre.
  2. Pour les utilisateurs de services tiers (comme les places boursières, les portefeuilles, ou les coopératives de mineurs), renseignez-vous pour savoir si le service a annoncé une mise à niveau vers zcashd 1.0.3. Si ce n'est pas le cas, songez à interrompre l'utilisation de ce service jusqu'à ce qu'une mise à niveau soit annoncée.

Comment je peux savoir s'il y a une attaque ? ZcashCo et les grandes places boursières, les fournisseurs de portefeuilles et les mineurs ont déployé des capteurs qui détectent les attaques contre ce vecteur. Dans le cas où une attaque est détectée, l'équipe de ZcashCo appliquera les mesures suivantes :

Remarque : Les grandes places boursières, les vendeurs de portefeuilles et les mineurs avec qui nous sommes en communication sont déjà protégés contre de telles attaques.

Conséquences : Si l'attaque d'un réseau est bien exécutée (ce qui nécessite qu'une majorité du potentiel minier soit vulnérable) alors seuls les utilisateurs utilisant des clients vulnérables suivront un fork non valide. Les transactions sur ce fork seront annulés à mesure que les mineurs effectueront une mise à niveau vers un fork valide.

Contexte technique : À cause d'un bug lié à l'invalidation d'un cache, certains nœuds peuvent accepter des transactions invalides spécifiques et les considérer comme valides [1]. Si le taux de hachage de la majorité du réseau accepte une transaction invalide comme étant valide, il peut se produire un fork.

Suivi de l'annonce :

[1]Notez que la validité de la transaction est bien spécifiée par la spécification de notre protocole, spécification du protocole Zcash, v2016.0-beta-1.10 ; Il n'y a pas d'ambiguïté concernant le fait que cette faille de sécurité constitue un bug lié à l'implémentation.