Crédit photo: Image générée avec l’aide d’une intelligence artificielle
La récente mise à jour du réseau Ethereum a ajouté un mécanisme permettant de doter les portefeuilles de base de certaines fonctionnalités propres aux portefeuilles intelligents. Cependant, la communauté s’affole à l’idée que des cybercriminels pourraient utiliser cette fonctionnalité pour vider les fonds des utilisateurs.
Le centre de cette controverse est la proposition d’amélioration d’Ethereum (EIP) 7702, l’un des neuf ajouts individuels inclus dans la mise à jour Pectra de la blockchain en mai. L’EIP-7702 introduit une transaction appelée SetCode, qui permet aux utilisateurs de donner temporairement le contrôle de leur portefeuille intelligent avancé à un utilisateur de portefeuille de base, simplement en signant un message. Les analystes en sécurité ont affirmé que cette fonctionnalité expose les utilisateurs aux risques de vol.
Les détenteurs d’ETH devraient-ils s’inquiéter ? Cela comporte une vulnérabilité, mais comme de nombreuses choses dans le domaine de la cryptomonnaie, le tableau complet est nuancé.
Démocratiser l’accès
L’idée est de donner aux utilisateurs non techniques l’accès aux fonctionnalités avancées des portefeuilles intelligents, comme voter pour la gouvernance du réseau ou participer à l’enjeu sans exploiter un nœud de validation. La délégation peut être utilisée pour gagner des récompenses, élargir la participation à la gouvernance de la blockchain ou gérer les autorisations dans les environnements de finance décentralisée.
Pour les développeurs de portefeuilles, cette fonctionnalité promet de faciliter l’intégration des utilisateurs. Un kit spécial de délégation permet aux équipes de développement de simplifier le flux de connexion du portefeuille, ce qui facilite la mise en route des nouveaux utilisateurs. Il ouvre également la voie à des possibilités telles que les paiements d’abonnement automatiques et récurrents, ainsi qu’une coordination sociale renforcée pour les achats et les investissements en cryptomonnaies.
Un son de cloche plus contrasté, cependant, la délégation semble présenter une faille. Si un cybercriminel devait obtenir la signature d’authentification, par exemple via un enregistreur de frappes ou un e-mail de hameçonnage, il pourrait potentiellement l’utiliser pour écraser le code du portefeuille, ajoutant ainsi des logiciels malveillants qui redirigent les appels – et les ETH entrants – vers un deuxième contrat malveillant.
Une analyse de Wintermute, une entreprise d’actifs numériques, montre que presque toutes les délégations de portefeuille qui ont lieu actuellement après Pectra sont douteuses.
« Bien que l’EIP-7702 apporte de nouvelles commodités, elle introduit également de nouveaux risques. Notre équipe de recherche a découvert que plus de 97 % de toutes les délégations d’EIP-7702 avaient été autorisé à plusieurs contrats utilisant le même code exact. »
Le code malveillant a été surnommé “CrimeEnjoyor” par les chercheurs de Wintermute, et agit comme un agent de nettoyage qui tente de rediriger automatiquement les transferts d’ETH et les paiements des portefeuilles compromis. Dans un post sur X, les chercheurs de Wintermute ont déclaré que « les nouvelles primitives comme l’EIP-7702 élargissent les possibilités, mais sans outils de vérification, d’étiquetage et de transparence, il est de plus en plus difficile de distinguer l’infrastructure des exploitations, en particulier pour les nouveaux utilisateurs. C’est amusant, sombre et fascinant à la fois. »
Examiner la menace de plus près
La question est de savoir si Ethereum a échoué quant à la délégation. Les portefeuilles intelligents peuvent faire beaucoup de choses que les portefeuilles de base ne peuvent pas faire. Ils offrent aux utilisateurs un contrôle plus granulaire sur leurs actifs numériques et proposent des fonctionnalités avancées telles que l’abstraction des frais de gaz, les transactions par lots et l’utilisation du portefeuille sur différentes blockchains.
Le problème concerne les contrats intelligents programmables sur lesquels les portefeuilles intelligents dépendent. Ces derniers nécessitent une certaine connaissance technique pour être configurés et utilisés. La base d’utilisateurs d’Ethereum a demandé une solution plus simple pour accéder aux avantages des portefeuilles intelligents, et l’EIP-7702 semble être un pas dans cette direction.
Contrairement aux EOAs qui utilisent des clés privées pour la sécurité, les portefeuilles intelligents utilisent des règles et une logique personnalisée pour renforcer la sécurité au niveau de la transaction. Le compromis de l’EIP-7702 est de créer une porte dérobée réservée aux membres, permettant aux propriétaires de portefeuilles intelligents de déléguer une partie de leurs fonctionnalités à quelqu’un d’autre en signant un message spécial.
La question est la suivante : qu’advient-il si un criminel vous trompe en vous faisant signer un faux message de délégation ? Si un cybercriminel venait à obtenir la clé privée, il pourrait probablement prendre le contrôle du portefeuille, le vider ou l’utiliser pour faciliter une activité criminelle.
La réponse est venue le 24 mai, lorsque la plateforme Web3, Scam Sniffer, a découvert qu’un portefeuille MetaMask mis à jour avec l’EIP-7702 avait été vidé de plus de 146 550 dollars.
Une analyse plus approfondie réalisée par SlowMist, spécialiste de la sécurité des blockchains, a révélé que le vol avait été perpétré par un groupe de criminalité organisée appelé Inferno Drainer. Au lieu d’utiliser des méthodes éprouvées (comme le détournement de l’adresse du portefeuille ou l’appropriation des phrases de récupération), le groupe a utilisé la fonction de délégation du portefeuille pour accéder à son contenu. Les criminels ont convaincu l’utilisateur de signer un contrat de délégation qu’ils avaient déjà enregistré.
Le maillon faible
Un piratage isolé ne signifie pas une déferlante de crimes. Les détracteurs de l’EIP-7702 prétendent que les risques sont exagérés. Bien que l’EIP-7702 puisse fournir une nouvelle surface d’attaque pour les e-mails de phishing, il ne supprime pas le besoin de signer les portefeuilles ou ne permet pas l’accès non autorisé à lui seul.
Il est vrai que donner à quelqu’un le contrôle temporaire d’un coffre-fort où sont conservées des sommes d’argent peut sembler dangereux – et cela peut vraiment l’être -, mais seulement si vous avez été trompé en signant une délégation frauduleuse.
Ce n’est pas un échec de la blockchain ; c’est plutôt une menace interne. Comme c’est le cas pour de nombreuses vulnérabilités en matière de cybersécurité, le maillon faible pourrait être vous. C’est quelque chose auquel les développeurs de logiciels de portefeuille devraient s’intéresser.
Ambire et Trust Wallet, les deux premières entreprises de portefeuilles à avoir proposé des fonctionnalités de délégation dans le cadre de l’EIP-7702, ont déjà publié des correctifs et des avertissements.
Entre-temps, les principaux portefeuilles, comme Ledger, n’ont pas (du moins publiquement) mis en place de méthode pour signer les “tuples” de l’EIP-7702, les autorisations à usage unique que les propriétaires de portefeuilles intelligents utilisent pour déléguer l’accès à d’autres.
Cependant, les choses sont en train de changer. Certains kits de développement de portefeuilles sont déjà équipé d’une technique appelée signAuthorization, qui génère des signatures de délégation valides. Ces dernières peuvent contourner la norme API EIP-1193 pour interagir avec les applications décentralisées et envoyer de l’ETH pour des paiements. Avec l’ajout de fonctions de portefeuille intelligent, l’utilisation de la délégation via une signature se propagera probablement davantage.
Alors que la controverse actuelle pourrait être exagérée, la délégation via les portefeuilles intelligents avec l’EIP-7702 est une menace qui mérite d’être surveillée. Comme pour les améliorations antérieures d’Ethereum qui ont été utilisées pour commettre des actes répréhensibles, plus d’incidents de type MetaMask pourraient se produire avec l’EIP-7702.
Les fabricants de portefeuilles vont devoir suivre l’exemple d’Ambire et s’assurer que leur interface utilisateur précise ce que l’utilisateur délègue – et à qui.
Ce que ça change
En février dernier, l’échange de cryptomonnaies Bybit a été victime de l’un des plus grands vols de l’histoire de la cryptomonnaie. La faille exploitée lors de ce piratage est liée à une technique appelée “blind signing”. Tout comme la délégation, le “blind signing” permet aux contrats intelligents de bénéficier aux utilisateurs de cryptomonnaies qui ont moins de connaissances techniques, en leur donnant la possibilité d’approuver une transaction de contrat intelligent sans avoir à examiner tous les détails.
La plupart des interfaces utilisateur de portefeuilles de cryptomonnaies ne peuvent pas afficher un message de signature lourd en code dans un format compréhensible pour le grand public. Le “blind signing” a offert une solution de contournement – et un vecteur inintentionnel de vol.
Alors que la critique de l’EIP-7702 est probablement exagérée (il n’y a pas de porte dérobée), il y a un risque de phishing si le logiciel de portefeuille que vous utilisez ne clarifie pas l’identité et la portée d’une délégation.
Astuce : évitez de signer des messages de contrat intelligent Ethereum contenant uniquement des chaînes hexadécimales de 32 octets.