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 vraiment un humain et non un bot. CAPTCHA est un acronyme qui signifie « test de Turing public complètement automatisé pour distinguer les ordinateurs des humains ». Les utilisateurs rencontrent souvent les tests CAPTCHA et reCAPTCHA sur Internet. De tels tests sont un moyen de gérer l'activité des bots, bien que l'approche ait ses inconvénients.

Bien que les CAPTCHA soient conçus pour bloquer les bots automatisés, les CAPTCHA sont eux-mêmes automatisés. Ils sont programmés pour apparaître à certains endroits sur un site Web et ils approuvent ou rejettent automatiquement 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 programme informatique tel qu'un bot ne sera pas en mesure d'interpréter les lettres déformées, tandis qu'un être humain, habitué à voir et à interpréter des lettres dans toutes sortes de contextes, différentes polices, écritures, etc., sera généralement en mesure de les identifier.

Le mieux que de nombreux bots puissent faire est de saisir des lettres aléatoires, ce qui rend statistiquement peu probable qu'ils passeront le test. Ainsi, les bots échouent au test et ne peuvent pas interagir avec le site Web ou l'application, tandis que les humains peuvent continuer à l'utiliser comme d'habitude.

Les robots avancés peuvent utiliser l'apprentissage automatique pour identifier ces lettres déformées, de sorte que ces types de tests CAPTCHA sont remplacés par des tests plus complexes. Google reCAPTCHA a développé un certain nombre d'autres tests pour trier les utilisateurs humains des bots.

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 les tests CAPTCHA typiques. Comme CAPTCHA, certains reCAPTCHA obligent les utilisateurs à saisir des images de texte que les ordinateurs ont du mal à déchiffrer. Contrairement aux CAPTCHA ordinaires, reCAPTCHA se procure le texte à partir d'images du monde réel : photos d'adresses de rue, texte de livres imprimés, texte de vieux journaux, etc.

recaptcha example

Au fil du temps, Google a étendu la fonctionnalité des tests reCAPTCHA afin qu'ils n'aient plus à s'appuyer sur l'ancien style d'identification du texte flou ou déformé. D'autres types de tests reCAPTCHA incluent :

  • Reconnaissance d'image
  • Case à cocher
  • Évaluation générale du comportement des utilisateurs (aucune interaction avec les utilisateurs)

Comment fonctionne un test reCAPTCHA de reconnaissance d'image ?

Pour un test reCAPTCHA de reconnaissance d'image, les utilisateurs se voient généralement présenter 9 ou 16 images carrées. Les images peuvent toutes provenir de la même grande image ou être différentes. Un utilisateur doit identifier les images qui contiennent certains objets, tels que des animaux, des arbres ou des panneaux de signalisation. Si leur réponse correspond aux réponses de la plupart des autres utilisateurs qui ont soumis le même test, la réponse est considérée comme « correcte » et l'utilisateur réussit le test.

image recaptcha

suppression de certains objets de photos floues est un problème difficile à résoudre pour les ordinateurs. Même les programmes avancés d'intelligence artificielle (IA) ont du mal avec cela - donc un bot aura aussi du mal avec. Cependant, un utilisateur humain devrait être en mesure de le faire assez facilement, car les humains sont habitués à percevoir les objets du quotidien dans toutes sortes de contextes et de situations.

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

Certains tests reCAPTCHA invitent simplement l'utilisateur à cocher une case à côté de la déclaration « Je ne suis pas un robot ». Toutefois, le test n'est pas l'action réelle de cliquer sur la case à cocher, c'est tout ce qui mène au clic de la case à cocher.

Not a Robot captcha

Ce test reCAPTCHA prend en compte le mouvement du curseur de l'utilisateur à l'approche de la case à cocher. Même le mouvement le plus précis d'un humain est aléatoire dans une certaine mesure au niveau microscopique : de minuscules mouvements inconscients que les bots ne peuvent pas facilement imiter. Si le mouvement du curseur contient une partie de cette imprévisibilité, alors le test décide que l'utilisateur est probablement légitime. Le reCAPTCHA peut également évaluer les cookies stockés par le navigateur sur l'appareil d'un utilisateur et l'historique de l'appareil afin de savoir si l'utilisateur est susceptible d'être un bot.

Si le test n'est toujours pas en mesure de déterminer si l'utilisateur est ou non un humain, il peut présenter un défi supplémentaire, tel que le test de reconnaissance d'image décrit ci-dessus. Toutefois, la plupart du temps, les mouvements du curseur, les cookies et l'historique de l'appareil de l'utilisateur sont suffisamment concluants.

Comment fonctionne reCAPTCHA sans interaction avec l'utilisateur ?

Les dernières versions de reCAPTCHA sont capables de porter un regard global sur le comportement et l'historique des interactions d'un utilisateur avec le contenu sur Internet. La plupart du temps, le programme peut décider en fonction de ces facteurs si l'utilisateur est un bot ou non, sans lui fournir de test à passer. Sinon, l'utilisateur obtiendra un défi reCAPTCHA typique.

Qu'est-ce qui déclenche un test CAPTCHA ?

Certaines propriétés Web ont automatiquement des CAPTCHA en place comme défense proactive contre les bots. Souvent, un test peut être déclenché si le comportement de l'utilisateur semble ressembler au comportement d'un bot : si les utilisateurs demandent des pages Web ou cliquent sur des hyperliens à un taux beaucoup plus élevé que la moyenne, par exemple.

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

Certains bots peuvent passer le test CAPTCHA par eux-mêmes. Les chercheurs ont démontré des façons d'écrire un programme qui bat également les CAPTCHA de reconnaissance d'image. En outre, les pirates peuvent utiliser des fermes à clics pour passer les tests : des milliers de travailleurs à bas salaire résolvant les CAPTCHA au nom des bots.

Outre un CAPTCHA, il doit y avoir d'autres stratégies en place pour arrêter les bots malveillants (tels que les bots de suppression de contenu, les bots d’infiltration de comptes ou les spam bots).

Quels sont les inconvénients de l'utilisation de CAPTCHA ou reCAPTCHA pour arrêter les bots ?

Expérience utilisateur désagréable : un test CAPTCHA peut interrompre le flux de ce que les utilisateurs essaient de faire, leur donnant un goût amère de leur expérience sur la propriété Web et les conduisant à abandonner complètement la page Web dans certains cas.

Non utilisable pour les personnes malvoyantes: Le problème avec les CAPTCHA est qu'ils dépendent de la perception visuelle. Cela les rend presque impossibles, non seulement pour les personnes légalement aveugles, mais pour toute personne ayant une déficience visuelle grave.

Ces tests peuvent être contournés par les bots : comme décrit ci-dessus, les CAPTCHA ne sont pas entièrement à l'épreuve des bots et ne doivent pas être utilisés pour la gestion des bots.

Existe-t-il des alternatives à l'utilisation des CAPTCHA ou des reCAPTCHA ?

Les solutions de gestion des bots telles que Cloudflare Bot Management peuvent identifier les bots malveillants sans effet sur l'expérience utilisateur, en fonction du comportement du bot. De cette façon, les bots peuvent être atténués sans obliger les utilisateurs à compléter les CAPTCHA.

Comment CAPTCHA et reCAPTCHA sont-ils liés aux projets d'intelligence artificielle (IA) ?

À 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 informatiques d’intelligence artificielle pour qu’ils s’améliorent également dans ces tâches.

En général, les programmes informatiques ont du mal à identifier les objets et les lettres dans différents contextes, car le contexte peut changer presque à l'infini dans le monde réel. Par exemple, un panneau d'arrêt est un octogone rouge avec des lettres blanches indiquant « STOP ». Un programme informatique pourrait identifier assez facilement une combinaison forme-mot. Toutefois, un panneau d'arrêt sur une photo peut être très différent de cette simple description en fonction du contexte : l'angle de la photo, l'éclairage, la météo, etc.

Grâce à l'apprentissage machine, les programmes d'IA peuvent mieux dépasser ces limites. Pour l'exemple du panneau d'arrêt, le programmeur fournirait au programme d'IA un tas de données sur ce qui est et n'est pas un panneau d'arrêt. Pour que cela soit efficace, il a besoin de beaucoup d'exemples d'images avec des panneaux d'arrêt et d'images sans panneaux d'arrêt, et il a besoin d'utilisateurs humains pour les identifier jusqu'à ce que le programme dispose de suffisamment de données pour être efficace.

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

Qu'est-ce qu'un test de Turing ? Comment les tests de Turing sont-ils pertinents pour les tests CAPTCHA ?

Un test de Turing évalue la capacité d'un ordinateur à imiter le comportement humain. Alan Turing, un des pionniers de l'informatique, a inventé le concept d'un test de Turing en 1950. Un programme informatique « réussit » le test de Turing si ses performances pendant le test ne se distinguent pas de celles d'un humain, c'est-à-dire s'il agit de la même manière qu'un l'homme agirait. Un test de Turing ne dépend pas de l'obtention de réponses correctes ; il s'agit de la façon dont les réponses sont « humaines », qu'elles soient bonnes ou mauvaises.

Bien qu'il soit appelé « test de Turing public », un CAPTCHA est vraiment l'opposé d'un test de Turing. Il détermine si un utilisateur supposé humain est en fait un programme informatique (un bot) ou non, au lieu d'essayer de déterminer si un ordinateur est un humain. Pour ce faire, un CAPTCHA doit assigner une brève tâche facile pour les personnes et difficile les ordinateurs. L'identification du texte et des images correspond généralement à ces critères.