Coinhive : la fulgurante expansion du minage caché de crypto-monnaie dans le navigateur

À l'insu de leur plein gré 37
Accès libre
image dediée
Crédits : Gwengoat/iStock
Crypto-monnaie
Par
le jeudi 23 novembre 2017 à 16:47
Guénaël Pépin

Se passer de la publicité en faisant miner une crypto-monnaie par les internautes. C'est l'idée de Coinhive, un script à intégrer aux pages web qui se répand comme un feu de paille, suscitant une levée de boucliers des bloqueurs de publicité. Le service mène depuis une quête de légitimité.

Lancé à la mi-septembre, Coinhive s'est très rapidement retrouvé sur des milliers de sites. À la mi-novembre, le chercheur en sécurité Troy Mursch le détectait sur plus de 30 000 d'entre eux, volontairement ou suite à un piratage. Les bloqueurs de publicité ont rapidement entrepris de lui barrer la route.

Pourquoi un tel succès ? Coinhive est un outil de minage de crypto-monnaie, que n'importe qui peut intégrer dans une page web, en prévenant ou non l'internaute. L'installation est rapide : un appel à un fichier javascript, via une ligne de code, et une documentation très simple.

Même s'il est censé être invisible, le procédé a des conséquences pour le visiteur. Il peut voir le fonctionnement de son appareil ralentir et le taux d'utilisation du processeur grimper en flèche, entre 50 % et 100 %, sans explication. Ce n'est d'ailleurs pas sans conséquences sur l'autonomie en mobilité.

Mais Coinhive se pose en alternative à la publicité, en exploitant la puissance de calcul inutilisée des internautes. La consommation est modulable, via le nombre de processus traités en parallèle. Une solution gratuite en apparence, mais qui pourra se retrouver sur la facture d'électricité de l'internaute.

Les éditeurs qui le mettent en place sur leurs sites évoquent des « tests » de revenus complémentaires ou remplaçant la réclame, même si les perspectives économiques et la viabilité sur le long terme sont encore très floues.

Derrière Coinhive, la crypto-monnaie Monero

Concrètement, Coinhive mine Monero, une crypto-monnaie lancée en 2014 centrée sur la vie privée, promettant d'être intraçable, en masquant le contenu des transactions par défaut. Coinhive explique le choix de Monero par l'algorithme CryptoNight, utilisé pour la miner. 

Ce dernier aurait surtout l'intérêt d'être déjà efficace avec les CPU, le passage à un processeur graphique n'apportant qu'un doublement des performances, contre des facteurs de 10 000 pour Bitcoin ou Ethereum, selon le service. Il serait donc adapté au minage via un navigateur, par n'importe quel ordinateur. 

Sur cette base, Coinhive propose une plateforme et paie les sites (en Monero) toutes les deux heures, selon leurs performances à hauteur de 70 % des revenus générés. La formule a initié une nouvelle vague de « cryptojacking » sur le web, soit le minage par les visiteurs, sans son consentement.

Sous pression par les internautes agacés de ne pas avoir été prévenus, le service a rapidement évolué, avec en filigrane la question de l'éthique de son utilisation.

De premières intégrations (trop) discrètes

Dès son lancement, Coinhive a causé l'ire des internautes. En pointe sur « l'innovation », The Pirate Bay a intégré le script, lui offrant une large publicité. Ce qui était officiellement un essai d'une journée a obligé l'équipe à se fendre d'un billet de blog pour s'excuser, après que des visiteurs aient vu leur navigateur ne plus réagir.

Le tracker BitTorrent a ramené le script à 20-30 % d'utilisation du processeur, contre 100 % auparavant. Une « faute de frappe » plaidait-il, y voyant toujours une piste de financement. « Préférez-vous des publicités ou offrir quelques cycles de votre CPU à chaque visite ? » demande le site qui semble se préoccuper de la juste rémunération, lorsqu'il s'agit de la sienne. Les quelques commentaires répondent positivement à l'utilisation de Coinhive, malgré cette première utilisation sans avertissement.

Les cas se sont rapidement multipliés. Moins d'une semaine plus tard, l'extension SafeBrowse pour Chrome embarquait le script, officiellement sans l'accord de ses auteurs. Téléchargée plus de 140 000 fois, elle ne semble désormais plus disponible sur le Chrome Web Store.

Fin septembre, ce sont des sites de la chaine américaine Showtime (CBS) qui ont intégré l'outil pendant un week-end. L'origine exacte du script n'est pas confirmée, mais il pourrait autant provenir de l'entreprise elle-même que d'un tiers indélicat.

Plus récemment, le fournisseur de service DNS ZoneEdit a déployé le mineur sur 324 noms de domaine en « parking », c'est-à-dire enregistrés mais sans contenu. Il a aussi été trouvé dans des applications Android. Le site MacBook Warmer propose, lui, de réchauffer son ordinateur en minant la crypto-monnaie pour son compte (oui).

Selon  le chercheur Willem de Groot, début novembre, près de 2 500 magasins en ligne exploitaient le service. La particularité est que certains ne lient pas vers le script officiel, mais une iFrame (une page web intégrée dans celle affichée) pointant vers un site tiers. Elle affiche une page de configuration Apache, mais inclut bien le mineur. D'autres se déguiseraient en Sucuri Firewall, un pare-feu pour applications web.

Des sites plus proches de nous ont aussi été pris la main dans le sac. Raspbian-France s'est attiré les foudres de certains membres via un « test » en conditions réelles. Sur son forum, il reconnaît une « erreur » après ne pas avoir prévenu les internautes. « Nous aurions effectivement dû avertir les utilisateurs, mais pour tout dire on avait juste la flemme de faire une popup qui soit à la fois visible et pas invasive (mission quasi-impossible) alors qu'on n'était pas sûrs d'utiliser Coinhive au final » justifie le site.

« Cryptojacking » et bloqueurs de publicité

Une semaine après son lancement, Bleeping Computer estimait que Coinhive devenait un outil prisé des concepteurs de malwares. Pour l'éditeur d'outils de sécurité Checkpoint, Coinhive serait devenu « le sixième malware le plus utilisé » en octobre. La campagne « EITest », par exemple, exploitait une page classique d'arnaque au support informatique pour exécuter Coinhive.

Les premières intégrations « en loucedé » ont eu vite fait de tailler une mauvaise réputation à Coinhive, qui a aussi été placé dans des pages sans le consentement des propriétaires. L'idée de « cryptojacking » y a tout de suite été accolée. Début octobre, le service de protection Cloudflare coupait les ponts avec certains sites distribuant le script, considéré comme un malware. Mais ce n'est pas le plus grave.

Ouvert à la mi-septembre, Coinhive s'est dans l'instant retrouvé dans la ligne de mire des bloqueurs de publicités. Le 17 septembre une petite extension, No Coin, était mise en ligne pour Chrome, Firefox et Opera, pour bloquer ce type de mineur. Son code est disponible via GitHub, sous licence MIT.

Le 21 septembre, Adblock Plus a donné des instructions précises pour interdire le script, après l'indélicatesse de The Pirate Bay. Depuis, des extensions comme uBlock Origin le bloquent d'elles-mêmes. Après une semaine d'activité, l'équipe notait que « Coinhive est aussi bloqué par beaucoup d'extensions de blocage de publicité, ce qui (nous devons l'admettre) est raisonnable aujourd'hui ». 

Dans une analyse, l'agence de cybersécurité européenne recommandait ces extensions pour se prémunir de Coinhive.

Coinhive montre patte blanche avec AuthedMine.com

Il y a donc péril en la demeure. La réponse : s'assurer du consentement de l'internaute. À la mi-octobre, le service a donc mis en place AuthedMine.com, une alternative au script de départ, qui demande explicitement l'autorisation du visiteur d'un site pour démarrer le minage. « Promis », ce script n'est pas bloqué affirme l'équipe, contrairement à l'ancien.

Face aux extensions, l'équipe insiste sur l'idée qu'« il n'y a aucun besoin de bloquer AuthedMine.com ou un script sur ce domaine. [...] Le mineur ne démarre jamais sans opt-in » de l'internaute. Les instructions mettent désormais en avant cette version, reléguant celle de départ (hébergée sur coin-hive.com) au second plan.

« Vous pouvez seulement implanter Coinhive dans des sites, services ou applications pour lesquels vous avez l'autorisation de le faire. Si vous implantez Coinhive dans des sites que vous avez « hacké », nous supprimerons votre compte » prévient l'éditeur de l'outil, qui peut très difficilement le vérifier.

Il y a quelques jours, un sénateur américain a réclamé le blocage des publicités pouvant exécuter du code sur les appareils de l'administration. Si la mesure vise les malwares, elle pourrait concerner de fait les outils comme Coinhive, qui peut rendre un ordinateur inutilisable en étant mal exploité.

Coinhive tente aussi d'autres services légitimes. D'un côté, une alternative au reCaptcha de Google. De l'autre, une vérification « d'humanité » pour l'accès à un lien. À chaque fois, l'outil mine une courte série de hashs sur le terminal, pour déterminer qu'il ne s'agit pas d'un robot, mais sans donner plus de détails sur le fonctionnement de ce service.

Le service piraté fin octobre, la question du mobile

En plus de contribuer au « cryptojacking », le service lui-même a connu une déconvenue importante, signe d'un certain amateurisme. Le 23 octobre, son propre compte Cloudflare a été piraté. Les entrées DNS redirigeaient vers un autre site avec un script de minage modifié et un compte spécifique inscrit « en dur ». Pendant au moins quelques heures, le responsable du détournement a récolté les fruits du minage de l'ensemble des internautes.

L'éditeur justifie la faille par la réutilisation d'un mot de passe faible, sûrement fuité en 2014. Il a depuis activé la double-authentification (qui n'était pas utilisée jusqu'alors) et a promis de créditer les comptes de ses utilisateurs de 12 heures de minage.

Coinhive a aussi dû traiter la question spécifique du mobile avec des applications intégrant le script, ce qui a une sérieuse tendance à réduire l'autonomie. Dans sa foire aux questions, l'équipe estime que le minage sur smartphone « sera lent et drainera la batterie des utilisateurs. Si vous avez uniquement des utilisateurs sur mobile, il n'est pas intéressant ».

Le groupe a ajouté un paramètre pour détecter les terminaux mobiles le 1er novembre, afin d'interdire l'exploitation d'un smartphone. Rien ne semble prévu pour les ordinateurs portables, dont la batterie peut également souffrir.

Des auteurs discrets et des revenus potentiels faibles

Les auteurs de la plateforme restent discrets sur leur identité, sans la moindre mention légale sur le site. Le nom de domaine coinhive.com est enregistré chez le registrar allemand Key Systems et les informations whois du propriétaire sont masquées. Les revenus générés sont encore inconnus.

L'influence concrète de Coinhive sur Monero est encore à déterminer. Fin août, la valeur de la crypto-monnaie connaissait un énorme bond après son arrivée sur la plateforme d'échange coréenne Bithumb, attirant de fait de nouveaux mineurs. Le lancement du service de minage à la mi-septembre a coïncidé avec une légère hausse, de l'ordre de 10 % du hashrate, soit la puissance totale de calcul déployée sur le réseau :

Hashrate Monero
Le hashrate de Monero, sans bond majeur depuis septembre - Crédits : Bitinfocharts

La pérennité du système reste à démontrer, alors que des entreprises (dont des médias) expérimentent ce modèle en parallèle ou à la place de la publicité. Le risque vient notamment de l'appui sur une crypto-monnaie, dont le paiement pour une même puissance de calcul peut grandement fluctuer.

Fin septembre, TorrentFreak calculait que pour un site de la taille de The Pirate Bay, avec 315 millions de visiteurs mensuels restant cinq minutes par visite, le site pourrait espérer environ 12 000 dollars de revenus mensuels. Le potentiel est là, à condition d'avoir une large base d'utilisateurs.

L'alternative est d'avoir des internautes qui restent plus longtemps. C'est ce que recommande ouvertement Coinhive dans sa foire aux questions. « Implanter un système de récompense pour votre site ou un jeu où les utilisateurs doivent miner sur de longues périodes est bien plus faisable [que d'attirer des masses d'internautes]. Avec seulement 10 à 20 mineurs actifs sur votre site, vous pouvez espérer un revenu mensuel d'environ 0,3 XMR (environ 43 dollars) ».

Il reste aussi la question du coût pour l'internaute lui-même. Trustwave a miné pendant 24h via le script par défaut de Coinhive, via un ordinateur aux caractéristiques non précisées. Il aurait consommé 1,212 kWh supplémentaire en 24 heures. Pour un Américain, cela donnerait en moyenne de 2,90 dollars à 5 dollars supplémentaires sur la facture mensuelle. En France, cela ajouterait jusqu'à 5,6 euros par mois chez EDF, dans le pire des cas.

Selon une étude de Palo Alto Networks, plus de 90 % de 827 sites utilisaient la configuration par défaut de Coinhive, qui exploite cinq threads en parallèle, de quoi geler par intermittence le navigateur sur un ordinateur avec un processeur d'entrée de gamme.

Une vague de mineurs depuis la mi-septembre 

À la mi-novembre, l'étude de Troy Mursch révèle que Coinhive a attiré du monde. Nommés JSECoin, Crypto-Loot, AFMiner ou Coinhave, ils ont bénéficié de la popularité de l'outil, qu'ils aient été lancés avant ou après. Le chercheur a trouvé JSECoin sur 905 sites, suivi par Crypto-Loot sur 123 sites, lancé début octobre. Ces chiffres sont donc à comparer aux 30 000 attribués au meneur, l'ensemble restant une estimation.

Le phénomène, encore jeune, est amené à évoluer dans les prochains mois. Une question centrale reste celle du coût et des gains pour les propriétaires de sites web, tentés de remplacer la publicité par cet outil, dont ils n'ont aujourd'hui pas le contrôle. L'acceptation par les visiteurs sera un élément-clé, ce type d'ingérence (surtout quand elle n'est pas signalée) étant avant tout perçu comme une nuisance.

La réaction éventuelle des autorités plane aussi, si le « cryptojacking » continue de gagner en popularité, sans que les usages légitimes ne prennent le dessus.


chargement
Chargement des commentaires...