Les chercheurs de ReservingLabs détectent une attaque sur le répertoire RubyGems pour injecter des malwares au cœur même des applications créées dans le langage Ruby.

Le développement logiciel moderne s’appuie sur des « packages », des briques logicielles qui accélèrent la programmation des applications. Ces « packages » sont regroupés dans des « repositories », des dépôts qui facilite l’accès, l’utilisation et la gestion de ces packages. Il suffit généralement d’un clic ou d’une commande, pour récupérer un package et l’intégrer à son application.

En cybersécurité, il existe une règle ancestrale jamais démentie : les cybercriminels vont là où les millions d’utilisateurs sont. Et les développeurs sont des cibles particulièrement intéressantes puisqu’en ciblant les outils de développement qu’ils utilisent, il est possible d’intégrer directement des malwares ou des portes dérobées dans leurs programmes et à leur insu.

Bien évidemment, les dépôts de librairies open-source ne peuvent qu’aiguiser leur appétit. Et ils ont développé toutes sortes de techniques pour pénétrer ces repositories. L’une d’elle consiste à jouer sur les erreurs de frappes les plus usuelles des développeurs (typiquement la bibliothèque ‘rspec-mocks’ existe en version cybercriminelle sous le nom ‘rspec-mokcs’). ReversingLabs a ainsi mis en évidence de telles pratiques sur les répertoires très utilisés PyPI et NPM.

Cette fois, leur étude s’est portée sur le repository RubyGems très populaire auprès des adeptes du langage RUBY : il contient plus de 158 000 packages qui ont été téléchargés plus de 49 milliards de fois ! Ils y ont repéré plus de 760 packages malveillants déposés entre le 16 et 25 février 2020.
L’un d’entre eux (« client-atlas ») a été téléchargé 2 100 fois durant cette période (alors que sa contrepartie officielle « atlas_client » a été téléchargée 6 496 fois durant la même période).
Parmi les menaces détectées, certaines volaient le contenu du presse-papier, d’autres cherchaient à dérober des Bitcoins.

Le problème, c’est que ces bibliothèques de briques prêtes à l’emploi sont également très populaires chez les développeurs en entreprise. Des applications métiers peuvent ainsi se retrouver à miner des Bitcoins, ouvrir des portes dérobées, ou voler des informations (typiquement le contenu du presse-papier) le tout à l’insu des développeurs, des utilisateurs et bien souvent des administrateurs.