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

Sécurité Discussion :

Le paquet PyPI "keep" aurait inclus par erreur un voleur de mots de passe


Sujet :

Sécurité

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    juin 2016
    Messages
    2 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 2 468
    Points : 47 549
    Points
    47 549
    Par défaut Le paquet PyPI "keep" aurait inclus par erreur un voleur de mots de passe
    Le paquet PyPI "keep" aurait inclus par erreur un voleur de mots de passe
    le mainteneur aurait involontairement introduit une dépendance malveillante par une faute de frappe

    Une analyse a révélé récemment que les paquets PyPI "keep", "pyanxdns" et "api-res-py" contiennent une porte dérobée en raison de la présence de la dépendance malveillante 'request' dans certaines versions. Par exemple, alors que la plupart des versions du projet "keep" utilisent le module Python légitime "requests", qui permet d'effectuer des requêtes HTTP, la version 1.2 de "keep" contient "request" (sans s) qui est un paquet malveillant. À la question de savoir si cela était dû à une simple erreur typographique, à un autosabotage ou au piratage des comptes du responsable, un développeur de "pyanxdns" a confirmé qu'il s'agissait d'une erreur de frappe.

    En mai, l'utilisateur de GitHub "duxinglin1" a remarqué que les versions vulnérables des paquets PyPI "keep", "pyanxdns" et "api-res-py" contenaient la dépendance mal orthographiée "request", par opposition à la bibliothèque légitime "requests". En tant que tels, les CVE suivants ont été attribués cette semaine en ce qui concerne les versions vulnérables :

    • CVE-2022-30877 : la version 1.2 de 'keep' contient la porte dérobée 'request' ;
    • CVE-2022-30882 : la version 0.2 de 'pyanxdns' est affectée ;
    • CVE-2022-31313 : la version 0.1 de "api-res-py" est affectée.


    Bien que les paquets "pyanxdns" et "api-res-py" soient des projets à petite échelle, le paquet "keep", en particulier, est téléchargé plus de 8 000 fois par semaine en moyenne. « Nous avons trouvé une porte dérobée malveillante dans la version 1.2 de ce projet, et sa porte dérobée malveillante est le paquet "request". Même si le paquet malveillant "request" a été supprimé par PyPI, de nombreux sites miroirs n'ont pas complètement supprimé ce paquet, il peut donc encore être installé », a écrit l'utilisateur de GitHub duxinglin1. Le code malveillant contenu dans le paquet "request" est mis en évidence ci-dessous (image).

    Nom : zes.png
Affichages : 25088
Taille : 296,2 Ko

    La ligne 57 contient une URL codée en base64 vers le programme malveillant "check.so". Un autre analyste a également identifié une autre URL (x.pyx) associée à la dépendance "request" contrefaite. Le fichier "check.so" contient un cheval de Troie d'accès à distance (RAT), tandis que le fichier "x.pyx" contient un logiciel malveillant de vol d'informations qui vole les cookies et les informations personnelles des navigateurs Web tels que Chrome, Firefox, Yandex, Brave, etc. L'analyse a révélé que le cheval de Troie voleur d'informations tentera de dérober les noms de connexion et les mots de passe stockés dans les navigateurs Web.

    Après avoir obtenu l'accès aux informations d'identification de l'utilisateur, les acteurs de la menace peuvent ensuite tenter de compromettre d'autres comptes utilisés par le développeur, ce qui peut conduire à d'autres attaques de la chaîne d'approvisionnement. Cependant, la présence d'une dépendance malveillante dans plusieurs paquets PyPI soulève une question cruciale : comment cela s'est-il produit ? Les analystes se demandent en effet s'il s'agissait d'une simple erreur typographique, d'un autosabotage ou d'un détournement de comptes de mainteneurs. Les mainteneurs des paquets "keep" et "api-res-py" ne se sont pas encore prononcé.

    En revanche, l'auteur et mainteneur de "pyanxdns", Marky Egebäck, a confirmé qu'il s'agissait d'une erreur typographique et non d'une compromission de compte. En outre, selon les analystes, à première vue, il semble que les auteurs des deux autres paquets aient également introduit par inadvertance "request" au lieu du paquet légitime "requests", en raison d'une innocente erreur de frappe. « Désolé de dire qu'il s'agit d'une simple faute de frappe dans le fichier setup.py puisque l'historique git montre que cela a été ajouté lorsque "install_requires" a été ajouté par moi », a déclaré Egebäck.

    Egebäck a depuis retéléchargé une nouvelle version sur PyPI et supprimé la version faisant référence à la dépendance malveillante "request". « C'était une erreur honnête basée sur une faute de frappe dans le fichier setup.py. Je ne publie généralement pas de choses sur PyPI, mais j'ai fait cela rapidement pour un ami et moi-même. Je ne suis pas sûr qu'il en a fait la promotion, mais le but était principalement un usage personnel dans un projet docker interne », explique-t-il. Egebäck a remercié l'utilisateur de GitHub "duxinglin1" d'avoir mis en évidence la présence de la dépendance malveillante dans son projet.

    Il a également expliqué qu'il n'avait pas consacré beaucoup de temps à la maintenance du projet ces derniers temps. « Cela aurait été beaucoup mieux de corriger ça plus tôt, mais je n'ai pas compris la gravité de la situation et, comme je consacre très peu de temps au codage, cela a pris beaucoup de temps », a déclaré Egebäck. En effet, lors du codage d'applications, d'innocentes fautes de frappe de la part du développeur peuvent, par inadvertance, donner lieu à des attaques de typosquattage qui comptent sur de telles erreurs pour compromettre la chaîne d'approvisionnement des logiciels.

    Nom : edg.png
Affichages : 1364
Taille : 35,9 Ko

    Le typosquattage est un type d'attaque d'ingénierie sociale qui cible les internautes qui tapent incorrectement une URL dans leur navigateur Web plutôt que d'utiliser un moteur de recherche. Il s'agit généralement d'inciter les utilisateurs à visiter des sites Web malveillants dont les URL sont des fautes d'orthographe courantes de sites Web légitimes. Les utilisateurs peuvent être amenés à saisir des informations sensibles sur ces faux sites. Pour les organisations victimes de ces attaquants, ces sites peuvent causer des dommages importants à leur réputation.

    Le terme "typo", dans typosquattage, fait référence aux petites erreurs que l'on peut faire en tapant sur un clavier. Le typosquattage est également connu sous le nom de détournement d'URL, d'imitation de domaine, de sites piégés ou de fausses URL. Ceux qui ont l'habitude de taper rapidement et de manière imprécise ou qui se fient beaucoup à la correction automatique sont particulièrement susceptibles d'en être victimes - par exemple, en tapant gogle.com au lieu de google.com. Parfois, un utilisateur n'a pas fait de faute de frappe, mais ignore l'orthographe correcte d'un nom de marque, et les squatteurs sont bien conscients de ce fait.

    Bien que dans ce cas, la dépendance malveillante "request" ait été retirée depuis longtemps du registre PyPI, les personnes utilisant une version vulnérable des paquets PyPI et s'appuyant sur un miroir pour récupérer les dépendances peuvent se retrouver avec des voleurs d'informations sur son système. Par ailleurs, plusieurs paquets npm ont été autosabotés par leurs propres auteurs ces derniers mois. Par exemple, en mars, un paquet npm compromis par l'auteur efface les fichiers sur les ordinateurs russes et biélorusses lors de l'installation. Le mainteneur du paquet a déclaré l'avoir fait pour protester contre l'invasion de l'Ukraine par la Russie.

    Sources : keep (1, 2), CVE-2022-30877,

    Et vous ?

    Quel est votre avis sur le sujet ?
    Que pensez-vous de la déclaration selon laquelle la dépendance malveillante a été introduite par erreur ?
    Que pensez-vous des attaques de typosquattage ?
    Selon vous, comment les développeurs peuvent s'en prémunir ?

    Voir aussi

    Un paquet npm compromis par l'auteur efface les fichiers sur les ordinateurs russes et biélorusses lors de l'installation, pour protester contre l'invasion de l'Ukraine par la Russie

    La bibliothèque npm populaire "coa" est détournée pour voler les mots de passe des utilisateurs, le paquet npm "rc" serait également compromis

    Un dev open source aurait volontairement corrompu des bibliothèques largement utilisées, affectant des tonnes de projets, il avait précédemment demandé à être rémunéré pour son travail
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    janvier 2014
    Messages
    1 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : janvier 2014
    Messages : 1 304
    Points : 4 984
    Points
    4 984
    Par défaut
    C'est pour ça qu'il faut tout programmer sois même ligne par ligne : ne jamais télécharger une API, une librairie, un package ou un Framework, c'est les feignants et les incompétents qui font ça de toute façon


    « L’humour est une forme d'esprit railleuse qui s'attache à souligner le caractère comique, ridicule, absurde ou insolite de certains aspects de la réalité »

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/10/2010, 13h30
  2. [ICEFACES] Les quotes sont remplacées par &#_39;
    Par Mathieu.J dans le forum JSF
    Réponses: 0
    Dernier message: 19/01/2010, 16h09
  3. Ignorer une inclusion par défaut
    Par magicpm7 dans le forum Visual C++
    Réponses: 4
    Dernier message: 23/08/2007, 11h13
  4. Y aurait-il une erreur de syntaxe ?
    Par mpat dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 21/12/2005, 15h07

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