Chaque mois, Luker, directeur de la sécurité chez MetaMask, fait le point sur les dernières attaques crypto et les risques émergents à connaître.
En juin 2022, les projets Endo et LavaMoat ont livré la prise en charge d'import.meta, de require.resolve et de Yarn 3 pour renforcer le pipeline de build, tandis que le programme de bug bounty de MetaMask a été lancé sur HackerOne. Côté métriques, l'équipe Computer Incident Response Team a clôturé 38 tickets au cours du premier semestre 2022, avec un délai moyen de résolution de 40,39 jours, et MetaMask a déprécié les méthodes API eth_decrypt et eth_getEncryptionPublicKey en raison de préoccupations cryptographiques. Deux divulgations ont marqué le mois : Halborn a remporté 50 000 $ pour avoir mis en lumière « Demonic » (CVE-2022-32969), une faille de chiffrement de disque susceptible de laisser une Secret Recovery Phrase en cache en texte clair sur un disque non chiffré, et l'United Global Whitehat Security Team a décroché une prime de 120 000 $ pour une faille critique de clickjacking dans l'Extension. Le détail complet est présenté ci-dessous, mais d'abord...
Pionnière des STIM à l'honneur : Whitfield Diffie, co-inventeur de la cryptographie à clé publique
Whitfield Diffie, aux côtés de Martin Hellman et Ralph Merkle, a publié « New Directions in Cryptography » en novembre 1976, introduisant le protocole d'échange de clés Diffie-Hellman qui a rendu possible une communication sécurisée sans secret partagé au préalable. Ce protocole est à la base de TLS, SSH et des canaux chiffrés sur lesquels les utilisateurs de portefeuilles self-custodial s'appuient au quotidien. Diffie a reçu le prix Turing de l'ACM en 2015 et a été intronisé au National Inventors Hall of Fame en 2011.
Une vulnérabilité de clickjacking vaut une prime de 120 000 $ à l'UGWST
MetaMask a accordé une prime de 120 000 $ à l'United Global Whitehat Security Team (UGWST) pour avoir divulgué de manière responsable une vulnérabilité critique de clickjacking dans l'Extension MetaMask. L'attaque rendait l'interface de l'extension sous forme d'iframe invisible superposée à un site malveillant, incitant les utilisateurs à approuver des transactions et à divulguer des données privées à leur insu. Aucune exploitation connue n'a eu lieu avant le correctif. Les utilisateurs disposant de la version 10.14.6 ou ultérieure de l'Extension MetaMask sont protégés.
La divulgation « Demonic » par Halborn révèle un risque de chiffrement de disque pour les portefeuilles de navigateur
Les chercheurs en sécurité de Halborn ont divulgué CVE-2022-32969, baptisée « Demonic », une vulnérabilité par laquelle une Secret Recovery Phrase saisie lors d'une importation pouvait être mise en cache sur le disque en texte clair par le mécanisme de restauration de session du navigateur. Le risque s'appliquait lorsque trois conditions étaient réunies : le disque dur n'était pas chiffré, la Secret Recovery Phrase avait été importée sur un appareil compromis ou non fiable, et la case « Afficher la Secret Recovery Phrase » avait été cochée lors de l'importation. MetaMask a mis en place des mesures correctives dans la version 10.11.3 et les versions ultérieures de l'Extension. MetaMask Mobile n'était pas concerné. Halborn a reçu 50 000 $ pour cette découverte.
L'équipe de réponse aux incidents de MetaMask clôture 38 tickets au S1 2022 avec un MTTR de 40,39 jours
L'équipe Computer Incident Response Team (CIRT) de MetaMask a clôturé 38 tickets au cours du premier semestre 2022. Les rapporteurs externes en ont soumis la majorité, soit plus du double du total combiné des audits et des sources internes. Par responsable, l'équipe Extension a traité la plus grande part, suivie des problèmes à portée Sécurité (multi-produits) et Mobile. Sur les 38 tickets, 13 portaient un score CVSS : 1 Critique — la vulnérabilité de clickjacking ayant fait l'objet d'une prime — 9 Moyens et 3 Faibles. Les tickets soumis par des rapporteurs ont été résolus le plus rapidement, en 28,53 jours par problème. Le délai moyen de résolution global était de 40,39 jours.
Dépréciation de eth_decrypt et eth_getEncryptionPublicKey pour des raisons cryptographiques
MetaMask a déprécié les méthodes API eth_decrypt et eth_getEncryptionPublicKey. Ces deux méthodes, conçues conformément à l'EIP-1024 (depuis abandonné), réutilisent la même clé privée sur différentes courbes elliptiques pour la signature et le chiffrement, une pratique qui ouvre des vecteurs d'attaque supplémentaires. Aucun exploit connu n'existe, mais la conception a été jugée insuffisamment sécurisée pour continuer à être promue. Les méthodes restent fonctionnelles afin de laisser le temps aux intégrateurs tiers de migrer.
Prise en charge d'import.meta et de require.resolve par Endo finalisée
Le projet Endo a fusionné la prise en charge d'import.meta pour les Compartments, nécessitant des ajustements du plugin Babel dans static-module-record afin de s'assurer que les nœuds import.meta sont visités et transformés même à l'intérieur de définitions d'export déjà transformées. Une PR de suivi ajoutant la prise en charge d'import.meta.url à compartment-mapper (endojs/endo #1202) a apporté la prise en charge d'import.meta.url à la fonctionnalité importLocation de compartment-mapper (non disponible dans les Archives). Par ailleurs, la fonction require.resolve a été ajoutée à l'implémentation CommonJS, levant une exception par défaut mais acceptant une implémentation personnalisée via ReadPowers. Ces modifications ont complété la feuille de route de prise en charge CJS prévue.
LavaMoat ajoute la prise en charge de Yarn 3 et les refus de politique explicites
LavaMoat a livré la prise en charge de Yarn 3 pour allow-scripts, en ajoutant un plugin pour gérer la configuration de yarn lors des nouveaux clonages de projets protégés. Une seconde mise à jour a introduit des valeurs false explicites dans policy-overrides.json, permettant aux projets de refuser des dotations spécifiques et d'éviter une surexposition des champs d'objets lors des fusions de politiques.
Lancement du programme de bug bounty sur HackerOne
MetaMask a lancé son programme de bug bounty sur HackerOne en juin 2022, couvrant le dépôt GitHub de l'Extension MetaMask et le dépôt GitHub de MetaMask Mobile.
Le rapport de sécurité crypto de MetaMask pour juin 2022 a couvert la prime de clickjacking de 120 000 $ accordée à l'UGWST, la divulgation de la vulnérabilité de chiffrement de disque « Demonic » par Halborn affectant les portefeuilles de navigateur, ainsi que la dépréciation par MetaMask de eth_decrypt et eth_getEncryptionPublicKey pour des raisons cryptographiques. Consultez les éditions précédentes du rapport de sécurité crypto MetaMask pour découvrir davantage de menaces, de tendances et de conseils pour rester en sécurité dans l'écosystème.