Hacken renforce la sécurité de la preuve des réserves de Binance
Le 14 février 2023, les chercheurs de Hacken ont effectué des tests et identifié un bogue dans le système de preuve de réserves basé sur Binance zkSNARK.
Hacken a publié un rapport complet sur l’évaluation, l’a annoncé sur son Twitter et a immédiatement informé l’équipe de Binance pour résoudre le problème.
Mise à niveau de la vérification de la preuve des réserves de Binance
Binance a annoncé une mise à niveau de sa vérification de preuve de réserve pour inclure les zk-SNARK. La mise à niveau devait renforcer la transparence et la sécurité du système de vérification le 10 février 2023.
La mise à niveau du système de preuve de réserves basé sur zkSNARK comprenait également l’ajout de protocoles de preuve de connaissance zéro à la cryptographie existante de l’arbre Merkle de Binance. Les nouvelles fonctionnalités traitaient de la possibilité de faux comptes et de soldes négatifs et préservaient la sécurité et la confidentialité des utilisateurs lors des transactions.
Auparavant, Binance s’appuyait sur la cryptographie simple de l’arbre Merkle pour la sécurité et la transparence du système.
Diverses chaînes de blocs ont adopté le système de preuve de réserves basé sur l’arbre Merkle pour accroître la transparence de l’industrie après la chute de FTX.
Identification des bogues
L’équipe Hacken a parcouru toutes les 1157 dépendances du projet et a trouvé 42 vulnérabilités, dont 16 exposées à l’exploitation publique. 20 dépendances avaient une vulnérabilité sévère, tandis que 20 avaient une gravité moyenne.
Parmi les vulnérabilités graves, l’équipe a identifié deux lacunes importantes sur l’arbre de somme de Merkle ; équilibre négatif et vie privée.
Les développeurs de Binance ont immédiatement répondu à l’observation en générant des preuves zk-SNARK. Les preuves contenaient des lots de 864 utilisateurs, et chacun était lié par un hachage Poséidon.
Les chercheurs de Hacken ont également découvert que la preuve de réserves de Binance présentait des failles qui pourraient permettre la génération de fausses dettes d’utilisateurs indétectables par un tiers et la possibilité de créer de fausses dettes.
totalUserEquity (api.AssertIsLessOrEqual).
L’équipe a créé une contrefaçon en définissant BasePrice à une valeur très élevée car il manquait une validation CheckValueInRange au paramètre, c’est-à-dire que les pirates peuvent créer de fausses preuves sans détection du système. Au contraire, le BasePrice est une entité publique, et il est facile de détecter quand il est compromis.
Le bogue de débordement BasePrice signifie que l’on pourrait modifier le BasePrice sans détection, ce qui pourrait réduire les passifs prouvés par l’échange.
Réponse de Binance
Les développeurs de Binance ont immédiatement réagi en corrigeant les bogues et en faisant une annonce sur leur compte Twitter officiel.
Les développeurs de Hacken ont suggéré à Binance d’ajouter CheckValueInRange pour BasePrice afin d’empêcher le débordement, ce que l’équipe de Binance a examiné et fusionné le commit de Hacken dans la branche principale de Binance. Binance a corrigé toutes les failles identifiées de gravité critique et moyenne.
Cependant, Binance ne peut pas vérifier la validité des preuves générées avant les tests, car les bogues critiques ont permis de falsifier le montant total de la dette. Les utilisateurs ne peuvent pas confirmer que toute preuve avant le test n’est pas compromise en raison de la vulnérabilité.
La blockchain a également reconnu le travail de Hacken comme un exemple exceptionnel du pouvoir de rétroaction de la communauté. Binance fournit également une plate-forme où les utilisateurs peuvent signaler ou donner leur avis sur n’importe lequel des produits de Binance.