IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Expert éminent sénior

    Homme Profil pro
    Consultant informatique
    Inscrit en
    avril 2018
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2018
    Messages : 1 548
    Points : 125 147
    Points
    125 147
    Par défaut Quatre packages npm trouvés en train d’ouvrir des shells sur les systèmes Linux et Windows
    Quatre packages npm trouvés en train d’ouvrir des shells sur des systèmes Linux et Windows.
    Tout ordinateur avec l’un de ces packages installés « doit être considéré comme totalement compromis »

    L’équipe de sécurité de npm a supprimé la semaine dernière quatre packages hébergés sur son dépôt, découverts en train d’ouvrir des shells afin d’établir une connexion à des serveurs distants pour exfiltrer les données des utilisateurs à partir des systèmes Linux et Windows infectés. Selon l’équipe de sécurité, chaque bibliothèque a été téléchargée des centaines de fois depuis son chargement sur le portail npm.

    Les noms des quatre packages npm sont : plutov-slack-client, nodetest199, nodetest1010 et npmpubman. Les packages ont été mis en ligne sur le portail npm en mai 2018 (en ce qui concerne le premier) et en septembre de la même année (pour le reste). Jeudi dernier, le personnel du npm a retiré les quatre paquets JavaScript du portail npm parce qu'ils contenaient du code malveillant.

    Nom : np.png
Affichages : 219669
Taille : 69,9 Ko

    npm est le plus grand dépôt de packages pour tous les langages de programmation. L'équipe de sécurité de npm scanne régulièrement sa collection de bibliothèques JavaScript, considérée comme le plus important dépôt. Bien que les pacquages malveillants soient régulièrement supprimés, la suppression de la semaine dernière est la troisième grande mesure de répression de ces trois derniers mois.

    Selon les avis publiés par l'équipe de sécurité de npm, les quatre bibliothèques JavaScript ont ouvert des shells sur les ordinateurs des développeurs qui ont importé ces packages dans leurs projets. Les shells permettaient aux acteurs de la menace de se connecter à distance à l'ordinateur infecté et d'exécuter des opérations malveillantes. L'équipe de sécurité de npm a déclaré que les shells pouvaient fonctionner à la fois sur les systèmes d'exploitation Windows et *nix, tels que Linux, FreeBSD, OpenBSD, et d'autres.

    Procédure d’infection et de collecte de données sur l’ordinateur cible

    Une fois importés dans des projets des développeurs, ces packages constituent un danger pour les ordinateurs cibles. Le chercheur en sécurité, AX Sharma, qui a analysé les packages, a révélé que plutov-slack-client, nodetest1010 et nodetest199 partagent un code identique simpliste, mais capable de fonctionner sur tous les systèmes cités plus haut.

    Une fois les packages installés, le code établit un shell inversé vers le serveur de l'attaquant, permettant à ce dernier d'obtenir un accès à distance à la machine compromise, d’après Sharma. Une des principales conclusions, selon le chercheur en sécurité, est que, malgré le fait que les trois packages partagent un code identique, le fichier manifeste (package.json) contenu dans chacun d'entre eux possède des métadonnées radicalement différentes sur la localisation de l'auteur et ses profils GitHub.

    Quant à la dernière bibliothèque de la liste, npmpubman, elle a une structure de code et un objectif très différents, selon le chercheur. Ce package collecte les données utilisateur à partir des variables d'environnement et les télécharge sur un hôte distant. Selon le chercheur, dans un scénario réel, npmpubman pourrait être utilisé dans le cadre des efforts de reconnaissance d'un attaquant pour collecter des informations sur un système, alors que les autres paquets établissent une connexion directe entre les ordinateurs de l'attaquant et celui de la victime.

    Il est possible que les quatre paquets aient été créés par le(s) même(s) attaquant(s) malgré les données contradictoires fournies dans le manifeste du paquet .json, d’après Sharma. Les packages JavaScript ont été retirés du portail npm et les différents comptes d'auteurs npm associés à ces 4 paquets ont été fermés par l’équipe de sécurité de npm.

    « Toutes les versions de plutov-slack-client contiennent du code malveillant. Lors de l'installation, le paquet ouvre un shell vers un serveur distant. Le paquet affecte à la fois les systèmes Windows et *nix », lit-on dans l’avis de l’équipe de npm, en ce qui concerne le premier package plutov-slack-client. L’équipe a également mis en garde les développeurs qui utilisent ses bibliothèques.

    « Tout ordinateur sur lequel ce paquet est installé ou en fonctionnement doit être considéré comme totalement compromis. Tous les secrets et clés stockés sur cet ordinateur doivent être immédiatement changés à partir d'un autre ordinateur ».

    « Le package doit être retiré, mais comme le contrôle total de l'ordinateur peut avoir été donné à une entité extérieure, il n'est pas garanti que le retrait du paquet supprimera tous les logiciels malveillants résultant de son installation ».

    Les cas de logiciels malveillants s'infiltrant dans l'écosystème open source sont de plus en plus nombreux. En août, l'équipe de sécurité de npm a supprimé la bibliothèque JavaScript nommée "fallguys" du portail npm parce qu'elle contenait un code malveillant utilisé pour voler des fichiers sensibles du navigateur d'un utilisateur infecté et de l'application Discord. Le package malveillant prétendait fournir une interface à l'API du jeu "Fall Guys: Ultimate Knockout". Cependant, une fois que les développeurs ont téléchargé la bibliothèque et l'ont intégrée dans leurs projets, lorsqu’un développeur infecté exécutait son code, le package malveillant s'exécutait également.

    En septembre, le personnel de npm a supprimé quatre bibliothèques JavaScript contenant du code malveillant destiné à collecter des informations sur les utilisateurs et à télécharger les données volées sur une page GitHub publique. Une fois qu'un développeur a inclus et installé par erreur l'un des quatre packages malveillants, le code malveillant trouvé à l'intérieur collectait l'adresse IP du développeur, le pays, la ville, le nom d'utilisateur de l'ordinateur, le chemin du répertoire personnel et les informations sur le modèle de processeur, et publiait ces informations sous forme de nouveau commentaire dans la section "Problèmes" d'un dépôt GitHub.

    Sources : npm(1, 2, 3 & 4)

    Et vous ?

    Qu’en pensez-vous ?
    Avez-vous des projets nmp ? Avez-vous déjà supprimé les packages malveillants ?

    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 est critique
    Des hackers ont glissé une porte dérobée dans une bibliothèque open source largement utilisée, pour voler des bitcoins
    Le service npm Enterprise JavaScript est disponible, il s'accompagne de plus de fonctionnalités que la base de code du registre public npm
    npm 6.0.0, le gestionnaire de paquets officiel de Node.js. passe en @latest, et se concentre désormais sur la sécurité
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    janvier 2011
    Messages
    3 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : janvier 2011
    Messages : 3 147
    Points : 9 374
    Points
    9 374
    Par défaut
    Citation Envoyé par Stan Adkens Voir le message
    Les noms des quatre packages npm sont : plutov-slack-client, nodetest199, nodetest1010 et npmpubman. Les packages ont été mis en ligne sur le portail npm en mai 2018 (en ce qui concerne le premier) et en septembre de la même année (pour le reste). Jeudi dernier, le personnel du npm a retiré les quatre paquets JavaScript du portail npm parce qu'ils contenaient du code malveillant.
    [...]
    Et vous ?

    Qu’en pensez-vous ?
    Que deux ans pour trouver un package malicieux c'est un peu beaucoup...

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  3. #3
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    juin 2006
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2006
    Messages : 2 209
    Points : 4 038
    Points
    4 038
    Par défaut
    Citation Envoyé par transgohan Voir le message
    Que deux ans pour trouver un package malicieux c'est un peu beaucoup...
    windows a fait mieux : techviral.net/malware-infected-windows-users/ (pour ceux qui ne comprennent pas l'anglais : un virus vieux de 15ans sur windows)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  4. #4
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    janvier 2011
    Messages
    3 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : janvier 2011
    Messages : 3 147
    Points : 9 374
    Points
    9 374
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    windows a fait mieux : techviral.net/malware-infected-windows-users/ (pour ceux qui ne comprennent pas l'anglais : un virus vieux de 15ans sur windows)
    Je comprends surtout que cela n'a rien à voir.
    Il ne vient pas du store windows non (cela n'existait pas à l'époque) ?

    Or là on parle du NPM Registery, c'est donc centralisé et doit être contrôlé...

    C'est un peu comme comparer un virement de ta banque et la remise en main propre d'argent.
    Dans le premier cas tu as un acteur qui agit comme référence de sécurité, dans le second cas... Cela vient de n'importe qui, n'importe où, sans aucune sécurité.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  5. #5
    Invité
    Invité(e)
    Par défaut
    Qu'apprends-je ? Le système de dépendances de JS et le fameux "node_modules" serait un vecteur d'attaques ? NodeJS est une plaie à sécuriser convenablement ?

    Je suis pantois

  6. #6
    Membre expérimenté
    Profil pro
    programmeur du dimanche
    Inscrit en
    novembre 2003
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : programmeur du dimanche
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2003
    Messages : 360
    Points : 1 386
    Points
    1 386
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    windows a fait mieux : techviral.net/malware-infected-windows-users/ (pour ceux qui ne comprennent pas l'anglais : un virus vieux de 15ans sur windows)
    En fait quand on remonte aux sources, ce n'est pas un vieux malware, mais un botnet régulièrement mis à jour et sophistiqué (500 000 PC infectés, obfuscation, compilation d'un binaire unique par utilisateur !, réseau de proxies initialisé depuis youtube, désactivation d'antivirus et des malwares concurrents...).

    -------------

    Pour les paquets, c'est en effet une zone grise : beaucoup de paquets maintenus par peu de monde, personne pour relire, facilité de cacher une vulnérabilité obfusquée. Les éditeurs d'antivirus avec leur personnel payé pour ça, leurs moteurs d'analyse comportementale semblent incontournables à terme.

  7. #7
    Membre régulier
    Homme Profil pro
    Chômeur
    Inscrit en
    décembre 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chômeur

    Informations forums :
    Inscription : décembre 2019
    Messages : 32
    Points : 94
    Points
    94
    Par défaut
    "npmpubman pourrait être utilisé dans le cadre des efforts de reconnaissance d'un attaquant" : un attaquant fait des efforts de reconnaissance ? Ou on fait des efforts pour reconnaître un attaquant ?

    Qu'est-ce que c'est que ces phrases encore mal tournées dont le sens devient complètement abscons ?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    mars 2011
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2011
    Messages : 83
    Points : 72
    Points
    72
    Par défaut
    npm est le plus grand dépôt de packages pour tous les langages de programmation.
    Toutes mes félicitations....

Discussions similaires

  1. Réponses: 15
    Dernier message: 23/02/2018, 17h49
  2. Réponses: 0
    Dernier message: 21/09/2015, 18h20
  3. Réponses: 0
    Dernier message: 30/04/2015, 14h16
  4. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo