Coinhive : la fulgurante expansion du minage caché de crypto-monnaie dans le navigateur
À l'insu de leur plein gré
Le 23 novembre 2017 à 15h47
12 min
Économie
Économie
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.
Voilà le genre d'endroits où ça me gonfle particulièrement de trouver coinhive en loucedé. pic.twitter.com/qRFfhBVRgY
— Nicolas Charciarek (@dinoroll) 10 octobre 2017
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 :
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 24 h 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.
Coinhive : la fulgurante expansion du minage caché de crypto-monnaie dans le navigateur
-
Derrière Coinhive, la crypto-monnaie Monero
-
De premières intégrations (trop) discrètes
-
« Cryptojacking » et bloqueurs de publicité
-
Coinhive montre patte blanche avec AuthedMine.com
-
Le service piraté fin octobre, la question du mobile
-
Des auteurs discrets et des revenus potentiels faibles
-
Une vague de mineurs depuis la mi-septembre
Commentaires (37)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 23/11/2017 à 20h28
Les articles suivants ne vont pas te rassurer :
En fait, même s’il existera toujours des médias/espaces sans publicité, on a plus l’impression que la publicité ciblée (connectée) envahira la vie de tous les jours plutôt que l’inverse " />
Le 23/11/2017 à 20h58
No-script + requestPolicy. Tu galères un peu au début à trouver le minimum requis pour avoir un site “affichable”, mais au moins t’es tranquilles et tu as les listes blanches permanentes une fois trouvé " />
Le 23/11/2017 à 21h06
Pour avoir déjà fait l’expérience, non c’est horriblement désagréable d’avoir ça. Je me suis retrouvé avec une conso CPU ahurissante qui faisait hurler le ventilo du PC, sur une tour fixe. Je n’ose imaginer le carnage sur un appareil plus limité tel qu’un smartphone, déjà que sur ces engins la navigation web est une catastrophe nucléaire.
Le 23/11/2017 à 21h13
Non mais le problème c’est de trouver un site de test.
Le 23/11/2017 à 22h21
Perso je mine donc proc et cg a 100%, si mon proc tourne a 20% pour miner je le verrai même pas…
Le 23/11/2017 à 23h52
Le 24/11/2017 à 03h40
Le 24/11/2017 à 06h27
Certes, parce que tu pratiques déjà. Comme moi qui ait un serveur perso chez moi qui tourne H24, je n’irai pas me plaindre de la conso électrique.
Sauf que dans les deux cas, il y a consentement de l’action. Dans le cas d’un site qui pratique ce mode de financement sans le savoir ou le force en connaissance de cause, ça revient au même principe que les publicités abusives qu’on trouve sur les torchons du Web ou les sites de vidéo de cul qui obligent impérativement à naviguer avec un bloqueur de contenu… (cliquez un lien Google News sur un smartphone, de mes stats perso, 1% de chances de pouvoir lire l’article sans être bloqué dans la lecture)
Résultant du fait qu’au même titre que la publicité, la méthode de financement est inefficiente et entraîne avant tout un immense gaspillage de ressources (en temps, énergie, humaine…).
Le 24/11/2017 à 07h38
Le 24/11/2017 à 08h07
Le 24/11/2017 à 08h09
Le 24/11/2017 à 08h16
Le 24/11/2017 à 08h37
Hé hé merci bien, je suis content de voir que uBlock Origin marche :)
Mes 2 cpu sont à 100% quand je désactive le blocage.
Le 24/11/2017 à 08h47
Le principe du coinhive ne me déplaît pas en fait, s’il ne consomme pas plus de data. La pub elle-même consomme déjà. Mais si en plus on pouvait choisir plus ou moins de charge CPU, nous donnant plus ou moins de contenu/perf et le tout bien centralisé (que 6 sites ne fassent pas 120% du CPU), ça serait pas plus mal.
NXI, une option à prévoir? (en opt-in bien entendu)
Finalement en y réfléchissant, les majors comme Facebook, Google (Ms dans une moindre mesure) qui permettent l’utilisation de leur ID sur d’autres sites pourraient centraliser nos porte-monnaie bitcoin (et assimilés) afin d’avoir sur ces sites de l’internet sans pub - ou payer un abonnement musical - ou permettre d’acheter une video.
La prochaine évolution, c’est d’utiliser webassembly pour miner, ça sera bien plus rentable je pense.
Et puis, sans pub, on peut surfer de façon assez agréable (sauf sites particulièrement lourds en JS) sur un pentium-m à 2GHz/2Go de RAM :)
Reste que écologiquement je pense que c’est une catastrophe.
Le 24/11/2017 à 08h47
Ce qui est moche dans ce concept, c’est que énergétiquement, je sens que c’est une bonne catastrophe !
Le principe, étant qu’on va faire bosser une superposition de choses pas super efficaces énergétiquement (du JS, sur un processeur qui n’est pas la meilleure chose pour du hash, sur mon processeur qui est pas particulièrement efficace non plus – C’est un AMD FX8350 overclocké, on repassera pour l’efficacité !).
Donc, si je fais comme d’habitude et que je laisse plein d’onglets ouverts, je vais me retrouver avec des onglets qui me bouffent plein de ressources, ce qui, au final a une bonne chance de faire ramer un jeu que je lancerai.
Et le dernier aspect, face à un empilement d’inefficacité énergétique… Bah c’est que ça bouffe du courant !
Un PC presque au repos qui tourne 8h par jour, ça consomme pas tant que ça, mais s’il y a un site qui bouffe un coeur, on n’est plus du tout dans la même consommation ! Adieu mode économie d’énergie du processeur, et autres optimisations qui évitent que ça chauffe !
On remet ça sur 1 an, et là on voit la facture d’électricité ! Je pense que je préfère payer un abonnement plutôt que ça. Encore faudrait-il que j’aie encore de l’estime pour le site en question (c’est pas après avoir découvert que ça minait que je vais m’abonner).
Le 24/11/2017 à 09h12
Le 24/11/2017 à 09h26
Le 24/11/2017 à 09h28
Le 24/11/2017 à 09h29
Le problème de fond, c’est que les *coins que tu mines ne sont adossés à aucune valeur réelle. C’est encore une bulle spéculative et une économie du vide.. C’est bien beau de miner, mais si tu produis rien, ça va se casser la gueule
Le 24/11/2017 à 09h41
J’ai teste en desactivant ublock et noscript et effectivement j’ai un coeur a 100%, sur un pauvre i3 de 2010 ca fait mal.
Le 24/11/2017 à 09h43
Comme celui-là par exemple ? https://bitminter.com/test
Le 24/11/2017 à 09h57
Bien vu mais…
Java is required.
–> poubelle
Le 24/11/2017 à 10h55
Celui-ci alors ? https://coinhive.com/
Petit tuto anti mining par ici : https://www.malekal.com/web-miner-javascript/#Bloquer_les_web-miner
Le 24/11/2017 à 11h15
Le 24/11/2017 à 12h35
Pour moi, le problème est que l’utilisateur n’a aucune notion du coût de la surconsommation électrique, même s’il est au courant du procédé (vu qu’à priori ça dépend de la conf du script et du prix de l’électricité). C’est con mais mais j’accepte pas d’acheter quelque chose donc je ne connais pas le prix avant.
Le 24/11/2017 à 14h27
Haha oui mon bloqueur aussi n’a pas trop aimé, après ça reste 2 pratiques différentes :)
Le 24/11/2017 à 18h03
Le 23/11/2017 à 16h08
Existe-t-il un moyen de vérifier si notre navigateur/extension bloque bien le minage ?
Le 23/11/2017 à 16h11
Si tu utilises une extension de type No-Script, alors oui, tu verras le fichier JS du framework bloqué. Dans le doute, avec la vue développeur (Chrome ou FF) tu peux vérifier au niveau “Réseau” qu’il n’y a pas de trafic douteux.
Le 23/11/2017 à 16h15
Sous Firefox, il existe Mining Blocker et sous Chrome minerBlock.
Le 23/11/2017 à 16h18
uBlock Origin le bloque aussi. Tu peux le vérifier en ouvrant le journal de requêtes de l’extension.
Au pire, regarder dans le gestionnaire de tâches qu’il n’y a pas une activité processeur suspecte.
Le 23/11/2017 à 16h21
Les bloqueurs de pub bloquent au chargement de la page, les bloqueurs dédiés bloquent au chargement, et après le chargement, afin d’éviter une intégration en loucedé. C’est complémentaire.
NoScript fait bien sûr la totale, mais de plus en plus de sites sont inaccessibles sans javascript, et je le déplore fortement.
Le 23/11/2017 à 16h27
Ca me parrait plutot une très bonne idée! perso ca me derangerai pas SI c’était bien spécifié sur les sites qui utilise ce genre de script!
Le 23/11/2017 à 17h46
Je trouve que c’est une bonne alternative à la pub, pourquoi pas creusé l’idée ?
Les bloqueurs de pub qui monte rapidos au creneau pour tout bloquer montrent à quel point ils sont aussi nuisible que les pubs.
Quand je vois les gens qui sont content de tout bloquer, et de le dire à haut voix leur fierté de tout bloquer, ca montre à quel point il y a un grave problème à ce niveau la sur internet. Et c’est pas prêt de s’améliorer.
A côté ca c’est marrant mais y a toujours autant d’auditeur pour les radios, et pourtant elles sont blindé de pub toutes les 5 min, et manifestement y a peu de monde que ca dérange. Mais qu’on ose chercher/trouver des solution alternative pour la pub sur internet et direct t’as tout les nuisible qui se ramène pour tout bloquer sans réfléchir. Tout ca me fait gerber.
Le 23/11/2017 à 18h56
Hébé je n’ai jamais autant aimé noscript et bFilter. Il est vraiment chiant en fin 2017 de surfer en whitelist mais y a vraiment que ça pour ne pas être pigeonné…
Ou alors la solution nxi, mais tellement peu proposent un équivalent !! Suis fan de la possibilité de virer les réseaux sociaux qui ne sont alors pas envoyés ds le flux, mieux que le filtrage côté client.
Le 23/11/2017 à 18h59
L’idée a effectivement du mérite mais, comme toujours, c’est la mise en pratique qui pêche.
Personnellement, ça ne me dérangerait pas de partager une partie de la puissance de calcul de mon PC pour compenser de la publicité sur des sites que je visite. Si c’est bien fait, ça pourrait même tirer la qualité des sites vers le haut puisque il serait plus intéressant de publier de longs articles occupant longtemps les visiteurs. Un grand nombre d’articles à click n’apporteraient rien.
Le 23/11/2017 à 19h23
“manifestement y a peu de monde que ca dérange”
Ah bon?
La pub me fait gerber, point.
Quand on aura trouvé un système de micropaiement simple, sans abonnement et sans pub pour consulter une page sur internet, je ne consulterai plus que les sites qui le proposent.