Patching rapide et lent : les développeurs de Ruby tardent à se défendre contre les attaques de la chaîne d’approvisionnement

Lucas Morel

Il est souvent conseillé d’installer les dernières mises à jour logicielles, mais il est parfois plus sûr de rester les bras croisés et d’attendre.

L’équipe derrière RubyGems, un site d’hébergement de packages pour les développeurs Ruby, a ajouté une nouvelle fonctionnalité à bundler, un outil de gestion des packages Ruby (ou « gems ») pour protéger les développeurs contre la récente vague d’attaques de la chaîne d’approvisionnement logicielle : une période de réflexion avant l’installation des packages récemment mis à jour sur leurs systèmes.

Les attaques récentes contre les référentiels de logiciels se sont concentrées sur le vol des informations d’identification des développeurs afin d’introduire du code malveillant dans les packages qu’ils créent, ce qui vole ensuite davantage d’informations d’identification des développeurs lorsqu’ils installent les mises à jour malveillantes, et ainsi de suite. Les utilisateurs des référentiels sont vulnérables s’ils téléchargent un package concerné pendant le court intervalle entre l’interférence et la découverte et la suppression des ajouts malveillants.

Pour contrecarrer cela, l’équipe RubyGems a ajouté un nouvel argument de temps de recharge à Bundler qui ignore les gemmes jusqu’à ce qu’elles aient été publiées pendant un nombre de jours spécifié. Cela fournit une couche de défense supplémentaire contre les versions de packages malveillants, car cela donne aux autres la possibilité d’identifier tout code malveillant qu’ils contiennent avant l’installation.

Le système de temps de recharge fonctionne en vérifiant l’horodatage de toute nouvelle version des gemmes. Tout nouvel ajout au source devra provenir d’anciennes versions, tout nouvel ajout sera retardé jusqu’à ce qu’il soit validé.

Dans les situations où l’attente n’est d’aucune utilité (par exemple lorsqu’un package connu est publié pour corriger une faille de sécurité dangereuse), le délai peut être annulé.

Sécurité des codesSécuritéOutils de développementDéveloppement de logiciels