IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

GitLab : Les mineurs de cryptomonnaies font s'écrouler les performances des utilisateurs légitimes
Les nouvelles mesures de préventions seront-elles efficaces ?

Le , par Stéphane le calme

293PARTAGES

6  1 
LayerCI, GitLab, TravisCI et Shippable sont quelques-unes de ces entreprises qui proposent aux développeurs de l'intégration continue. Cependant, le PDG de LayerCI, Colin Chartier, a déclaré récemment que les mineurs de cryptomonnaies s'attaquent à leurs infrastructures pour exécuter de manière illicite et abusive des logiciels de minages de cryptomonnaies, une situation qui les oblige à restreindre leurs offres gratuites d'IC/LC.

L'intégration continue (IC) est la pratique consistant à automatiser l'intégration des modifications du code provenant de plusieurs contributeurs dans un seul projet logiciel. Il s'agit d'une des principales pratiques DevOps, qui permet aux développeurs de fusionner fréquemment les modifications de code dans un dépôt central où les builds et les versions tests sont ensuite exécutées. Des outils automatisés sont utilisés pour vérifier l'exactitude du nouveau code avant son intégration. Un système de contrôle de la version du code source constitue l'élément central du processus d'IC.

Il existe de nombreux fournisseurs de plateformes d'IC/LI (intégration continue/livraison continue) sur le marché, dont GitHub, AutoRabit, LayerCI, GitLab, TravisCI, Shippable, etc., mais récemment, plusieurs d'entre eux ont commencé par signaler des abus observés sur leurs diverses offres gratuites. Selon le PDG de LayerCI, Colin Chartier, ces abus seraient causés par les mineurs de cryptomonnaies. Face à cela, des fournisseurs de plateforme d'IC/LI comme LayerCI, GitLab, TravisCI et Shippable sont tous en train de diminuer les composantes de leurs niveaux gratuits, voire de les fermer.

« Comme les développeurs peuvent exécuter du code arbitraire sur nos serveurs, ils violent souvent nos conditions d'utilisation en exécutant des logiciels de minage de cryptomonnaies comme "étape de build" de leurs sites Web », a déclaré Chartier dans un billet de blog. À titre d'exemple, il a mentionné « testronan », un supposé utilisateur de Flask sur GitHub. Selon ce que dit Chartier, toutes les heures, cet utilisateur fait un commit sur son seul dépôt GitHub nommé « testronan/MyFirstRepository-Flask ». Il aurait réussi à faire environ 717 commits en un mois.

Chartier explique dans son rapport que ce programmeur prolifique s'assure que ses contributions sont bien testées. En outre, son dépôt contient des configurations pour cinq fournisseurs d'IC différents : TravisCI, CircleCI, GitHub Actions, Wercker et LayerCI. Les tâches d'IC de « testronan » exécutent un fichier « listen.sh », un script Shell qui combine un script NodeJS « compliqué » avec des nombres apparemment aléatoires. Chartier a déclaré qu'après avoir longuement examiné MyFirstRepository-Flask, il a remarqué que le dépôt n'avait rien à voir avec le framework Flask ou les serveurs Web.

Il hébergerait des scripts de minage de cryptomonnaies qui envoient des WebDollars à une adresse anonyme. Les chiffres correspondraient aux options d'installation de l'implémentation NodeJS de WebDollar. Notons que WebDollar est une monnaie numérique basée sur un navigateur. Ses principaux avantages sont que les WebDollars peuvent être minés dans votre navigateur et que vous pouvez transférer des fonds en stockant les portefeuilles localement, sans passer par des tiers. Chartier estime que le dépôt n'attaque pas directement GitHub, mais abuse de la fonction « cron » de GitHub Actions.

Cela lui permet de créer un nouveau commit toutes les heures et miner des WebDollars sur quatre autres fournisseurs d'IC. Ainsi, le WebDollar s'échangeant à 0,0005 dollar au moment des faits, le dépôt devrait lui faire gagner 77 dollars. Chartier juge cette somme considérable dans de nombreux pays, d'autant que les seuls outils nécessaires sont un ordinateur portable et une connexion Internet. Pour illustrer davantage sa découverte, Chartier a mentionné dans son billet les adresses des deux portefeuilles numériques qui reçoivent les jetons minés « testronan ».


La réaction de GitLab

« Récemment, il y a eu une augmentation massive de l'abus des minutes de pipeline gratuites disponibles sur GitLab.com et sur d'autres fournisseurs de CI / CD pour exploiter les cryptomonnaies. En plus des augmentations de coûts, l'abus crée des problèmes de performances intermittents pour les utilisateurs de GitLab.com et oblige nos équipes à travailler 24/7 pour maintenir des services optimaux pour nos clients et utilisateurs. Pour décourager et réduire les abus, à partir du 17 mai 2021, GitLab exigera que les nouveaux utilisateurs gratuits fournissent un numéro de carte de crédit ou de débit valide afin d'utiliser les runners partagés sur GitLab.com. Un utilisateur pourra exécuter des pipelines sans fournir de carte de crédit ou de débit s'il utilise son propre runner et désactive les runners partagés. Bien qu'elle soit imparfaite, nous pensons que cette solution réduira les abus.

Nous prévoyons de déployer ce changement progressivement et d'en augmenter la portée si nécessaire comme suit:
  • Nous commencerons par ajouter la nouvelle exigence pour les nouveaux utilisateurs gratuits créés à partir du 17 mai 2021.
  • Si nous continuons à constater des abus via des comptes gratuits existants, nous prévoyons d'étendre l'exigence à des utilisateurs supplémentaires.

Cette modification n'affecte actuellement aucun des utilisateurs suivants:
  • Clients et utilisateurs autogérés de GitLab (gratuits ou non).
  • Utilisateurs payants ou de programmes (par exemple, éducation, open source) sur GitLab.com.
  • Utilisateurs créés avant le 17 mai 2021.

« Lorsque vous fournissez la carte, elle ne sera pas débitée, mais sera vérifiée par une transaction d'autorisation d'un dollar. Aucuns frais ne seront facturés et aucun transfert d'argent ne sera effectué.

« Une carte de crédit ou de débit est l'un (des nombreux) contrôles que nous avons mis en place pour réduire les abus de notre plateforme. Nous ne résoudrons jamais complètement les abus de plateforme, mais plus nous érigeons d'obstacles, plus il devient difficile et coûteux de se livrer à des abus.


« Les membres de l'équipe GitLab ont déjà activé et livré de nombreuses améliorations. Celles-ci ont aidé à dissuader les abus, bien qu'elles ne soient pas suffisantes. Voici un échantillon des correctifs que nous avons fournis pour atténuer les abus de pipeline:
  1. Échec de la création de travaux lorsque le quota de minutes du pipeline est dépassé.
  2. Échec des pipelines après que l'utilisateur dépasse le quota de minutes du pipeline.
  3. Ajout de restrictions à la création d'espaces de noms via l'API.
  4. Activation de l'arrêt des pipelines lors du blocage d'un utilisateur.
  5. S'assurer que les pipelines ne s'exécutent pas lorsque les pipelines appartiennent à un utilisateur bloqué.
  6. Combler les lacunes dans les travaux exécutés par les comptes d'utilisateurs supprimés par les utilisateurs.
  7. Utilisation et amélioration du service de validation de pipeline externe, en particulier autour de l'authentification, de la charge utile et de la restriction d'accès.
  8. S'assurer que les pipelines planifiés ne sont pas exécutés par des utilisateurs bloqués.

« Nous prévoyons apporter des améliorations pour renforcer notre réseau de pipelines contre les abus. Nous pensons que l'utilisation de quotas de minutes de pipeline comme base d'une utilisation gratuite de minutes sera le meilleur mécanisme pour les travaux en échec et les pipelines pour arrêter les abus. En incluant cet effort, nos autres améliorations en matière d'abus de pipeline sont :
  1. Inclure les projets publics dans le quota de minutes de pipeline pour les utilisateurs gratuits.
  2. Élargir les limites d'application pour empêcher l'utilisation abusive des webhooks.

Un utilisateur concerné par ce changement dispose des options suivantes:
  • Fournir une carte de crédit ou de débit et utiliser les 400 minutes gratuites avec des runners partagés.
  • Un utilisateur peut également exécuter des pipelines sans fournir de carte de crédit ou de débit s'il utilise son propre runner et désactive les runners partagés pour son projet.
  • Refuser de fournir la carte et continuer à utiliser gratuitement la plupart des fonctionnalités de GitLab. Dans ce cas, toute fonctionnalité de GitLab qui repose sur nos pipelines ne fonctionnera pas, comme: Un pipeline (CI / CD en général), des pipelines planifiés comprenant des analyses DAST à la demande, définir vos propres pipelines, utiliser Auto DevOps.
  • Passer à GitLab autogéré ».

Source : GitLab

Et vous ?

Que pensez-vous des nouvelles mesures prises par GitLab ?
Selon vous, les nouvelles mesures de préventions ont-elles des chances d'être efficaces ? Dans quelles mesures ?

Une erreur dans cette actualité ? Signalez-le nous !