Le portefeuille de crypto-monnaie BitGo a corrigé une vulnérabilité critique qui aurait pu exposer les clés privées des utilisateurs particuliers et institutionnels.
Équipe de recherche en cryptographie Fireblocks identifié la faille et a notifié l’équipe BitGo en décembre 2022. La vulnérabilité était liée aux portefeuilles BitGo Threshold Signature Scheme (TSS) et avait le potentiel d’exposer les clés privées des échanges, des banques, des entreprises et des utilisateurs de la plate-forme.
L’équipe Fireblocks a nommé la vulnérabilité BitGo Zero Proof Vulnerability, qui permettrait aux attaquants potentiels d’extraire une clé privée en moins d’une minute en utilisant une petite quantité de code JavaScript. BitGo a suspendu le service vulnérable le 10 décembre et a publié un correctif en février 2023 qui nécessitait des mises à jour côté client vers la dernière version avant le 17 mars.
L’équipe Fireblocks a expliqué comment elle avait identifié l’exploit à l’aide d’un compte BitGo gratuit sur le réseau principal. Une partie manquante des preuves obligatoires à connaissance nulle dans le protocole de portefeuille ECDSA TSS de BitGo a permis à l’équipe d’exposer la clé privée par une simple attaque.
En relation: Euler Finance piraté pour plus de 195 millions de dollars lors d’une attaque de prêt flash
Les plates-formes d’actifs de crypto-monnaie de classe entreprise standard de l’industrie utilisent soit la technologie de calcul multipartite (MPC/TSS) soit la technologie multi-signature pour éliminer la possibilité d’un seul point d’attaque. Cela se fait en distribuant une clé privée entre plusieurs parties, pour assurer des contrôles de sécurité si une partie est compromise.
Fireblocks a pu prouver que des attaquants internes ou externes pouvaient accéder à une clé privée complète par deux moyens possibles.
Un utilisateur côté client compromis pourrait initier une transaction pour acquérir une partie de la clé privée détenue dans le système de BitGo. BitGo effectuerait alors le calcul de signature avant de partager les informations qui divulguent le fragment de clé BitGo.
« L’attaquant peut désormais reconstruire la clé privée complète, la charger dans un portefeuille externe et retirer les fonds immédiatement ou ultérieurement. »
Le deuxième scénario envisageait une attaque si BitGo était compromis. Un attaquant attendrait qu’un client initie une transaction avant de répondre avec une valeur malveillante. Celui-ci est ensuite utilisé pour signer la transaction avec le fragment de clé du client. L’attaquant peut utiliser la réponse pour révéler le fragment de clé de l’utilisateur, avant de le combiner avec le fragment de clé de BitGo pour prendre le contrôle du portefeuille.
Fireblocks note qu’aucune attaque n’a été menée par le vecteur identifié, mais a averti les utilisateurs d’envisager de créer de nouveaux portefeuilles et de transférer des fonds depuis les portefeuilles ECDSA TSS BitGo avant le correctif.
Les piratages de portefeuilles sont devenus monnaie courante dans l’industrie de la crypto-monnaie ces dernières années. En août 2022, plus de 8 millions de dollars ont été prélevés sur plus de 7 000 portefeuilles Slope basés sur Solana. Le service de portefeuille réseau Algorand MyAlgo a également été ciblé par un piratage de portefeuille qui a vu plus de 9 millions de dollars drainés de divers portefeuilles de haut niveau.