Comment le pirate informatique de Ledger Connect a incité les utilisateurs à effectuer des approbations malveillantes


Le « hacker Ledger » qui a siphonné au moins 484 000 $ de plusieurs applications Web3 le 14 décembre l’a fait en incitant les utilisateurs Web3 à approuver des jetons malveillants, selon l’équipe derrière la plateforme de sécurité blockchain Cyvers.

Selon les déclarations publiques faites par plusieurs parties impliquées, le piratage a eu lieu dans la matinée du 14 décembre. L’attaquant a utilisé un exploit de phishing pour compromettre l’ordinateur d’un ancien employé de Ledger, accédant ainsi au compte javascript (NPMJS) du gestionnaire de paquets de nœuds de l’employé..

Nous avons identifié et supprimé une version malveillante du Ledger Connect Kit.

Comment le pirate informatique de Ledger Connect a incité les utilisateurs à effectuer des approbations malveillantes

Une version authentique est désormais proposée pour remplacer le fichier malveillant. N’interagissez avec aucune dApp pour le moment. Nous vous tiendrons informés au fur et à mesure de l’évolution de la situation.

Votre appareil Ledger et…

/blockquote>

Une fois qu’ils ont obtenu l’accès, ils ont téléchargé une mise à jour malveillante sur le dépôt GitHub de Ledger Connect. Ledger Connect est un package couramment utilisé pour les applications Web3.

Certaines applications Web3 ont été mises à niveau vers la nouvelle version, ce qui a amené leurs applications à distribuer le code malveillant aux navigateurs des utilisateurs. Les applications Web3 Zapper, SushiSwap, Phantom, Balancer et Revoke.cash ont été infectées par le code.

En conséquence, l’attaquant a pu siphonner au moins 484 000 $ aux utilisateurs de ces applications. D’autres applications pourraient également être affectées, et les experts ont averti que la vulnérabilité pourrait affecter l’ensemble de l’écosystème de la machine virtuelle Ethereum (EVM).

Comment cela aurait pu arriver

S’adressant à Cointelegraph, le PDG de Cyvers, Deddy Lavid, le directeur de la technologie Meir Dolev et l’analyste de la blockchain Hakal Unal ont apporté davantage de lumière sur la façon dont l’attaque a pu se produire.

Selon eux, l’attaquant a probablement utilisé un code malveillant pour afficher des données de transaction confuses dans le portefeuille de l’utilisateur, amenant ce dernier à approuver des transactions qu’il n’avait pas l’intention de faire.

Lorsque les développeurs créent des applications Web3, ils utilisent des « kits de connexion » open source pour permettre à leurs applications de se connecter aux portefeuilles des utilisateurs, a déclaré Dolev. Ces kits sont des morceaux de code stock qui peuvent être installés dans plusieurs applications, leur permettant de gérer le processus de connexion sans avoir à passer du temps à écrire du code. Le kit de connexion de Ledger est l’une des options disponibles pour gérer cette tâche.

Il semble que l’incident de sécurité d’aujourd’hui soit le point culminant de 3 échecs distincts chez Ledger  :

1.

2. Ne pas appliquer les « règles à 2 hommes » concernant la révision et le déploiement du code.

3. Ne pas révoquer l’accès des anciens employés.

/blockquote>

Lorsqu’un développeur écrit son application pour la première fois, il installe généralement un kit de connexion via Node Package Manager (NPM). Après avoir créé une version et l’avoir téléchargée sur leur site, leur application contiendra le kit de connexion dans son code, qui sera ensuite téléchargé dans le navigateur de l’utilisateur chaque fois que celui-ci visitera le site.

Selon l’équipe de Cyvers, le code malveillant inséré dans le kit Ledger Connect a probablement permis à l’attaquant de modifier les transactions transférées vers le portefeuille de l’utilisateur. Par exemple, dans le cadre du processus d’utilisation d’une application, un utilisateur doit souvent émettre des approbations pour des contrats de jetons, permettant à l’application de dépenser des jetons à partir du portefeuille de l’utilisateur.

Le code malveillant peut avoir amené le portefeuille de l’utilisateur à afficher une demande de confirmation d’approbation du jeton, mais avec l’adresse de l’attaquant répertoriée au lieu de l’adresse de l’application. Ou encore, cela aurait pu provoquer l’apparition d’une confirmation de portefeuille composée d’un code difficile à interpréter, obligeant l’utilisateur à appuyer confusément sur « confirmer » sans comprendre ce qu’il acceptait.

Les données de la blockchain montrent que les victimes de l’attaque ont approuvé en grande partie le contrat malveillant. Par exemple, l’attaquant a récupéré plus de 10 000 $ de l’adresse Ethereum en une seule transaction. Le journal de cette transaction montre que l’utilisateur a approuvé qu’un très grand montant d’USDC soit dépensé par le contrat malveillant.

Cette approbation a probablement été effectuée par l’utilisateur par erreur en raison du code malveillant

En rapport: Exécutif de ConsenSys sur la sécurité de MetaMask Snaps : « Le consentement est roi »

Cyvers a affirmé que sa plateforme permet aux entreprises de vérifier les adresses contractuelles et de déterminer si ces adresses ont été impliquées dans des incidents de sécurité. Par exemple, le compte qui a créé les contrats intelligents utilisés dans cette attaque a été détecté par Cyvers comme ayant été impliqué dans 180 incidents de sécurité.

Même si les outils Web3 du futur pourraient permettre de détecter et de contrecarrer à l’avance des attaques comme celles-ci, l’industrie a encore « un long chemin à parcourir » pour résoudre ce problème, a déclaré l’équipe à Cointelegraph.