Les bots sont responsables d’environ 50% du trafic internet mondial. Il y a les bons et les gentils robots, malheureusement la plupart de ce trafic provient de mauvais bots. Détecter les bots, les identifier comme tels (et non comme utilisateurs humains) et savoir différencier les bons des mauvais est donc important.
Les gentils bots comme ceux de Google et Bing, sont essentiels au bon développement de votre site web. Les – trop nombreux – bots malveillants, en revanche, tirent votre site internet vers le bas, en empêchant sont bon fonctionnement. Ils peuvent être utilisés à des fins diverses, comme le lancement d’attaques DDoS, le scrapping de contenu/données, le spam vos formulaires de contact… Une plaie qu’il vous faut donc éradiquer.
Les défis à relever pour détecter le trafic de robots malveillants se situent donc sur deux niveaux :
- différencier le trafic de robots du trafic humain légitime,
- distinguer les bons et les mauvais robots.
S’il était jadis facile de détecter les robots, ces derniers se sont grandement améliorés et passent désormais très souvent sous les radars.
Différencier les Bots des visiteurs humains
Nous allons nous tourner vers les outils qui permettent d’analyser le trafic de votre site web, comme Google Analytics. Vous allez devoir analyser :
Les pics de trafic
Je vous souhaite de voir votre trafic augmenter régulièrement au fil du temps grâce à vos performances marketing. Si vous constatez une amélioration de votre classement dans les résultats de recherche, vous pouvez vous attendre à une augmentation naturelle du trafic. De la même manière, le lancement d’un nouveau produit devrait engendrer un pic de trafic qu’on qualifiera de « normal », il est donc important de vérifier chaque pic et d’en trouver la raison.
Si vous constatez des hausses soudaines de trafic sans pouvoir en déterminer la raison, vous pouvez en déduire qu’un déferlement de bots a eu lieu ce jour-là.
Les sources de trafic
Le trafic « sain » provient souvent de vos propres canaux de diffusion en fonction de vos activités de marketing, de promotion et de référencement (trafic de recherche, de réseaux sociaux, campagnes payantes, backlinks…). Le trafic des robots lui, provient généralement du trafic direct et est constitué de nouveaux utilisateurs uniques et de sessions.
Les résultats suspects provenant d’adresses IP uniques constituent la forme la plus élémentaire d’activité des robots et devraient être les plus faciles à détecter. Vous devez également vous alarmer lorsque l’activité sur votre site augmente à partir d’endroits géographiquement éloignés de votre zone de chalandise classique.
Taux de rebond
Votre taux de rebond joue aux montagnes russes ? Une trop grande variation à la hausse ou à la baisse est le signe de la présence de bots. Un taux de rebond anormalement élevé sur une période donnée annoncera la présence de bots. Une chute soudaine sera également le signe d’une activité malveillante de bots.
Un suivi régulier de ces métriques est un bon moyen de détecter le trafic et les activités des robots. Vous pouvez aussi surveiller les performances de votre serveur, dont le ralentissement des performances est peut-être le signe qu’une armée de bots est en train de le saturer.
Bien sûr, surveiller ces métriques s’avère chronophage, en plus de ne pas être suffisant : ici vous ne faites que différencier le trafic « humain » du trafic non-humain.
À lire aussi : GoogleBot : surveiller son activité dans Google Analytics
Distinguer les bons des méchants
Voyons maintenant comment distinguer les bons robots qui sont utiles à votre site web, et les mauvais, qui sont nuisibles au bon fonctionnement de votre site web.
On peut distinguer deux techniques de détection :
La détection comportementale
Bien que cette approche soit utilisée pour différencier le trafic de robots du trafic humain, elle est également efficace pour reconnaître les mauvais robots, car les robots malveillants ont tendance à exécuter certains comportements (par exemple, lorsqu’ils soumettent un formulaire, nous pouvons être sûrs qu’il s’agit d’un mauvais robot).
Voici quelques activités courantes suivies dans l’approche de détection comportementale :
- Mouvements de souris (non linéaires, randomisés vs linéaires, à motifs réguliers)
- Clics de souris (les bots vont souvent cliquer en parfait métronomes, les humains non)
- Le scroll (pareil que pour les clics)
- Nombre total de requêtes par session
- Le nombre de pages vues au cours d’une session
- L’ordre des pages vues (la présence d’un schéma comme /produit1, /produit2…)
- Le temps moyen passé sur une page
- Certains bots bloquent des ressources non utiles afin d’économiser de la bande passante : CSS, images…
Pour cela, il vous faut déjà suivre leur comportement, grâce par exemple à un outil de visualisation d’écran ou une heatmap.
La détection basée sur la signature
Cette deuxième approche exploite les informations relatives à l’appareil et au navigateur, comme la version du navigateur, le système d’exploitation (OS) ou le nombre de cœurs de processeur.
Voici des indicateurs à tester afin de repérer les bons ou les mauvais robots :
- Signature des navigateurs : la principale approche consiste à vérifier la présence d’attributs ajoutés par des navigateurs sans header (modifiés) comme PhantomJS, Nightmare, Puppeteer, Selenium.
- Vérification de la cohérence du navigateur : la présence de certaines fonctionnalités qui devraient ou non être présentes dans un navigateur.
- Vérification du système d’exploitation : similaire à ce qui précède, mais ici il faut vérifier la cohérence du système d’exploitation revendiqué dans l’UA (user agent).
- Vérification de l’existence d’une machine virtuelle dans le navigateur, ce qui est un énorme signe qu’il s’agit d’un robot.
Conclusion
Il devient de plus en plus difficile de détecter et d’écarter certains robots. Les robots les plus sophistiqués sont désormais presque impossible à détecter car ils imitent de mieux en mieux un comportement humain et possèdent de nombreuses IP.
Il existe des solutions logicielles de détection et protection de bots. Installer un bon CAPTCHA reste de mise !
Vous pouvez également faire appel à un développeur freelance pour installer des protections contre les bots. Pour cela, déposez gratuitement votre projet sur Codeur.com et recevez de nombreux devis, rapidement.