DataDome

Headless Chrome : pourquoi l’utiliser et comment le détecter

Table des matières
Dernière mise à jour : 15 Jan, 2022
|
min

Qu’est-ce que Headless Chrome ?

Headless Chrome est un navigateur web Chrome classique sans interface graphique (GUI), qui ne peut être contrôlé que via une interface en ligne de commande ou un script automatisé.

La plupart des internautes connaissent aujourd’hui les navigateurs web. Nous savons à quoi ils ressemblent et comment les utiliser pour accéder à internet. Mais les navigateurs classiques ne sont pas le seul moyen de visiter des sites ou des applications. Il est aussi possible de naviguer en ligne avec un navigateur headless.

Cet article explique ce qu’est un navigateur headless, pourquoi quelqu’un en utiliserait un (et ce n’est pas toujours pour de bonnes raisons), et comment naviguer avec. Plus important encore, nous verrons comment détecter et protéger votre entreprise et vos clients contre les menaces provenant des navigateurs headless.

Qu’est-ce qu’un navigateur headless ?

Un navigateur headless ressemble à un navigateur web classique, à la différence qu’il ne dispose pas d’interface graphique (GUI) : pas d’onglets, de barre d’URL, de champs de saisie, de boutons, de favoris, etc. Il n’y a que le site web, et rien d’autre. En l’absence d’interface graphique, un navigateur headless ne peut être contrôlé qu’à l’aide d’un script automatisé ou manuellement via une interface en ligne de commande.

Pourquoi utiliser un navigateur headless ?

Naviguer sur le web avec un navigateur headless n’est ni particulièrement pratique ni simple, alors on peut se demander pourquoi l’utiliser. Le principal avantage d’un navigateur sans interface graphique est qu’il permet d’accéder par programmation au contenu d’une page web.

Il existe plusieurs raisons légitimes pour lesquelles quelqu’un pourrait vouloir accéder par programmation au contenu web, par exemple :

  • les développeurs peuvent utiliser des navigateurs headless pour écrire des scripts qui détectent des bugs dans leurs sites ou applications. Le script peut être configuré pour cliquer sur des liens, saisir des données dans des champs et simuler des comportements utilisateurs, le tout de façon automatisée et répétée, ce qui accélère grandement le travail du développeur ;
  • les spécialistes SEO utilisent les navigateurs headless, en particulier Headless Chrome, pour voir ce que le Googlebot voit. Cela leur permet de repérer si leur site comporte des URL 404, des images cassées ou tout autre élément anormal visible en navigateur headless. Ils peuvent ainsi optimiser ce que Google indexe et éviter des pénalités SEO.

Mais les navigateurs headless peuvent aussi être utilisés à des fins malveillantes. Des attaquants peuvent utiliser Headless Chrome, par exemple, pour scraper du contenu web de façon automatisée. Les navigateurs headless sont particulièrement utiles sur les sites dynamiques, plus difficiles à scraper, car les données sont verrouillées derrière des éléments JavaScript ou des formulaires. Un navigateur headless peut être programmé pour extraire tout le contenu, quelle que soit la complexité programmée du site ou de l’application.

Les hackers utilisent aussi les navigateurs headless pour gonfler artificiellement le nombre d’utilisateurs, créer de fausses impressions publicitaires, ou chercher des vulnérabilités exploitables sur votre site, application et/ou API.

Comment utiliser un navigateur headless ?

En 2017, les développeurs de Chrome chez Google ont intégré Headless Chrome dans leur navigateur, facilitant ainsi son exécution depuis la ligne de commande. Toutefois, de nombreuses personnes préfèrent encore utiliser une des nombreuses bibliothèques spécialisées dans les navigateurs headless. Les bibliothèques les plus populaires incluent : Puppeteer, Selenium, Playwright et Splash. Ces bibliothèques permettent aux utilisateurs d’automatiser les actions suivantes :

  • explorer des pages,
  • cliquer sur des éléments,
  • télécharger des données,
  • utiliser des proxys,
  • soumettre des formulaires,
  • remplir des champs.

Comment détecter un navigateur headless ?

Il existe de nombreuses façons de détecter si une requête provient d’un navigateur headless, mais la facilité de détection dépend fortement de la manière dont le navigateur est configuré. Lorsque des attaquants utilisent des navigateurs headless pour faire du scraping, ils essaient d’en masquer l’origine en modifiant toutes les propriétés qui trahiraient normalement un navigateur headless—comme navigator.userAgent, navigator.language, navigator.platform, etc.—et tentent de les faire ressembler à celles d’un véritable navigateur.

La meilleure façon d’arrêter les menaces automatisées provenant de navigateurs headless est d’utiliser une solution spécialisée de détection des bots capable de bloquer toutes les menaces de bots malveillants, qu’elles viennent ou non d’un navigateur headless. (Toute requête entrante automatisée qui ne figure pas sur votre « allowlist », aux côtés du Googlebot par exemple, n’a rien à faire sur votre site ou votre application).

La solution de gestion des bots et de la fraude en ligne de DataDome protège vos sites web, applications mobiles et API contre toutes les formes d’attaque, en les bloquant en quelques millisecondes. Les requêtes de bots malveillants issues de navigateurs headless ne font pas le poids face à nos algorithmes de détection de bots primés et à nos experts SOC.

Si vous voulez savoir combien de bots parcourent actuellement votre site, commencez votre essai gratuit dès aujourd’hui. La configuration prend seulement quelques minutes, sans carte bancaire. Vous pouvez aussi nous contacter pour demander une démo de notre solution.