Comment fonctionnent les CAPTCHA | Que signifie CAPTCHA ?

Les CAPTCHA et reCAPTCHA déterminent si un utilisateur est en réalité un bot. Ces tests peuvent permettre d’arrêter l’activité bot malveillante, mais ils sont loin d’être infaillibles.

Share facebook icon linkedin icon twitter icon email icon

CAPTCHA

Objectifs d’apprentissage

Après avoir lu cet article, vous pourrez :

  • Découvrir ce qu’est un CAPTCHA et pourquoi il est utilisé
  • Découvrir la différence entre CAPTCHA et Google reCAPTCHA et les différents types de reCAPTCHA
  • Comprendre les avantages et les inconvénients des CAPTCHA pour bloquer les bots malveillants
  • Expliquer comment les CAPTCHA sont liés aux projets d’intelligence artificielle

Qu’est ce qu’un CAPTCHA ?

Un test CAPTCHA est conçu pour déterminer si un utilisateur en ligne est réellement un humain et non un bot. CAPTCHA est un acronyme qui signifie « Completely Automated Public Turing test to tell Computers and Humans Apart » (Tests de Turing publics complètement automatisés permettant de différencier un utilisateur humain d'un ordinateur). Les utilisateurs rencontrent souvent des tests CAPTCHA et reCAPTCHA sur Internet. Ces tests sont une façon de gérer l’activité bot, bien que l’approche ait des inconvénients.

Bien que les CAPTCHA soient conçus pour bloquer les bots automatiques, les CAPTCHA sont eux même automatisés. Ils sont programmés pour apparaitre à certains endroits sur un site Web, où ils acceptent ou rejettent les utilisateurs.

Comment fonctionne un CAPTCHA ?

Les CAPTCHA classiques, qui sont encore utilisés dans certaines propriétés Web aujourd’hui, consiste à demander aux utilisateurs d’identifier des lettres. Les lettres sont déformées pour que les bots aient peu de chance de les identifier. Pour passer le test, les utilisateurs doivent interpréter le texte déformé, saisir les lettres correctes dans le champ du formulaire et envoyer le formulaire. Si les lettres ne correspondent pas, les utilisateurs sont invités a recommencer. Ces tests sont courants dans les formulaires de connexion ou d’inscription, les sondages en ligne et les pages de paiements pour le e-commerce.

captcha example

L’idée est qu’un agent logiciel, tel qu’un bot, ne puisse pas interpréter les lettres déformées, alors qu’un être humain, habitué à voir et à interpréter les lettres dans toutes sortes de contexte (différentes polices, différentes écritures manuscrites, etc.), sera généralement capable de les identifier.

Au mieux, la plupart des bots pourront saisir des lettres aléatoires, il est donc statistiquement peu probable qu’ils passent le test. Ainsi, les bots échouent au test et leur interaction avec le site Web ou l’application est bloquée, alors que les humains peuvent continuer normalement.

Les bots avancés sont capables d’utiliser le machine learning pour identifier ces lettres déformées, ces tests CAPTCHA ont donc été remplacé par des tests plus complexes. Google reCAPTCHA a développé plusieurs autres tests destinés à différencier un utilisateur humain d'un bot.

Qu-est ce que reCAPTCHA ?

recAPTCHA est un service Google gratuit qui remplace les CAPTCHA traditionnels. La technologie reCAPTCHA a été développée par les chercheurs de l’université Carnegie Mellon, puis acheté par Google en 2009.

reCAPTCHA est plus avancé que la plupart des tests reCAPTCHA typiques. Comme CAPTCHA, certains reCAPTCHAs demandent aux utilisateurs de saisir des images de texte qu’un ordinateur a du mal à déchiffre. Contrairement aux CAPTCHA normaux, reCAPTCHA se procure le texte dans des images réelles : des photos d’adresses, du texte provenant de livres imprimés, du texte sur des vieux journaux etc.

recaptcha example

Au fil du temps, Google a étendu la fonctionnalité des tests reCAPTCHA pour qu’ils ne se reposent plus sur l’ancienne méthode d’identification de texte flou ou déformé. Voici d’autres types de tests reCAPTCHA :

  • Reconnaissance d’image
  • Case à cocher
  • Évaluation général du comportement de l’utilisateur (aucune interaction de l’utilisateur)

Comment fonctionne un test de reconnaissance d’image reCAPTCHA ?

Pour un test de reconnaissance d’image reCAPTCHA, 9 ou 16 carrés d’images sont présentées aux utilisateurs. Les images peuvent être toutes issues de la même grande image ou elles peuvent toutes être différentes. L’utilisateur doit identifier les images qui contiennent certains objets, comme des animaux, des arbres ou des panneaux de signalisation. Si sa réponse correspond à celle soumise par la plupart des utilisateurs soumis au même test, la réponse est considérée comme « correcte » et l’utilisateur passe le test.

image recaptcha

Distinguer certains objets dans des photos floues est difficile pour les ordinateurs. Même les programmes d’intelligence artificielle (IA) avancés éprouvent des difficultés, les bots également. Cependant un utilisateur humain doit être en mesure de les identifier facilement, puisque les humais ont l’habitude de percevoir quotidiennement des objets dans toutes sortes de contextes et de situations.

Comment fonctionnent les tests reCAPTCHA à une seule case à cocher ?

Certains tests reCAPTCHA demande simplement à un utilisateur de cocher une case à coté d’une déclaration « Je ne suis pas un robot ». Cependant, le test n’est pas basé sur le fait de cocher la case, mais sur tout ce qui mène à la cocher.

Not a Robot captcha

Ce test reCAPTCHA prend en compte le mouvement du curseur de l’utilisateur lorsqu’il approche de la case. Même les mouvements humains les plus directs sont partiellement aléatoires au niveau microscopique : de petits mouvements inconscients que les bots ne peuvent pas imiter. Si le mouvement du curseur contient un part d’imprévisibilité, alors le test décide que l’utilisateur est probablement légitime. Le reCAPTCHA peut également évaluer les cookies enregistrés dans le navigateur de l’appareil et l’historique de l’appareil pour déterminer si l’utilisateur est susceptible d’être un bot.

Si le test ne peut pas déterminer si l’utilisateur est humain ou non, il peut présenter un défi supplémentaire, comme un test de reconnaissance d’image décrit ci-dessus. Cependant, la plupart du temps, les mouvements du curseur, les cookies et l’historique de l’appareil suffisent.

Comment fonctionnent les reCAPTCHA sans interaction avec l’utilisateur ?

Les dernières versions de reCAPTCHA sont capables d’étudier de façon holistique le comportement de l’utilisateur et l’historique de son interaction avec le contenu Internet. La plupart du temps, le programme peut décider d’après ces facteurs si oui ou non un utilisateur est un bot, sans présenter de défi à exécuter. Dans le cas contraire, l’utilisateur devra exécuter un défi reCAPTCHA typique.

Comment un test CAPTCHA est-il déclenché ?

Certaines propriétés Web mettent des CAPTCHA en place de façon automatique comme mesure de prévention contre les bots. Parfois, un test est déclenché si le comportement de l’utilisateur ressemble à celui d’un bot : si l’utilisateur demande des pages Web ou clic sur des liens plus rapidement que la moyenne par exemple.

Les CAPTCHA et les reCAPTCHAs sont-ils suffisants pour arrêter les bots malveillants ?

Certains bots peuvent passer d’eux même les CAPTCHA texte. Les recherches ont montré des façons d’écrire un programme qui permet de passer également les CAPTCHA de reconnaissance d’image. De plus, les attaquants peuvent utiliser des « fermes à clic » pour passer le test : des milliers de travailleurs peu rémunérés résolvent les CAPTCHA pour les bots.

En plus d’un CAPTCHA, d’autres stratégies doivent être en place pour arrêter les bots indésirables (comme les bots d’extraction de contenu, les bots d’infiltration de comptes, ou les spambots).

Quels sont les inconvénients à utiliser des CAPTCHA ou des reCAPTCHA pour arrêter les bots ?

Mauvaise expérience utilisateur : Un test CAPTCHA peut interrompre les utilisateurs, leur donnant une impression négative de leur expérience sur la propriété web et les poussant même parfois à abandonner complètement la page Web.

Non adapté pour les personnes malvoyantes Le problème des CAPTCHA est qu’ils se base sur la perception visuelle. Cela les rend quasiment impossible à passer, non seulement pour les personnes totalement aveugles mais aussi pour toute personne malvoyante.

Les bots peuvent tromper ces tests : Comme décrit ci-dessus, les CAPTCHA ne sont pas infaillibles et la gestion des bots ne doit pas s’y fier.

Y a-t-il des alternatives à l’utilisation des CAPTCHA et reCAPTCHAs ?

Les solutions de gestion des bots, telles que la Gestion des robots par Cloudflare, peuvent identifier les mauvais bots sans impact sur l’expérience utilisateur, selon le comportement du bot. De cette façon, les bots peuvent être atténués sans forcer les utilisateurs à effectuer un CAPTCHA.

Comment les CAPTCHA et les reCAPTCHA sont-ils liés aux projets d’intelligence artificielle ?

À mesure que des millions d’utilisateurs identifient des textes difficiles à lire et sélectionnent des objets dans des images floues, ces données sont fournies aux programmes d’intelligence artificielle pour qu’ils s’améliorent également dans ces tâches.

En général, les programmes informatiques peinent à identifier des objets et des lettres dans des contextes différents, car le contexte peut changer presque indéfiniment dans le monde réel. Par exemple, un panneau stop est un octogone rouge avec des lettres blanches indiquant « STOP ». Un programme informatique peut identifier une telle combinaison de forme et de mot assez facilement. Cependant, un panneau stop dans une photo peut être très différent de cette simple description selon le contexte : l’angle de la photo, la luminosité, la météo, etc.

Grâce au machine learning, les programmes d’IA s’améliorent pour résoudre ces limites. Pour l’exemple du panneau stop, le programmateur fournit au programme d’IA un ensemble de données sur ce qu’est et ce que n’est pas un panneau stop. Pour que cela soit efficace, il a besoin de nombreux exemples d’images de panneau stop et d’image sans panneau stop, et ils ont besoin d’utilisateurs humains pour les identifier jusqu’à ce que le programme soit suffisamment efficace.

reCAPTCHA répond à ce besoin en demandant aux humais d’identifier des objets et des textes, ce qui fournit petit à petit fournit suffisamment de données pour créer de robustes programmes d’IA.

Qu’est ce qu’un test de Turing ? Quel est l’intérêt des tests de Turing pour les tests CAPTCHA ?

Un test de Turing évalue la capacité d’un ordinateur à imiter le comportement humain. Alan Turing, un pionner de l’informatique a inventé le concept du test de Turing en 1950. Un agent logiciel « passe » le test de Turing si sa performance pendant le test est impossible à distinguer de celle d’un humain, il se comporte comme un humain le ferait. Un test de Turing ne mesure pas l’exactitude des réponse . il évalue « l’apparence humaine » des réponses, qu’elle soient correctes ou non;

Bien qu’apellé « test de Turing public », un CAPTCHA est en réalité le contraire d’un test de Turing : il détermine si un utilisateur supposé humain est en réalité un agent logiciel (un bot) ou non, plutôt que de déterminer si un ordinateur est humain. Pour ce faire, un CAPTCHA a besoin d’attribuer une tâche brève que les personnes ont tendance à réussir alors qu’elle est difficile pour les ordinateurs. Une identification de texte et d’image répond généralement à ces critères.