Pour gérer vos consentements :
Categories: DéveloppeursProjets

Typosquatting de dépendances : gare à cette pratique résiduelle

« Le strike à 140 000 $ d’un white hat ». Ainsi avions-nous réagi, l’an dernier, à une opération qui avait mis à défaut la sécurité de dizaines de grandes entreprises. Parmi lesquelles Apple, Microsoft, Netflix, PayPal, Tesla et Uber.

Plusieurs de ces entreprises avaient récompensé ledit white hat. Mais la faille exploitée venait de l’extérieur. En l’occurrence, des gestionnaires de paquets de plusieurs langages de programmation : npm (Node.js), PyPi (Python) et RubyGems (Ruby).

À l’origine, il y a la découverte, sur un dépôt GitHub public, d’un paquet npm apparemment destiné à un usage interne chez PayPal. Le fichier de manifeste associé faisait référence à un « mix » de dépendances : certaines présentes dans le dépôt public, d’autres hébergées en interne.

De là, une question : s’il existait, dans le dépôt public, un paquet du même nom qu’une dépendance privée, aurait-il la priorité ? Et, au fil des essais, une réponse : oui, sous conditions. Sauf paramétrage spécifique, les gestionnaires priorisaient le paquet ayant le plus haut numéro de version, peu importe où il se trouvait. La porte ouverte à l’introduction de code malveillant… et à ses effets sur les applications en aval.

Typosquatting sur npm… et au-delà

Une approche plus « classique » mais moins discrète (elle requiert une action de la part des victimes) consiste à user du typosquatting. En d’autres termes, à usurper le nom de paquets légitimes. ionicons, swiper et umbrellajs en ont dernièrement fait les frais sur npm. Le premier en particulier : on a trouvé trace de multiples paquets malveillants au nom proche (ionic-icon, ionicio, ionicon-package…).

Les différents paquets repérés avaient en commun d’exploiter des fonctions Ajax pour exfiltrer des données. Au fil des mois qu’a duré l’opération, ces fonctions se sont « durcies », pour brasser de plus en plus large, allant jusqu’à aspirer tous les éléments de formulaire dans les applications infectées.

Le typosquatting est allé au-delà de npm. Il a aussi englobé les noms de domaines utilisés pour exfiltrer les données. Les pages hébergées à ces adresses usurpaient parfois elles-mêmes des sites authentiques.

A-t-on eu affaire à une démarche coordonnée ? Le peu de comptes ayant publié les paquets en question le laisse penser. Tout comme le schéma de nommage des domaines malveillants.

Photo d’illustration © Dmitry Baranovskiy / CC BY 2.0

Recent Posts

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

5 heures ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

7 heures ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

9 heures ago

Accord Microsoft-CISPE : comment Google a tenté la dissuasion

Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…

9 heures ago

Vers des mises à jour cumulatives intermédiaires pour Windows

Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…

10 heures ago

RH, finances, stratégie… Les complexités de la Dinum

De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…

1 jour ago