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

AWS abandonne WorkDocs, son concurrent de Dropbox

Un temps pressenti pour constituer le socle d'une suite bureautique AWS, Amazon WorkDocs arrivera en…

23 heures ago

Eviden structure une marque de « serveurs IA »

Eviden regroupe cinq familles de serveurs sous la marque BullSequana AI. Et affiche le supercalculateur…

1 jour ago

SSE : l’expérience se simplifie plus que les prix

Le dernier Magic Quadrant du SSE (Secure Service Edge) dénote des tarifications et des modèles…

1 jour ago

IA générative : les lignes directrices de l’ANSSI

Formats de paramètres, méthodes d'apprentissage, mutualisation GPU... Voici quelques-unes des recommandations de l'ANSSI sur l'IA…

2 jours ago

De la marque blanche à l’« exemption souveraine », Broadcom fait des concessions aux fournisseurs cloud

À la grogne des partenaires VMware, Broadcom répond par diverses concessions.

2 jours ago

iPadOS finalement soumis au DMA

iPadOS a une position suffisamment influente pour être soumis au DMA, estime la Commission européenne.

2 jours ago