Des hackers ont glissé une porte dérobée dans une bibliothèque open source largement utilisée
Pour voler des bitcoins

Le , par Stéphane le calme, Chroniqueur Actualités
Des hackers ont introduit une porte dérobée dans une bibliothèque open source largement utilisée dans le but de voler subrepticement des fonds stockés dans des portefeuilles bitcoins, ont annoncé lundi des développeurs de logiciels.

Le code malveillant a été inséré en deux étapes dans event-stream, une bibliothèque qui comptabilise plus de deux millions de téléchargements et est utilisée aussi bien par des entreprises figurant dans le Fortune 500 que par des startups. Dans la première étape, la version 3.3.6, publiée le 8 septembre, incluait un module bénin appelé flatmap-stream. La deuxième étape a été mise en œuvre le 5 octobre, date à laquelle flatmap-steam a été mis à jour afin d'inclure un code malveillant tentant de voler des portefeuilles bitcoin et de transférer leurs soldes à un serveur situé à Kuala Lumpur. Ce n’est que mardi dernier que la porte dérobée a été exposée au grand jour suite à un rapport d’un utilisateur de Github répondant au pseudonyme FallingSnow (Ayrton Sparling). Les responsables du paquet NPM Copay Wallet, l'un des projets open source qui a hébergé event-stream, n’ont émis un avis que lundi, soit quelques jours plus tard :

Citation Envoyé par responsables Copay Wallet
Nous avons appris dans un rapport d'incident Copay GitHub qu'un package tiers NodeJS utilisé par les applications Copay et BitPay avait été modifié pour charger du code malveillant pouvant être utilisé pour capturer les clés privées des utilisateurs. Actuellement, nous avons seulement confirmé que le code malveillant avait été déployé sur les versions 5.0.2 à 5.1.0 de nos applications Copay et BitPay. Cependant, l'application BitPay n'était pas vulnérable au code malveillant. Nous cherchons toujours à savoir si cette vulnérabilité de code a déjà été exploitée contre les utilisateurs de Copay.

Notre équipe continue à étudier ce problème et l’ampleur de la vulnérabilité. Entre-temps, si vous utilisez une version de Copay 5.0.2 à 5.1.0, vous ne devez ni exécuter ni ouvrir l'application. Une version de mise à jour de sécurité (5.2.0) a été publiée et sera momentanément disponible pour tous les utilisateurs du portefeuille Copay et BitPay dans les app stores.

Les utilisateurs doivent supposer que les clés privées des portefeuilles affectés ont peut-être été compromises. Ils doivent donc transférer immédiatement les fonds vers les nouveaux portefeuilles (version 5.2.0). Les utilisateurs ne doivent pas tenter de transférer des fonds vers de nouveaux portefeuilles en important des phrases de sauvegarde de douze mots des portefeuilles concernés (correspondant à des clés privées potentiellement compromises). Les utilisateurs doivent d'abord mettre à jour leurs portefeuilles concernés (5.0.2-5.1.0), puis envoyer tous les fonds des portefeuilles concernés vers un nouveau portefeuille sur la version 5.2.0, à l'aide de la fonctionnalité Send max pour lancer les transactions de tous les fonds.

En clair, les responsables du paquet NPM ont déclaré que le code malveillant avait été conçu pour cibler les personnes utilisant un portefeuille bitcoin développé par Copay, une société qui avait intégré event-stream à son application. Cette version de ce mois-ci montre que Copay met à jour son code pour faire référence à flatmap-stream, mais un responsable de Copay a déclaré lors d'une discussion sur Github que le code malveillant n'avait jamais été déployé sur aucune plateforme. Après la publication de ce message, les responsables de Copay ont mis à jour leur commentaire et indiqué qu'ils avaient en fait publié des plateformes contenant la porte dérobée.

La société continue d'enquêter sur l'attaque. Elle a également contacté Copay-dash, un autre développeur qui utilise le même code open source dans son application portefeuille.

« Cette compromission ne visait pas les développeurs de modules en général, ni même les développeurs », a expliqué un responsable de Copay Wallet. « Elle visait quelques développeurs sélectionnés dans une entreprise, Copay, dotée d’un environnement de développement très spécifique. Même dans ce cas, la charge utile elle-même ne s’exécutait pas sur les ordinateurs de ces développeurs; elle serait plutôt intégrée dans une application destinée aux consommateurs lorsque les développeurs créeraient une version. L’objectif était de voler des bitcoins aux utilisateurs finaux de cette application ».

Les attaques lancées contre les chaînes logistiques se multiplient

Selon la discussion sur Github qui a exposé la porte dérobée, le développeur de event-stream n'avait plus le temps de fournir des mises à jour. Donc, il y a plusieurs mois, il a accepté l'aide d'un développeur inconnu. Le nouveau développeur a pris soin de cacher la porte dérobée. En plus de l’implémenter progressivement, il ne ciblait également que l'application de portefeuille Copay. Le code malveillant était également difficile à détecter, car le module flatmap-stream était chiffré.


L’attaque est la dernière en date à exploiter les faiblesses d’une chaîne logistique largement utilisée pour cibler les utilisateurs finaux en aval. Le mois dernier, deux attaques du côté de l'offre ont été révélées en une seule semaine. La première visait VestaCP, une interface de panneau de commande utilisée par les administrateurs système pour gérer les serveurs. Les attaquants ont ensuite modifié un programme d’installation disponible sur le site Web de VestaCP. La seconde attaque a glissé un paquet malveillant dans PyPI, le référentiel officiel du langage de programmation Python largement utilisé.

Les attaques de la chaîne logistique montrent l’une des faiblesses de l’open source. En raison de son ouverture et du manque de fonds de nombreux développeurs et utilisateurs amateurs, le code open source peut être sujet à des modifications malveillantes qui se faufilent sous le radar de la surveillance..

Sources : blog BitPay, GitHub

Voir aussi :

Un projet Node.js sur deux audité par les outils de npm aurait au moins une vulnérabilité, une sur dix d'entre elles sont critiques
npm : l'authentification à deux facteurs rendue obligatoire en bêta pour les mainteneurs sur les paquets indiqués comme protégés
npm : la version 6.2.0 du gestionnaire de paquets officiel de Node.js passe en @latest, avec quatre nouveautés d'importance autour
Node.js : eslint-scope, un paquet npm, a été infecté par un hacker pour lui permettre de voler des identifiants npm
npm : un bogue avec le code d'erreur « 418 I'm a teapot » a affecté le registre, empêchant l'utilisation du client npm derrière un proxy


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de Steinvikel Steinvikel - Membre éclairé https://www.developpez.com
le 27/11/2018 à 11:48
Citation Envoyé par Stéphane le calme Voir le message
(...) Les attaques de la chaîne logistique montrent l’une des faiblesses de l’open source. En raison de son ouverture et du manque de fonds de nombreux développeurs et utilisateurs amateurs, le code open source peut être sujet à des modifications malveillantes qui se faufilent sous le radar de la surveillance
L'open-source n'est certes pas parfait, mais n'en est pas de fait moins bon que les autres.

La conclusion de l'article met en avant une corrélation, non une causalité. "ouverture" et "altération" ne s'induisent pas, ni d'en un sens ni dans l'autre, ils sont simplement sujet à une cause commune, dont le développement "fermé" est aussi sujet.

Dans cette actualité, c'est l'aide d'un développeur tiers qui permet insérer un "mauvais" code.
Microsoft fait également appel à des développeurs tiers, qui parfois insèrent du "mauvais" code... présentant de fait la même faiblesse, et ce, sur un développement "fermé".

Exemple avec Windows 7 USB/DVD Tool le 13 novembre 2009 :
"...à l’entrée du week-end, la firme de Redmond a bien confirmé que du code protégé par la licence GPL v2 avait été utilisé dans son application. À ce niveau-là, Microsoft n’avait guère d’option : soit retirer définitivement le logiciel, soit le publier à nouveau, mais sous licence GPL v2 cette fois. Microsoft a choisi finalement la deuxième solution."
sur Port25 (blogs.technet.microsoft.com)

edit : l'un des points qui fait l'atout de l'open-source, c'est la possibilité d'une réactivité exemplaire.

 
Contacter le responsable de la rubrique Accueil