Spam referrer : modèles d’attaques et contre-mesures

Le trafic de données entrant est l’un des principaux indicateurs de succès d’un site Web. Les opérateurs utilisent des mesures comme les visites et impressions de pages pour mesurer les flux de visiteurs et évaluer la performance des projets Web. Cela se fait dans le contexte de l’analyse des fichiers log. De plus, les exploitants de sites utilisent des solutions logicielles basées sur le Web telles que Google Analytics, Piwik ou etracker, afin de collecter et évaluer les données relatives au trafic. Si des irrégularités se produisent, cela est dû, entre autres, au spam referrer (également appelé spam des sites référents). Nous vous montrons comment détecter les attaques spam de ce type et comment prévenir durablement les statistiques falsifiées.

Qu’est-ce que le spam referrer?

Le spam referrer est une forme de spam de moteur de recherche dans lequel les pirates informatiques (les « hackers ») tentent de manipuler les fichiers logs et les statistiques d’analyse de certains sites Web. Le but est de générer ce que l’on appelle du faux trafic, afin de simuler des flux de visiteurs ou provoquer l’accès à son propre site Web. Les deux modèles d’attaque reposent sur des programmes informatiques largement indépendants, ce que l’on appelle des bots (abréviation de « robot »).

Que sont les spams bots?

Les programmes informatiques qui exécutent automatiquement des tâches répétitives sont une composante centrale du World Wide Web tel que nous le connaissons aujourd’hui. Les moteurs de recherche comme Google ou Bing utilisent des programmes de ce type, afin de chercher à travers le Web et indexer les pages pertinentes. On parle alors de crawler Web ou de searchbots.

Cependant, les hackers utilisent également des bots pour automatiser leur activité sur le Web. A l’inverse des crawlers des fournisseurs de moteur de recherche, l’accent n’est pas mis sur l’intérêt des utilisateurs. Ces programmes sont utilisés à la place dans les attaques spam pour :

Le spam de sites référents est aussi généralement basé sur un bot. Il faut différencier deux classes de robots collecteurs de spam :

  • Programmes qui simulent des visites de pages de sites Web : les spam bots de ce type imitent les navigateurs Web courants tels que Chrome, Firefox ou Safari et envoient en masse des requêtes HTTP aux serveurs Web choisis. Ces programmes s’apparentent aux crawlers Web des fournisseurs de moteurs de recherche et se camouflent aussi en navigateur Web. Puisque les programmes de ce type de spam simulent la visite d’un site Web de la part d’un utilisateur humain, le modèle de l’attaque est alors appelé crawling spam. Les effets du crawling spam sont visibles dans les fichiers log du serveur. On parle alors aussi de spam de fichiers log.
  • Programmes qui falsifient les données relatives au trafic : les spam bots imitent les données relatives au trafic d’autres sites Web et les introduisent de manière inaperçue dans le serveur des outils d’analyse Web établis. Un tel modèle d’attaque permet de manipuler les statistiques Web sans qu’il y ait d’interaction avec le site cible. Ce modèle d’attaque n’apparaît pas dans le fichier log du serveur, mais exclusivement dans les rapports du logiciel d’analyse manipulé. C’est ce que l’on appelle le ghost spam.

Nous examinons en détail les deux modèles d’attaques et vous présentons des contre-mesures.

Crawler spam

La plupart des serveurs Web conservent un fichier log central (le journal d’accès) dans lequel tous les accès sont enregistrés dans un ordre chronologique avec un horodatage. L’exemple suivant montre l’entrée du journal d’accès d’un serveur Apache en combined log format (format log combiné) :

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

L’entrée contient les informations suivantes :

Information

Exemple

Adresse IP-de l’hôte demandeur

127.0.0.1

Nom d’utilisateur de l’authentification HTTP

frank

Horodateurs

[10/Oct/2000:13:55:36 -0700]

Requêtes HTTP

GET /apache_pb.gif HTTP/1.0

Code d’état HTTP

200

Taille de fichier

2326

Referer [sic]

www.example.com/start.html

Agent utilisateur

Mozilla/4.08 [en] (Win98; I ;Nav)

Les hackers utilisent la journalisation automatique via des fichiers log, afin d’injecter leur propre URL dans les fichiers log au moyen de requêtes HTTP de masse. Au premier plan se trouve le champ referrer[sic] (champ de référence) de la requête HTTP. Celui-ci contient l’URL du site Web de référence.

Note

en raison d’une erreur d’orthographe dans la spécification HTTP, l’orthographe incorrecte « Referer » a été établie pour le champ correspondant dans l’en-tête http. Dans d’autres normes, l’écriture correcte avec deux r est utilisée.

Si un internaute clique sur l’hyperlien, il atterrit alors sur la page cible depuis le site Web actuel. Le referrer contient dans ce cas l’URL du site Web sur lequel se trouve le lien. Grâce à l'analyse d'un fichier log, l'opérateur de la page cible apprend quelles pages Internet renvoient vers son site et peut identifier les sources potentielles de trafic.

Par le passé, il était courant dans l’univers des bloggeurs de publier les informations referrer du fichier log dans un widget sur leur propre site et de montrer ainsi l’origine des flux de visiteurs. Le placement dans ces listes prenait généralement la forme d’un lien vers la source de trafic. Les pirates informatiques ont profité de cette pratique pour manipuler les fichiers log des blogs et autres sites Web afin de positionner leurs propres projets Web aussi haut que possible dans les listes de liens publics et ainsi générer des backlinks et pages vues.

Aujourd'hui encore, des robots spammeurs spéciaux sont utilisés pour interroger des pages cibles à grande échelle et transmettre en tant que referrer l'URL du site Web aux serveurs, dont la visibilité doit être augmentée. Cependant, les attaques spam de ce type ont fortement diminué. L'une des raisons est que les listes de referrer générées automatiquement ne se trouvent pratiquement plus sur les sites Web aujourd'hui. Cela s'explique en partie par les changements importants apportés à l'algorithme de classement du leader du marché des moteurs de recherche Google. Depuis la mise à jour Penguin en avril 2012 au plus tard, Google s'intéresse de près au spam Web en relation avec les backlinks. Les projets Web qui se démarquent par leur sur-optimisation doivent s'attendre à une pénalité. C'est par exemple le cas si les sites Web ont un grand nombre de backlinks provenant d'environnements non pertinents, de listes de liens et de réseaux, d'annuaires d'articles ou de commentaires de blogs.

Aujourd'hui, les analyses de fichiers log sont rarement effectuées manuellement. À la place, des outils tels que Webalizer, AWStats ou Piwik sont utilisés. De plus, les outils d'analyse Web tels que Google Analytics offrent la possibilité d'évaluer les données de trafic sans utiliser les fichiers log du serveur. Ils ne sont pas moins sensibles au crawler spam ou ghost spam.

Identifier le crawler spam

Nous vous montrons ci-dessous dans l’exemple Google Analytics comment vous pouvez reconnaître un crawler spam dans les statistiques de votre site Web et filtrer les referrer visibles.

  1. Ouvrir le compte Google Analytics : ouvrez le compte Google Analytics de votre projet Web.
Note

toutes les captures d'écran de la vue Web de Google Analytics proviennent de la boutique Google Merchandise Store, qui est donnée par le fournisseur sous forme de démo. Vous trouverez le lien vers le compte sur les pages d'aide de Google Analytics. L'accès nécessite un compte Google gratuit

2. Récupérer les statistiques du referrer : sélectionnez dans la barre latérale l’option de menu « Acquisition » et cliquez sur la sous-rubrique « Références » sous « Tous les accès ».

3. Fixer la période considérée : fixer la période d’observation du rapport aux trois derniers mois.

4. Trier/filtrer les statistiques du referrer : sous « Acquisition » > « Toutes les visites » > « Références », Google Analytics présente toutes les sources d’hyperliens dirigeant vers votre site Web comme une dimension primaire dans un rapport de synthèse. Vous recevrez une liste de toutes les URL du referrer qui ont été enregistrées par Google Analytics au cours de la période de consultation sélectionnée, ainsi que les valeurs de mesure respectives qui peuvent être attribuées à ces URL.

Pour chaque referrer, Google Analytics affiche le nombre d’utilisateurs et de sessions générés par ce lien. De plus, le taux de rebond moyen, le nombre de pages vues par session, la durée moyenne de la session, les taux de conversion, les transactions et les ventes générées peuvent être lus à partir des statistiques.

Dans le cadre de la prévention du spam, c’est le nombre de pages vues (sessions) par source de référence, ainsi que le taux de rebond moyen, qui sont d’une importance particulière.

Sous « Comportement » cliquez sur le champ « taux de rebond », afin de trier la vue selon les ratios de cette colonne par ordre décroissant.

Le taux de rebond représente une donnée en pourcentage qui montre combien des pages vues l’ont été via la source, sans interaction avec votre site Web. Un taux de rebond de 100% ou 0% pour plus de 10 sessions, qui se font suite à la même source de référence est un indice clair d’interrogation automatique.

Vous pouvez autrement utiliser une expression régulière (« Regular Expression », RegEx) pour filtrer la vue pour les référents spam connus. Il s’agit, par exemple, des sites Web suivants :

  • semalt.com
  • darodar.com
  • hulfingtonpost.com
  • buttons-for-website.com
  • best-seo-solution.com
  • free-share-buttons.com

Un modèle de filtre correspondant pourrait ressembler à ceci :

semalt|darodar|hulfingtonpost|buttons-for-website|best-seo-solution

Le signe (|) correspond à une logique ou. Les méta-caractères tels que les points (.) doivent être masqués avec une barre oblique inverse précédente (\).

Afin d’utiliser le filtre, cliquez sur « Avancé » dans la barre de menu au-dessus du tableau de données.

Un masque de filtre s‘affiche.

Créer un filtre inclus pour la dimension « Source » et sélectionnez l’option de filtre « Corresponding RegEx » (RegEx correspondant). Ajoutez n’importe quelle expression régulière comme modèle de filtre. Confirmez le processus en cliquant sur « Appliquer ».

5. Noter les referrer visibles : créez une liste noire de spam referrer dans laquelle vous incluez toutes les URL de sources suspectes. Cette liste servira plus tard de base à un filtre d’exclusion.

Bloquer un crawler spam via .htaccess

Le crawler spam sous-entend une visite sur votre site Web. Des contre-mesures fiables peuvent donc déjà être mises en place côté serveur. Nous vous montrerons comment procéder en utilisant le fichier de configuration .htaccess du serveur Web Apache le plus utilisé au monde

Si vous remarquez des URL visibles dans vos statistiques de referrer, les procédures suivantes peuvent être utilisées pour empêcher les robots spammeurs d’accéder aux pages Web :

  • Bloquer le referrer
  • Bloquer les adresses IP
  • Bloquer les agents utilisateurs

Bloquer le referrer via .htaccess

Pour bloquer les URL du référent sélectionné, ouvrez le fichier htaccess-de votre serveur Web et ajoutez une section de code en utilisant l’exemple suivant :

RewriteEngine on
  RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*semalt\.com\ [NC,OR]
  RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*darodar\.com\ [NC,OR]
  RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*hulfingtonpost\.com\ [NC,OR]
  RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*buttons\-for\-website\.com\ [NC,OR]
  RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*best\-seo\-solution\.com\ [NC,OR]
  RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*free\-share\-buttons\.com\ [NC]
RewriteRule .* - [F]
  

La défense anti-spam côté serveur est basée sur la règle RewriteRule:

.* - [F]

Celle-ci ordonne au serveur Web de répondre à toutes les requêtes HTTP entrantes avec le code d’état 403 Forbidden (interdit), dans la mesure où une ou plusieurs conditions (RewriteCond) sont remplies. L’accès aux robots collecteurs de spam n’est ainsi plus possible.

Dans l’exemple actuel, chaque referrer qui doit être bloqué est défini, selon l’exemple suivant, comme une expression régulière dans un RewriteCond séparé :

RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*semalt\.com\ [NC,OR]

La condition est considérée comme remplie si la variable serveur %{HTTP_REFERER} correspond à l’expression régulière définie dans le RewriteCond, par exemple :

^https?://([^.]+\.)*semalt\.com\ 

Les conditions individuelles sont reliées par le drapeau [OR] dans le sens d’une logique ou. Par conséquent, un seul RewriteCond doit être rempli pour que la règle RewriteRule soit appliquée. L’indicateur [NC] définit la chaîne de caractères précédente comme non sensible à la casse (aucune différence de signification entre majuscules et minuscules).

Alternativement, vous avez aussi la possibilité de définir certains mots-clés dans le RewriteCond, qui mènent à une exclusion s’ils apparaissent dans le référent d’une requête HTTP. Dans l’exemple suivant, toutes les requêtes HTTP, dont le référent contient l’un des mots-clés pornographie, pilule ou poker sont bloquées.

Les mots-clés doivent être munis de limites de mots à l’aide de RegEx. Utilisez pour cela le méta-caractère \b.

RewriteEngine on
RewriteCond %{HTTP_REFERER} \bporn\b [NC,OR]
RewriteCond %{HTTP_REFERER} \bpill\b [NC,OR]
RewriteCond %{HTTP_REFERER} \bpoker\b [NC]
RewriteRule .* - [F]

L’exclusion de mots clés sans limite de mots aurait le désavantage de bloquer les requêtes HTTP ; même si les combinaisons de lettres définies dans le RewriteCond sont utilisées dans un autre contexte, comme cela serait le cas avec les requêtes HTTP via les sites Web suivants par exemple :

manu.sporny.org/

www.rittersporn-zuchter.de/

www.fersensporn-online.de/

Bloquer les adresses IP via htaccess

Vous avez constaté que les attaques de spam sur votre site Web proviennent à plusieurs reprises des mêmes adresses Internet ? Dans ce cas, il est conseillé de bloquer les adresses IP correspondantes ou l’ensemble des plages d’adresses via htaccess.

Si vous souhaitez seulement bloquer une adresse IP unique, ajoutez un bloc de code dans votre fichier .htaccess suivant l’exemple ci-après :

RewriteEngine On
Order Deny,Allow
Deny from 203.0.113.100
Allow from all

Toutes les requêtes HTTP qui découlent de l’adresse IP 203.0.113.100 seront automatiquement réfutées à l’avenir. Un tel bloc de code peut contenir n’importe quel nombre d’adresses IP. Enumérez-les ensemble comme dans l’exemple suivant :

RewriteEngine On
Order Deny,Allow
Deny from 203.0.113.100
Deny from 192.168.0.23
Allow from all

Si une plage entière d’adresses doit être interdite d’accès à votre site Web, notez-la selon le schéma suivant au format CIDA (Classless Inter-Domain Routing) :

RewriteEngine On
Order Deny,Allow
Deny from 198.51.100.0/24
Allow from all

Toutes les requêtes de la plage d‘adresses IP 198.51.100.0 bis 198.51.100.255 seront bloquées.

Attention : les hackers utilisent généralement ce que l’on appelle des robots sociaux (botnets), afin d’interroger rapidement les pages cibles à partir d’une variété d’adresses IP différentes. Ainsi, il est pratiquement impossible d’empêcher durablement l’accès aux spams par le blocage des adresses IP.

Note

un botnet est un réseau d’ordinateurs infectés (appelés PC zombies) qui sert de base aux attaques de spam ou à l’envoi de logiciels malveillants. Pour mettre en place un tel réseau, les hackers introduisent clandestinement sur Internet leurs logiciels malveillants au sein d’ordinateurs insuffisamment sécurisés et utilisent leurs ressources réseau pour lancer des attaques contre d’autres internautes. Les botnets sont en règle générale dirigés de manière centralisée et sont le point de départ d’énormes vagues de spam et d’attaques DDOS à grande échelle.

Bloquer les user agents via .htaccess

Une autre possibilité de lutte contre les attaques spam consiste à bloquer certains User Agents (agents utilisateurs) dont l’ID est utilisée par les spam bots, afin d’usurper l’identité des visiteurs légitimes.

Créez pour cela une section de code selon l’exemple suivant :

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Baiduspider [NC]
RewriteRule .* – [F,L]

Par le passé, les opérateurs de site Web ont enregistré à plusieurs reprises des accès par des spam bots qui se posaient comme robots de recherche pour le moteur de recherche chinois Baidu (Baiduspider). Si vous n’attendez pas de trafic naturel de la Chine sur votre site Web, vous pouvez bloquer ce crawler en toute sécurité, pour prévenir les attaques de spam.

Filtre Google Analytics

La prévention du spam côté serveur via htaccess est le moyen le plus durable de prévenir les crawler spams. Cependant, l’adaptation du fichier htaccess prend du temps et est sujette aux erreurs. Tous les exploitants de sites Web n’osent pas formuler leurs propres règles de réécriture, pour une bonne raison car les erreurs peuvent avoir des effets graves sur l’accessibilité d’un site Web. Alternativement, vous pouvez filtrer les spam bots automatiques à partir des statistiques du programme d’analyse utilisé pour empêcher les rapports corrompus. Nous vous montrerons comment procéder en utilisant Google Analytics comme exemple.

Google Analytics vous offre deux options permettant de filtrer les spam referrer depuis la vue des données.

  • Liste noire des spam referrer Google
  • Filtres personnalisés

La vidéo YouTube suivante fait partie du « Digital Analytics Fundamentals Course » de l’Analytics Academy et offre une introduction à la fonction filtre de Google Analytics :

Liste noire Google du spam referrer

Google a également reconnu le problème du spam referrer dans l’analyse des statistiques des utilisateurs. Ainsi, tous les bots et spiders connus peuvent être filtrés automatiquement. Pour ce faire, procédez comme suit :

1. Ouvrir les paramètres d’affichage des données : ouvrez votre compte Google Analytics et cliquez en bas à gauche sur « Administration » dans la barre de menu. Sélectionnez l’option de menu « Paramètres d’affichage des données ».

2. Activer la liste noire Google de spam referrer :faites défiler vers le bas jusqu’à la section « Filtrer les robots » et cochez « Exclure tous les résultats de bots et spiders connus ».

Google vous montre maintenant une version nettoyée des statistiques de votre site Web.

Attention : ce sont uniquement les données utilisateurs, que l’outil peut affecter aux spam bots connus, qui seront filtrées. Le filtre ne s’applique donc qu’aux bots et spiders listés dans la liste noire de spam Google :

Filtres personnalisés

Google Analytics vous permet également de définir des filtres au niveau du compte ou l’affichage des données. Les filtres définis au niveau du compte peuvent être appliqués à un ou plusieurs affichages de données selon les besoins. Si un filtre a été créé au niveau de l’affichage des données, il ne s’applique qu‘à l’affichage sélectionné.

Testez d’abord les filtres nouvellement créés en les appliquant à une copie de l’affichage des données souhaitée. Procédez comme suit :

1. Créer une copie de l’affichage des données : naviguez via « Administration » > « Affichage des données » jusqu’au menu « Paramètres de l’affichage des données » et cliquez sur « Copier l’affichage des données ». Nommez la copie comme vous le souhaitez et confirmez le processus en cliquant sur le bouton « Copier l’affichage des données ».

2. Définir le filtre défini par utilisateur : sélectionnez la copie que vous venez de créer sous « Administration » > « Affichage des données » et cliquez sur l’élément de menu « filtre ».

Si vous avez déjà créé des filtres pour cet affichage de données, Google Analytics les affichera dans une vue d’ensemble.

Pour définir un nouveau filtre défini par l’utilisateur, cliquez sur le bouton « +Nouveau filtre » et sélectionnez « Créer un nouveau filtre ».

Nommez le nouveau filtre (par ex. : referrer spam blocker).

Sélectionnez les options suivantes sous « Filtrer les informations » :

  • Type de filtre : « Personnalisé »
  • « Exclure »
  • Champ de filtre : « Source de la campagne »
Note

le nom du champ « Source de la campagne » définit la dimension « Source » pour les rapports Google Analytics.

Vous avez maintenant la possibilité de définir un motif de filtre sous la forme d’une expression régulière. Utilisez votre liste noire de spam referrer précédemment créée. Une telle configuration de filtre pourrait ressembler à ceci :

(?:([^. ]+)\.)?(?:([^.]+)\.)?(semalt|hulfingtonpost|buttons-for-website|best-seo-solution)\.(com|de|net|org|ru)

3. Vérifier le filtre : cliquez sur « Vérifier le filtre », afin de tester comment agit le filtre sur l’affichage de données actuel.

Note

la vérification fonctionne seulement si la vue sélectionnée contient suffisamment de données.

Cliquez sur enregistrer pour terminer la configuration du filtre. Le filtre d’exclusion nouvellement créé est affiché dans la synthèse.

4. Appliquez le filtre à la vue principale : si votre filtre personnalisé fonctionne comme voulu, appliquez-le à la vue principale de votre compte Google Analytics.

Note

les filtres de données sont un bon moyen de nettoyer vos rapports d’analyse des spams de parrainage. Sachez cependant que l’option de filtrage de Google Analytics ne cache que le trafic causé par les bots. Le vrai problème, la charge de votre serveur par des attaques de spam, n’est donc pas résolu. La prévention durable du spam devrait dont être basée sur des mesures côté serveur pour empêcher les spam bots de visiter automatiquement les sites Web.

Bloquer le spam referrer via le plugin WordPress

En tant qu’utilisateur d’une page d’accueil WordPress, vous pouvez sécuriser votre site Web contre les crawler spams en utilisant un plugin. Des logiciels tiers appropriés sont à votre disposition gratuitement via la page WordPress.

Les plugins WordPress les plus populaires, avec des mises à jour régulières, incluent :

Nous vous montrons, dans l’exemple suivant, comment installer et configurer les plugins WordPress contre le spam referrer en utilisant block referrer spam :

Installer le plugin spam referrer

Le système de gestion de contenu WordPress vous permet de gérer les plugins directement depuis la zone d’administration du logiciel. Procédez comme suit :

1. Ouvrir la zone d’administration WordPress : pour activer le plugin spam referrer, connectez-vous à la zone d’administration de votre page WordPress avec vos données de connexion.

2. Chercher et installer des plugins : naviguez jusqu’à l’option de menu « Plugins » et sélectionnez « Installer », afin d’ajouter d’autres plugins à votre page WordPress.

Entrez « Block Referrer Spam » dans la barre de recherche et cliquez sur « Installer » pour intégrer le plugin dans votre site Web.

Le plugin sera d’abord ajouté à votre liste de plugin à l’état désactivé.

3. Activer les plugins : lancez Block Referrer Spam en cliquant sur « Activer ».

La nouvelle option de menu « Referrer spam » apparaît dans la barre latérale de votre zone d’administration WordPress.

Configurer le plugin Referrer spam

Vous trouverez une courte description du plugin dans la zone de configuration du spam Block Referrer, ainsi que divers options sur les fonctions de mises à jour et blocages.

1. Ouvrir l’espace de configuration : cliquez sur l’option de menu « Spam referrer », pour personnaliser le plugin.

2. Etablir un plan de mise à jour : sélectionnez votre option de mise à jour préférée, mise à jour automatique ou manuelle du logiciel.

Conseil

utilisez la mise à jour automatique pour vous assurer que la liste noire du plugin est continuellement actualisée avec les adresses de spam connues, afin de la maintenir à jour.

3. Réglage du block modus (mode bloc) : sélectionnez le mode bloc de votre choix. Le plugin distingue le blocage de réécriture et le blocage WordPress.

Conseil

si possible, sélectionnez réécrire le blocage pour empêcher rapidement et efficacement l’accès aux spams au niveau du serveur Web.

4. Créer une liste noire de spam de référence personnalisée : afin de prévenir efficacement le spam, vous pouvez étendre manuellement la liste noire du plugin. Pour ce faire, entrez les sites Web remarquables dans le champ prévu à cet effet sous « Mes blocs ».

Enregistrez votre configuration en cliquant sur « Appliquer les modifications ».

La liste noire complète des spams du plugin est accessible via l’option de menu « Toutes les pages bloquées ».

Ghost spam

A l’inverse du crawler spam, le ghost spam agit sans interaction avec la page cible. Au lieu de cela, les bots envoient de fausses données brutes de trafic directement au serveur des outils d’analyse basés sur le Web. Ces derniers traitent le faux trafic avec les données réelles de l’utilisateur et transmettent les informations sous forme de rapports aux exploitants de sites Web. Comme il n’y a aucune visite sur le site Web lors de ce type d’attaque, l’appellation de ghost spam a été établie. Mais quel est le but de telles mesures par les hackers ?

Le but des attaques de ghost spam est d’attirer l’attention des opérateurs de sites Web. Les hackers jouent sur la curiosité de leurs cibles. L’idée derrière cela est la suivante : plus votre propre URL apparaîtra de manière régulière dans les rapports d’analyse d’autres sites Web, plus il y a de chances que les opérateurs des projets attaqués consultent la source de référence pour voir qui leur apporte tant de trafic. Les URLs de référence cachent habituellement les sites Web avec des annonces d’affichage qui doivent être monétisés de cette façon. Dans le pire des cas, les exploitants de ces sites Web utilisent des pourriels de référence pour infecter les ordinateurs des visiteurs sans méfiance avec des logiciels malveillants.

Nous vous montrons comment fonctionne le ghost spam en utilisant Google Analytics et ce que vous pouvez entreprendre contre ce type d’attaque.

Comment fonctionne Ghost-spam?

Dans le modèle d’attaque ghost spam, les hackers profitent du protocole de mesure de Google Analytics. Celui-ci est utilisé pour transférer les données de trafic entre votre site Web et le serveur Web de l’outil d’analyse.

Tout ce dont les hackers ont besoin pour obtenir des données de Google Analytics sont des identifiants de suivi valides. Il y a deux façons de procéder :

  • Les hackers utilisent des spam bots pour parcourir le code HTML des pages Web et lire les ID qu’elles contiennent.
  • Les ID de suivi sont créés au hasard, à l’aide d’un générateur.

De nombreux opérateurs de sites Web intègrent le code de suivi de Google Analytics directement dans le code HTML de leur site Web. L’extrait de code suivant est utilisé :

<!-- Google Analytics -->
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
<!-- End Google Analytics -->

Afin que le script puisse transmettre des données à Google Analytics, le caractère de remplacement UA-XXXXX-Y doit être remplacé par l’ID desuivi individuel de l’utilisateur respectif. Ceci est donc accessible à tout programme qui lit le code HTML d’un site Web bien préparé.

Cette vulnérabilité peut être corrigée en utilisant le Google Tag Managers. Les exploitants de sites Web disposent ainsi d’une interface utilisateur grâce à laquelle des extraits de code Google (appelés tags) peuvent être gérés de manière centralisée. Au lieu de plusieurs balises pour différents services Google, seul un extrait de code pour le Google Tag Manager est inclus dans le code HTML. Le code de suivi de Google Analytics, y compris l’identification individuelle, reste ainsi protégé contre l’accès par des tiers.

Le ghost spam peut en principe affecter n’importe quel rapport de Google Analytics. En plus des informations relatives au referrer, les hackers utilisent avant tout des rapports sur les principaux événements, les mots-clés, les pages d’atterrissage ou les paramètres de langues, afin d’infiltrer les données de trafic manipulées.

Dans le domaine du ghost spam, c’est le Russe Vitaly Popov qui rencontre le plus de succès. Depuis 2014, le hacker a pu infiltrer à maintes reprises les URL de ses propres sites Web dans les comptes Google Analytics. Fin 2016, le hacker a trompé la communauté du réseau avec une page Google présumée secrète. En plus des abréviations classiques comme fr, fr-fr ou en-us, des milliers d’utilisateurs d’Analytics dans le monde entier ont trouvé le message suivant dans les rapports sur les paramètres linguistiques de leur site Web :

« Secret.ɢoogle.com You are invited! Enter only with this ticket URL. Copy it. Vote for Trump! »

Cependant, les opérateurs de sites Web curieux qui ont suivi l’invitation ne se sont pas retrouvés sur Google, car :

ɢoogle.com ≠ Google.com

Au lieu de cela, une redirection a été faite vers le site Web de Popov, dont l’URL contient presque tout le texte du tube Money de Pink Floy de l’album The Dark Side of the Moon (1973).

money.get.away.get.a.good.job.with.more.pay.and.you.are.okay.money.it.is.a.gas.grab.that.cash.with.both.hands.and.make.a.stash.new.car.caviar.four.star.daydream.think.i.ll.buy.me.a.football.team.money.get.back.i.am.alright.jack.ilovevitaly.com

L’objectif de l’URL était un site Web dans le style d’un catalogue Web du début des années 2000 avec des liens vers divers moteurs de recherche et boutiques en ligne. Aujourd’hui, l’URL ne mène nulle part. Le but exact de l’attaque spam de Popov n’est pas clair. Il est possible que le hacker ne s’intéressait qu’à tester le potentiel de tromperie de l’URL Typosquatting-URL ɢoogle.com.

Fondamentalement, le ghost spam est agaçant mais il ne représente aucun danger pour votre site Web. Puisque le faux trafic ne donne pas lieu à de véritables accès de site Web, ni votre serveur, ni les fichiers logs ne sont surchargés par des requêtes automatiques. Toutefois, le ghost spam devient problématique si vous souhaitez évaluer les statistiques de votre site Web via Google Analytics.

Note

évitez d’accéder à des referrers obscurs dans votre site Web. Votre système risque autrement d’être infecté par des logiciels malveillants provenant de la cible du lien.

Identifier le ghost spam

Le ghost spam se base en règle générale sur des ID de suivi générés au hasard. Le spam bot ne sait donc pas quels sites Web sont concernés par l’attaque. Cela est exprimé par des incohérences dans vos données Google Analytics.

Si un utilisateur légitime accède à votre site Web via un lien, l’en-tête de la requête dans le champ « Host » HTTP contiendra inévitablement un nom d’hôte qui peut être attribué à votre réseau.

Cependant, les bots qui envoient du faux trafic  ne connaissent pas ces noms d‘hôte et remplissent le champ hôte avec un caractère de remplissage aléatoire. Autrement, le champ reste vide et Google Analytics capture l’hôte sous la forme « (not set) ».

Utilisez ce schéma pour identifier les ghost spam dans votre compte Google Analytics. La procédure suivante est recommandée :

1. Accédez au rapport du réseau : cherchez-le via « Groupe cible » > « Technologie » et sélectionnez « Nom de l’hôte » (nom de l’ordinateur) comme « dimension primaire ».

2. Définir la période d’observation : réglez la période d’observation sur les trois derniers mois.

3. Identifier les noms d’hôtes légitimes : dans la première colonne du rapport. Google Analytics vous montre tous les noms d’ordinateurs adressés à votre site Web. Les noms qui peuvent être attribués aux domaines par l‘intermédiaire desquels vous mettez votre site Web à disposition. De plus, vous trouverez ici des domaines Google qui sont responsables des traductions et versions de cache de votre site Web.

translate.googleusercontent.com

webcache.googleusercontent.com

Si vous trouvez d’autres noms d’ordinateur dans votre rapport réseau, qui ne correspondent pas à vos domaines ou aux pages d’assistance Google, il s’agit alors de ghost spam.

4. Créer des expressions régulières : notez tous les noms d’ordinateur pour lesquels vous voulez évaluer les données relatives au trafic sous la forme d’une expression régulière. Par exemple :

^(www\.)?(example|googleusercontent)\.com

Vous en aurez besoin plus tard comme modèle de filtre. Assurez-vous que l’expression régulière inclut tous les noms d’ordinateurs dont vous voulez analyser le trafic via Google Analytics.

En résumé

le ghost spam peut être identifié par la fait que l’hôte spécifié dans la requête HTTP ne correspond pas aux hôtes de votre réseau

Filtrer les ghost spam

Pour cacher le ghost spam de votre compte Google Analytics, tout ce que vous avez à faire est de filtrer tous les noms de machines qui ne font pas partie de votre réseau. Utilisez un filtre d’affichage des données inclues.

1. Sélectionner la copie de l’affichage des données : accédez à la gestion de votre compte Google Analytics et créez une copie de votre affichage de données ou sélectionnez la copie précédemment créée.

2. Définir le filtre : sélectionnez l’option de menu « Filtre » et cliquez sur « +Nouveau Filtre » > « Créer un nouveau filtre ».

Saisissez un nom de filtre quelconque (par exemple : hostname blocker, c’est-à-dire bloqueur de nom d’hôte).

Effectuez les réglages suivants sous « Informations sur le filtre »:

  • Type de filtre : « Personnalisé »
  • « Inclure »
  • Champ de filtre : « Nom d’hôte »

Sous « Modèle de filtre », insérez l’expression régulière précédemment créée pour n’inclure que les noms d‘hôte de votre réseau dans la vue des données.

3. Vérifier le filtre : cliquez sur « Vérifier le filtre » pour tester comment le filtre affecte l’affichage des données sélectionnées. Cliquez sur « Enregistrer ».

4. Appliquer le filtre à l’affichage principal : si votre filtre fonctionne comme vous le souhaitez, transférez-le dans la vue principale de vos données.

Toutes les données d’utilisateur transmises par le ghost spam devraient maintenant être cachées. Rien de plus ne s’oppose à l’analyse statistique du trafic de votre site Web.