DataDome

Qu’est-ce que le web scraping ? Comment ça marche ?

Table des matières
Dernière mise à jour : 6 Mar, 2022
|
min

Qu’est-ce que le web scraping ?

Le web scraping est l’extraction automatisée de données depuis des pages web par des tiers autres que le propriétaire du site. C’est une pratique courante utilisée pour la veille concurrentielle, les comparateurs de prix ou encore la génération de leads. Malheureusement, le web scraping n’est pas toujours réalisé à des fins légitimes.

Les cybercriminels utilisent des web scrapers, ou scraper bots, pour imiter les navigateurs classiques et accéder aux sites en suivant leur structure hypertexte. Ils extraient ensuite les données selon des paramètres prédéfinis, qu’ils stockent dans des bases de données locales.

Si certains web scrapers ont des intentions légitimes, beaucoup n’en ont pas. Les processus numériques étant devenus essentiels au fonctionnement quotidien de nombreuses entreprises, les scrapers malveillants peuvent causer des dégâts importants.

C’est pourquoi nous avons rédigé ce guide, afin de vous présenter des informations détaillées sur le web scraping et sur les moyens de le prévenir.

DataDome - Web Scraping

Quels sont les problèmes causés par le web scraping ?

Lorsque des attaquants réalisent du web scraping, ils déploient des bots automatisés pour extraire des données de vos sites web, applications mobiles et/ou API, généralement à des fins malveillantes. Cela peut entraîner plusieurs problèmes majeurs pour votre entreprise, notamment :

Vol de contenu

Le contenu numérique est devenu un élément essentiel pour toute entreprise opérant en ligne. Qu’il s’agisse d’un blog qui renforce votre expertise, d’annonces qui génèrent des revenus ou de descriptions de produits pour vos pages e-commerce, le contenu a le pouvoir d’attirer des utilisateurs et de les convertir en clients fidèles.

Le problème avec le contenu, c’est qu’il est difficile à produire, mais facile à voler. Prenons l’exemple des sites d’actualités. Leur principale source de revenus provient des publicités. Mais sans protection adéquate, le scraper web d’un agrégateur de contenu peut simplement extraire toutes les actualités d’un site média et les publier sur son propre site.

Pas besoin de rémunérer des journalistes, des rédacteurs, des éditeurs, etc. Tout ce qu’il faut à ces acteurs malveillants, c’est un web scraper pour plagier le contenu.

C’est une concurrence déloyale qui peut entraîner une pénalité Google pour contenu dupliqué, une baisse du classement SEO, une perte de trafic légitime et une diminution des revenus publicitaires pour le site affecté. Et ce problème ne concerne pas que les médias.

Des scrapers ont ciblé la marque de chaussures haut de gamme Kurt Geiger, le plus grand détaillant de chaussures de luxe en Europe. Le DevOps Manager de l’entreprise a remarqué que des scraper bots indexaient leur contenu, notamment les descriptions de produits, les images et les prix. Les bots étaient agressifs et très nombreux, ce qui surchargeait souvent les systèmes backend et ralentissait considérablement le site web.

Après avoir tenté d’utiliser la fonctionnalité de limitation de débit de Nginx pour restreindre le nombre de requêtes par adresse IP, l’équipe de Kurt Geiger s’est vite rendu compte que la majorité des web scrapers utilisaient de multiples IP. Ils se sont donc tournés vers DataDome pour se protéger. (La solution de lutte contre les bots de DataDome s’intègre parfaitement avec Nginx.)

Une fois une liste d’autorisation de partenaires et d’outils établie, DataDome a bloqué tout le trafic malveillant provenant de bots sur le site Kurt Geiger.

Scraping des prix

Certains web scrapers extraient tout le contenu de votre site web. D’autres ciblent spécifiquement vos prix. Les acteurs malveillants derrière ces web scrapers peuvent ensuite utiliser ces informations pour réduire manuellement (ou automatiquement) leurs prix par rapport aux vôtres. Cela est particulièrement pénalisant pour les produits sensibles aux prix tels que les billets de concert, les appareils électroniques en ligne et les billets d’avion.

Même si vous masquez vos prix derrière un formulaire, les scrapers peuvent poser problème. Ils sont suffisamment sophistiqués pour remplir des formulaires et extraire du contenu protégé. Par exemple, un constructeur automobile qui n’affiche ses prix qu’une fois que l’utilisateur a précisé le modèle souhaité et la date peut tout de même être contourné par un web scraper. Toyota Prius demain à 8h pour 10 000 $ ? Scrapé. Hyundai Elantra ce samedi à 11h pour 8 000 $ ? Scrapé.

Les web scrapers peuvent cibler les prix même lorsqu’ils sont protégés par un formulaire.

Exemple

Le scraping de prix a représenté une menace réelle pour Kuantokusta à un moment donné. Kuantokusta est le principal site de comparaison de prix au Portugal, avec plus de trois millions d’utilisateurs uniques qui comparent deux millions de produits dans 700 boutiques différentes chaque jour. L’ensemble des sites forme une immense place de marché où les utilisateurs et les commerçants font des affaires.

En 2015, Kuantokusta avait lancé un produit appelé PriceBench, capable de collecter, traiter et analyser les données produits pour faciliter la gestion intelligente des prix. En payant pour PriceBench, les commerçants pouvaient voir ce que faisaient leurs concurrents sur un site web Kuantokusta et ajuster leurs prix en conséquence.

Le problème, c’est que certains marchands avaient déjà développé leurs propres web scrapers pour collecter les prix des concurrents sans l’autorisation de Kuantokusta. Dès qu’un concurrent changeait le prix d’un produit de 100 $ à 99 $, le scraper le détectait et modifiait immédiatement le prix équivalent chez le marchand à 98,99 $.

Les web scrapers ont alors compromis la proposition de valeur de PriceBench, tout en consommant énormément de bande passante sur le site Kuantokusta, et ont provoqué des situations embarrassantes lorsque des prix incorrects ont été accidentellement affichés sur la place de marché.

Kuantokusta a fait appel à DataDome pour mettre fin à ce problème. Ils ont mesuré l’ampleur de la menace, créé une liste d’autorisation, et configuré DataDome pour bloquer tous les web scrapers non autorisés. Résultat : ils ont réalisé de bien meilleures performances sur la marketplace, et le produit PriceBench est désormais viable et monétisé auprès des vendeurs.

Problèmes de performance du site web

Parfois, les web scrapers sont si nombreux qu’ils consomment une part significative de votre bande passante. Il n’est pas rare que les bots représentent 70 % du trafic d’un site web. Cela fausse vos données analytiques, compliquant ainsi la prise de décisions fondées sur les données, et ralentit votre site. Et les utilisateurs détestent les sites lents.

Les web scrapers ont causé des problèmes de performance à TheFork, une entreprise appartenant à TripAdvisor et la principale plateforme de réservation de restaurants en ligne en Europe, en Australie et en Amérique latine. Leur site propose deux types de contenus :

  • les contenus publics, tels que les horaires d’ouverture des restaurants et les menus ;
  • les contenus à valeur ajoutée, comme les avis d’utilisateurs et la disponibilité des tables.

Les web scrapers volaient les deux types de contenus à des fins concurrentielles. Ils étaient si nombreux qu’ils ont provoqué des pics de trafic imprévisibles et des interruptions de service, à la fois sur le site et l’application mobile. En conséquence, les coûts d’hébergement et de maintenance de TheFork ont augmenté.

Exemple

TheFork a tenté de bloquer manuellement les adresses IP indésirables, mais ce processus long et fastidieux s’est avéré inefficace. Ils se sont donc tournés vers DataDome, qui s’est intégré à leur architecture et leur a permis de créer des règles personnalisées adaptées à leur trafic.

Aujourd’hui, tout le scraping a été éliminé du site et de l’application de TheFork. Les ressources serveur sont désormais entièrement dédiées au trafic légitime, et l’entreprise ne subit plus de pics de trafic imprévisibles consommant une grande quantité de bande passante.

Les web scrapers épuisent vos ressources

Au-delà de l’épuisement de votre bande passante, les web scrapers peuvent épuiser vos ressources de bien d’autres façons. Le coût le plus important est peut-être celui du temps perdu par vos collaborateurs. Nous échangeons régulièrement avec des entreprises où au moins un ingénieur DevOps consacre une journée entière par semaine à gérer les problèmes de bots.

Le calcul est simple :

Le salaire moyen d’un ingénieur DevOps est de 100 000 $. Une journée par semaine représente 20 % de son temps. Ainsi, les bots génèrent un coût d’opportunité d’au moins 20 000 $ par an pour cet employé (sans même prendre en compte les taxes, assurances et autres charges).

Ce coût d’opportunité s’ajoute aux frais d’infrastructure, de SEO, de performance du site, etc., que nous avons déjà évoqués. Et il va sans dire que ce travail peut être répétitif et démotivant pour vos équipes.

Exemple

Les problèmes liés aux bots accaparaient une grande partie du temps chez Brainly, la plus grande plateforme d’apprentissage en ligne pour les enfants et les jeunes adultes. Lorsque le CTO a remarqué que des concurrents devançaient Brainly dans certains résultats de recherche, il a découvert que ceux-ci envoyaient des scrapers sur le site web de Brainly pour voler son contenu.

Ils ont décidé d’opter pour la solution DataDome car elle était proposée sous forme d’application Cloudflare, ce qui a rendu l’intégration extrêmement simple. Les problèmes de bots pouvaient auparavant consommer jusqu’à la moitié de la journée du CTO (calculez le coût d’opportunité), mais aujourd’hui, il se contente de consulter le rapport email de DataDome le matin, et c’est tout.

DataDome fonctionne en pilote automatique. Plus aucun problème de web scraping.

Comment fonctionne le web scraping ?

Maintenant que nous avons passé en revue les principales raisons pour lesquelles les web scrapers sont dangereux, voyons comment cela fonctionne concrètement. Commençons par rappeler ce qu’est un web scraper : un bot automatisé qui extrait des informations de vos sites web, applications mobiles et/ou API.

Le premier point important à souligner est que tous les web scrapers ne sont pas mauvais. En réalité, certains sont essentiels au bon fonctionnement des sites web que nous utilisons quotidiennement. Les bons sont généralement appelés « web crawlers », ou robots d’indexation, plutôt que web scrapers.

Voici une liste de bons bots crawlers :

  • Search Engine Crawlers : un moteur de recherche ne peut pas fonctionner sans un crawler efficace pour découvrir et indexer tous les sites web. Parmi les exemples figurent Googlebot, le Baidu Spider, Bingbot et le bot Yandex ;
  • Feed Fetcher Crawlers : des bots qui récupèrent les flux RSS ou Atom des sites web pour fournir un flux à leurs utilisateurs. Exemples : le Google Feedfetcher, le .NET WebClient de Microsoft et le bot Android Framework ;
  • Social Media Crawlers : les robots d’indexation utilisés par les réseaux sociaux pour enrichir les flux de leurs utilisateurs. Exemples : les crawlers de Facebook, Instagram, Twitter et le crawler Pinterest.

Aucun de ces crawlers n’est intrinsèquement mauvais. En réalité, il y en a que vous souhaitez voir indexer votre site. Par exemple, bloquer Googlebot est une mauvaise idée si vous voulez être visible sur Google, et bloquer le crawler Facebook est une mauvaise idée si vous souhaitez que vos contenus soient partagés sur Facebook.

Il est peu probable que les bons bots posent problème. Cependant, vous pouvez bloquer un bon bot via un fichier robots.txt, un simple fichier texte placé dans le répertoire racine de votre site web, qui indique aux bots s’ils sont autorisés à crawler votre site, ainsi que l’emplacement d’un fichier .xml facilement analysable.

Imaginons que vous ayez un site WordPress, que vous ne souhaitiez pas que des crawlers visitent la page /wp-admin/, et que vous vouliez empêcher Bingbot de parcourir votre site. Voici à quoi ressemblerait votre fichier robots.txt :

Blocage de Bingbot sur l’ensemble du site et de tous les bots sur la page /wp-admin/.

Le fichier robots.txt est l’un des moyens permettant de distinguer un bon bot d’un mauvais. Les bons bots ont tendance à respecter les indications présentes dans ce fichier, tandis que les malveillants les ignorent. Le fichier robots.txt ne bloque pas réellement les bots : les bad bots passent outre. C’est un peu comme afficher une pancarte dans son jardin disant « Ne volez pas dans ma maison ». Les voleurs n’en ont rien à faire.

Anatomie d’une attaque de scraping

Il existe de nombreux tutoriels et outils permettant de créer facilement un web scraper. Concevoir un scraper est souvent un moyen pour les développeurs de tester leurs compétences en programmation dans un langage donné.

C’est pourquoi il est si difficile de stopper une attaque de scraping : un scraper peut avoir des formes très variées. Pourtant, les scrapers aux mauvaises intentions suivent les mêmes principes de base :

  1. Un développeur écrit un script pour créer un scraper, souvent en Python, Java, Ruby ou Perl. Par exemple, Matthew Gray a écrit le Wanderer en Perl. Il est aussi possible d’utiliser un logiciel de web scraper sans coder une seule ligne.
  2. Le développeur dissimule le scraper en le faisant passer pour un bon crawler, comme Googlebot, ou en lui donnant l’apparence d’un humain grâce à des navigateurs headless et des bibliothèques comme Puppeteer ou Playwright.
  3. Le développeur lance le scraper. Celui-ci cible une URL et ses paramètres. Il commence alors à scraper et à télécharger le code HTML des sites web, applications mobiles et/ou API visés.
  4. Une fois que le scraper a récupéré les données, il les analyse, les recherche, les reformate et les manipule de la manière dont il a été programmé pour le faire. Il verse ensuite les données manipulées dans sa propre base de données ou feuille de calcul pour une analyse ultérieure et/ou une utilisation abusive.

Même si n’importe qui peut construire un scraper facilement, les utiliser efficacement à des fins malveillantes est une opération gourmande en ressources. C’est pourquoi les cybercriminels utilisent des botnets, des ordinateurs répartis dans le monde entier qui disposent des ressources nécessaires pour attaquer des sites web, petits ou grands, à l’aide d’attaques de scraping puissantes et lourdes.

Les scrapers sont de plus en plus sophistiqués

Nous avons déjà expliqué pourquoi les scrapers peuvent varier autant et comment ils parviennent à mener des attaques puissantes, même contre les plus grands sites. Les scrapers ne cessent d’évoluer et de s’adapter.

C’est pourquoi les solutions développées en interne pour empêcher le scraping sont souvent insuffisantes. Les cybercriminels utilisent les technologies les plus récentes et font preuve d’une grande créativité pour concevoir leurs scrapers.

Par exemple, notre équipe de recherche a découvert que des hackers utilisaient le crawler de Facebook pour attaquer des sites web. De nombreuses entreprises autorisent ce crawler à visiter leurs sites afin que les utilisateurs puissent voir les métadonnées (titre, description, image miniature) sur Facebook.

Mais Facebook ne proposait pas de mesures de sécurité solides pour l’aperçu des liens dans leur API. Les hackers ont donc inséré un token dans un compte Facebook et utilisé le robot d’indexation de Facebook pour envoyer des milliers de requêtes par minute aux sites ciblés.

Ces attaques étaient techniquement impossibles à discerner du véritable crawler de Facebook, mais notre équipe a remarqué que certains paramètres étaient surreprésentés dans les requêtes. Nous avons alerté Facebook, qui a depuis renforcé la limitation de débit sur son API d’aperçu Messenger.

Aujourd’hui, ce problème a disparu de la plateforme, mais il illustre bien la créativité des cybercriminels, et pourquoi même les meilleures solutions internes peinent à suivre le rythme.

Le scraping est-il légal ?

Malgré les dommages qu’il peut causer, le web scraping n’est pas vraiment illégal en soi. Et tant que les informations extraites sont disponibles publiquement en ligne, il sera difficile de poursuivre quiconque pour avoir scrappé votre site. De plus, il serait impossible de déterminer qui se cache derrière chaque scraper ou de poursuivre tous les attaquants en justice.

À ce jour, on peut supposer que la loi ne protègera pas les contenus propriétaires, les données tarifaires, etc.

Comment empêcher les attaques de scraping ?

Alors, faut-il investir dans une protection contre le scraping ? Plus précisément, comment se protéger sans que cela ne coûte une fortune à votre entreprise et sans nécessiter une maintenance et une surveillance constantes ?

Tout commence par identifier les types de contenu les plus susceptibles d’être ciblés par une attaque de scraping :

  • contenus médias (articles de presse, billets de blog) ;
  • descriptions de produits ;
  • tarifs ;
  • avis clients ;
  • coupons ;
  • petites annonces.

Toute activité étrange sur ces pages peut être le signe d’une attaque de scraping. D’autres indicateurs de scraping sont les comptes d’utilisateurs très actifs mais qui n’effectuent aucun achat, ou les pages de concurrents qui proposent des prix légèrement inférieurs aux vôtres ou copient une grande partie de votre contenu.

Les méthodes classiques de prévention du scraping sont inefficaces

Nous avons déjà expliqué pourquoi un fichier robots.txt ne bloque pas les scrapers malveillants, et pourquoi les outils internes de gestion des bots ont du mal à suivre le rythme. Mais il existe d’autres moyens utilisés par les entreprises pour tenter d’arrêter les bots, qui ne sont pas très efficaces à eux seuls :

CAPTCHA : pendant de nombreuses années, les CAPTCHA traditionnels constituaient une méthode de prévention plutôt efficace contre les bots. Mais aujourd’hui, ils ne suffisent plus. De nombreux bots s’appuient sur des fermes de CAPTCHA, qui peuvent résoudre des CAPTCHA en temps réel pour une somme dérisoire. Les bots peuvent aussi les éviter complètement en se faisant passer pour des humains.

Rendre les CAPTCHA plus difficiles n’est pas une solution, car plus le défi est complexe, plus il crée de la friction pour les utilisateurs humains (bravo le test de Turing). Les faux positifs (chaque fois qu’un humain voit un CAPTCHA) nuisent aux conversions, augmentent le taux de rebond, frustrent les utilisateurs et dégradent l’expérience utilisateur (UX), tout en étant facilement contournés par les fermes de CAPTCHA.

Les CAPTCHA seuls ne valent plus leur coût.

Pare-feu d’applications Web (WAF) : un bon WAF peut bloquer les menaces connues, comme certains user-agents malveillants ou adresses IP. Mais la protection s’arrête là. Les attaques sophistiquées passent à travers. Les WAF ne font pas le poids face aux scrapers automatisés en temps réel d’aujourd’hui, qui se font passer pour des humains ou des crawlers « bienveillants ».

En outre, les WAF sont généralement très centrés sur les IP, ce qui signifie qu’ils se basent sur les adresses IP pour juger si un trafic est malveillant. Mais les scrapers utilisent des botnets et peuvent faire tourner des milliers, voire des millions d’IP pour contourner les filtres des WAF.

Conditions générales d’utilisation (CGU) : De bonnes CGU sont précieuses pour vous protéger contre le web scraping, car elles peuvent vous aider sur le plan juridique. Par exemple, grâce à ses CGU, Ryanair a remporté un procès en 2015 devant la Cour de justice de l’UE contre PR Aviation, qui scrapait ses prix sans avoir de licence pour le faire.

La Cour européenne a donné raison à Ryanair et, plus largement, a indiqué que les entreprises européennes pouvaient interdire le scraping via les CGU de leur site web.

Le problème avec les CGU seules, c’est qu’elles sont réactives et nécessitent beaucoup de ressources. Vous ne pouvez pas aller en justice pour chaque scraper qui cible votre site web, et il n’est pas toujours facile de déterminer qui se cache derrière une attaque de scraping. Ainsi, même si vous avez absolument besoin de conditions générales protectrices sur votre site web, vous devez également disposer d’une solution préventive plutôt que réactive.

La protection la plus efficace contre les attaques de scraping

La meilleure protection contre le web scraping repose sur une solution capable d’identifier et d’analyser, en temps réel, les paramètres techniques et comportementaux de chaque visiteur, afin de bloquer les scrapers malveillants et les bots de ticket scalping avant même qu’ils ne commencent à scraper. Elle doit fonctionner sans ralentir les performances et garantir une expérience fluide pour les visiteurs humains.

C’est exactement ce que nous avons développé chez DataDome.

Notre logiciel de protection contre les bots utilise plusieurs algorithmes pour protéger chaque point d’accès contre les attaques de scraping. Chaque requête adressée à vos sites web ou à vos applications mobiles est analysée et soit bloquée, soit autorisée en temps réel. DataDome affiche un taux de faux positifs inférieur à 0,01 %, ce qui signifie que les utilisateurs réels (et les bons crawlers comme Googlebot) ne sont jamais bloqués.

De plus, DataDome ne nécessite pas de reconfiguration complexe de votre infrastructure IT. Notre logiciel de protection contre les bots se déploie en quelques minutes sur n’importe quelle infrastructure web, et nous proposons à la fois des modules côté serveur et des SDK côté client pour vos apps Android et iOS, ce qui rend l’intégration très simple.

Les modules et les SDK combinés collectent diverses propriétés de l’appareil et informations comportementales pour détecter et bloquer même les web scrapers les plus sophistiqués. Cela se fait sans collecter de données personnelles ou identifiables, ce qui vous évite toute contrainte liée à la conformité.

Enfin, comme DataDome est entièrement dédié à la protection contre les bots et la fraude en ligne, la solution est continuellement à jour sur les dernières menaces. Nous avons une équipe dédiée à la recherche sur les menaces / SOC (Security Operations Center) qui garde toujours une longueur d’avance sur les hackers et leurs bots.

Étude de cas : protection des petites annonces contre les scraper bots

LV digital GmbH propose des produits et plateformes numériques pour le secteur agricole et rural. L’entreprise était assaillie par des scrapers malveillants qui ciblaient Traktorpool, leur principal portail de petites annonces, afin d’en voler le contenu et de le republier ailleurs sur internet.

Les scrapers étaient si nombreux qu’ils provoquaient régulièrement des interruptions de service sur les portails de LV. L’entreprise a donc pris l’essai gratuit de DataDome, qui a révélé que ces scrapers consommaient près de 25 % des ressources de son infrastructure. Convaincus, ils ont déployé le module DataDome pour Varnish.

Aujourd’hui, les portails de LV affichent une disponibilité de 100 %. La réduction du trafic de bots permet même à l’entreprise de réduire la capacité de ses data centers, ce qui compense totalement le coût de l’abonnement à DataDome.

Protégez-vous du web scraping avec DataDome

Nous espérons que notre guide sur le web scraping vous a permis de mieux comprendre les risques associés au scraping et l’importance de détecter et d’atténuer le trafic de scrapers sur vos sites web, applications mobiles et API.

Même si vous n’avez pas encore détecté d’attaque de web scraping, cette menace croissante peut gravement nuire à votre activité. Installer une solution de protection contre les bots en temps réel comme DataDome vous protège contre le scraping, sans nuire à l’expérience utilisateur.

DataDome a libéré au moins 50 % du temps de l’un de mes ingénieurs… Ce temps est bien mieux investi aujourd’hui. Nous disposons de plus de bande passante pour travailler sur les nouvelles fonctionnalités que nos clients attendent et qui nous permettent de développer notre activité.

– Michael Romer, Head of Product and IT chez LV digital

Essayez DataDome gratuitement pendant 30 jours et obtenez une vue d’ensemble en temps réel, avec une visibilité détaillée sur toutes les menaces automatisées visant vos apps mobiles, sites web et/ou API. Aucune carte bancaire requise. Créez un compte gratuit ici. (Les scrapers ne sont pas les bienvenus !)