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

Vanessa Cugniere, nouvelle Country Manager de OneTrust en France

OneTrust nomme Vanessa Cugniere au poste de Country Manager pour la France.

15 heures ago

Les recettes d’Apple pour entraîner des LLM multimodaux

Apple donne un aperçu supplémentaire de ses travaux LLM multimodaux avec un article consacré à…

15 heures ago

Luc Julia : « L’IA générative n’est pas une révolution des IA, mais une révolution des usages »

Pour Luc Julia, inventeur de Siri, l’essor des IA génératives n’est pas une révolution qui…

19 heures ago

Grok est-il vraiment un LLM « ouvert » ?

Un LLM dont on publie poids et code d'inférence est-il « open source » ?…

20 heures ago

Les 5 start-up retenues pour le programme PROQCIMA

Avec PROQCIMA, L'État vise le développement d'ordinateurs quantiques à destination des armées. Il a sollicité…

22 heures ago

Les frais de sortie en voie d’extinction chez les hyperscalers

Dans la lignée de Google Cloud et d'AWS, Microsoft met fin aux frais de sortie…

4 jours ago