Quand je me suis intéressé aux technos du web pour mon site perso, je suis tombé par hasard sur une extension permettant de bloquer certains petits programmes discrets de minage, implantés dans le code source.
1. Le cryptojacking#
La valeur des crypto-monnaies a explosé ces dernières années, incitant certains à en acquérir de manière pas très réglo. Le cryptojacking consiste à exploiter la puissance de calcul du processeur (CPU) ou de la carte graphique (GPU) d’un appareil infecté pour générer des crypto-monnaies en arrière-plan. Ainsi, à l’ouverture de certaines pages web, un programme va tranquillement faire travailler ton PC à 5% ou 10% de sa puissance. Quasiment invisible.
Bien sur, ça peut affecter différents types d’appareils : ordinateurs, smartphones, tablettes, serveurs, et même des objets connectés (IoT). Le vrai problème, c’est que ces attaques sont furtives, conçues pour passer inaperçues et éviter d’être détectées par l’utilisateur. Contrairement à d’autres malwares, le cryptojacking ne crée pas de processus suspects visibles, ce qui rend sa détection difficile même pour les antivirus traditionnels.
2. Les risques#
- Ralenti des performances : L’utilisation non autorisée des ressources de l’appareil peut entraîner un ralentissement significatif des performances, impactant la réactivité de l’appareil et la durée de vie de la batterie pour les appareils mobiles.
- Surchauffe et dommages matériels : Une utilisation intensive du processeur ou de la carte graphique peut provoquer une surchauffe, risquant d’endommager le matériel.
- Augmentation de la consommation électrique : Le cryptojacking peut faire grimper la consommation d’énergie de l’appareil, entraînant des factures d’électricité plus élevées pour les utilisateurs ou les entreprises concernées.
- Violation de la vie privée : Les logiciels de cryptojacking peuvent accéder à des informations sensibles stockées sur l’appareil, compromettant la vie privée de l’utilisateur.
- Atteinte à la réputation : Si un appareil est utilisé pour mener des activités de cryptojacking, cela peut ternir la réputation de l’entreprise ou de l’organisation associée, surtout si les utilisateurs en sont conscients.
- Perte de confiance des utilisateurs : Les utilisateurs pourraient perdre confiance dans les services ou sites web qui exploitent secrètement leur matériel pour du cryptominage, ce qui peut entraîner une perte de clients ou d’utilisateurs.
En 2018, une station d’épuration européenne a été crypto-jackée, altérant la capacité du système à fournir un service public.
3. Facile de s’y mettre#
L’adoption croissante du minage via les navigateurs est en grande partie due à la simplicité de sa mise en œuvre : en 2017, Coinhive, une bibliothèque JavaScript, avait publié quelques lignes de code à intégrer sur des sites web pour lancer directement le minage.
Certains sites ont adopté cette nouvelle approche pour supprimer les publicités. The Pirate Bay était un exemple notable, mais ils ont fini par abandonner la pratique à cause des retours négatifs de leurs utilisateurs. Bien que Coinhive ait mis fin à ses services en 2019, d’autres ont repris le flambeau et cette pratique est encore bien présente aujourd’hui.
4. Quelques exemples connus#
Voici une petite liste non exhaustive de sites « infectés ». À noter que certains mineurs sont placés directement dans les sous-répertoires et non sur la page principale du site.
La plupart de ces sites ont été nettoyé ou ont changé d’URL, mais ça permet d’avoir une idée de l’ampleur de ces infections.
4.1. Différents types de services en ligne#
- Générateur de tableaux : https://www.tablesgenerator.com/
- Générateur de liens URL : http://checkshorturl.com/
- Comparateur d’assurances : https://www.assurance-et-mutuelle.com/
- Hébergement de fichiers : https://uptobox.com/
4.2. Journaux français pour les news#
- 20minutes : https://www.20minutes.fr/
- L’Express : https://www.lexpress.fr/
- Le Parisien : https://www.leparisien.fr/
- L’American Economic Association : https://www.aeaweb.org/
- France Info : https://www.francetvinfo.fr/
- BFMTV : https://www.bfmtv.com/
4.3. Sites gouvernementaux ou d’opendata#
- Site du Sénat : https://www.senat.fr/ (semble avoir été nettoyé)
- Site open data de Nouvelle-Zélande : http://nzdotstat.stats.govt.nz/
4.4. Sites de formation ou d’articles de recherche#
- Le manuel Ubuntu, RTFM ! http://manpages.ubuntu.com/
- Répertoire des licences creativecommons : https://creativecommons.org/
- Développement IT : https://www.developpez.com/
- Blog maths et dessins : https://mathwithbaddrawings.com/
4.5. Sites de loisirs#
- Cinéma : https://www.allocine.fr/
- France TV : https://www.france.tv/
- JeuxVidéo : https://www.jeuxvideo.com/
4.6. Sites commerciaux#
- Chaussures : https://www.chausport.com/
- Croquettes pour animaux : https://kalivet.com/
- Réserver une balade en voiture : https://www.eventouri.com/
Il y a aussi des sites de jeux et de streaming de films, où le code peut miner de la crypto pendant plus d’une heure sans interruption.
5. Garde du corps pour mon PC#
5.1. MinerBlock#
L’extension minerBlock pour navigateurs, créée par Ismail Belkacim (xd4arker), fournit un premier niveau de protection. Dans sa version actuelle (1.2.16), elle bloque les mineurs de deux manières :
- blocage des requêtes/scripts chargés contenant des termes sur liste noire (CoinHive, Mineralt, Webminerpool).
- détection de comportements potentiels de minage dans les scripts chargés, ce qui permet à l’extension de bloquer les scripts passant par un proxy. Son code est dispo sur GitHub.
5.2. NoScript#
NoScript est une extension qui bloque par défaut tous les contenus exécutables comme JavaScript, Java ou Flash. C’est à l’utilisateur de créer une liste blanche de sites de confiance (banque, e-mail, etc.). Cela peut sembler assez restrictif au début, pendant que vous définissez votre liste blanche.
Références#
- Définition du cryptojacking : https://fr.malwarebytes.com/cryptojacking/
- Article du Wall Street Journal : How to Keep ‘Cryptojackers’ Off Your Devices As Bitcoin Soars
- The Pirate Bay and the use of cryptojacking : Seriez-vous prêt à miner de la monnaie cryptographique afin de surfer sans publicité sur un site ?
- Cryptojacking d’une station d’épuration des eaux : Water Utility in Europe Hit by Cryptocurrency Malware Mining Attack