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

Après la NAND, Intel dit stop à la gamme Optane

Après avoir vendu son activité NAND, Intel tire un trait sur la technologie 3D XPoint,…

3 semaines ago

Google Analytics : la Cnil a posé les règles du jeu

Près de six mois ont passé depuis de que la Cnil a déclaré l'usage de…

3 semaines ago

Truffle 100 France : le top 20 des éditeurs de logiciels

Truffle 100 France : qui sont les 21 entreprises qui ont dépassé, en 2021, les…

3 semaines ago

Cloud : AWS brocarde les politiques de licences Microsoft

Un dirigeant d'Amazon Web Services dénonce des "changements cosmétiques" apportés par Microsoft à ses politiques…

3 semaines ago

Sécurité du code au cloud : Snyk Cloud, un joker pour développeurs

Snyk officialise le lancement de sa solution de sécurité cloud pour développeurs, Snyk Cloud, fruit…

3 semaines ago

Cegid accroche Grupo Primavera à son tableau d’acquisitions

Cegid va absorber Grupo Primavera, plate-forme de logiciels de gestion d'entreprise née dans la péninsule…

3 semaines ago