CAPTCHA : les machines « prouvent » plus rapidement qu'elles sont des humains

CAPTCHA : les machines « prouvent » plus rapidement qu’elles sont des humains

Je ne suis pas un humain

Avatar de l'auteur
Martin Clavey

Publié dans

Société numérique

22/08/2023 6 minutes
42

CAPTCHA : les machines « prouvent » plus rapidement qu'elles sont des humains

Des chercheurs et chercheuses de l'Université de Californie à Irvine ont montré que les humains étaient maintenant plus lents et moins efficaces que des bots pour résoudre des CAPTCHA.

Les tâches de reconnaissance d'images réputées inaccessibles pour les machines deviennent maintenant plus simples pour elles que pour les humains. Des chercheurs de l'Université de Californie à Irvine (UC Irvine) ont en effet comparé les performances des humains avec celles des algorithmes de résolution de CAPTCHA et ont montré que la machine était, la plupart du temps, meilleure et plus rapide. Ils ont présenté leurs résultats à la conférence USENIX Security en ce mois d'août (PDF).

Au départ, les CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) ont bien été inventés pour résoudre des problèmes de sécurité et éviter que des programmes malveillants se fassent passer pour des utilisateurs.

« Un captcha est un programme qui peut générer et noter des tests que (A) la plupart des humains peuvent réussir, mais que (B) les programmes informatiques actuels ne passent pas », expliquaient les chercheurs Luis von Ahn, Manuel Blum, Nicholas J. Hopper, et John Langfor dans leur article fondateur (PDF) sur le sujet titré « CAPTCHA : utiliser des problèmes d'IA difficiles pour la sécurité ». Cette fonctionnalité a permis pendant des années de bloquer spams et aspirateurs de données à l'entrée de nombreux formulaires de sites web.

De l'aide à la numérisation à l'apprentissage pour le Deep learning

Mais en 2007, Luis von Ahn et Ben Maurer ont cofondé reCAPTCHA, une entreprise qui proposait d'utiliser les CAPTCHA pour faire faire des tâches de reconnaissances d'images que les systèmes de l'époque n'étaient pas capables d'effectuer. L'idée a d'abord été appliquée à la numérisation de livres pour Internet Archive.

Le site avait scanné 20 000 livres, mais les logiciels d'OCR n'étaient pas capables de reconnaître tous les mots, notamment quand une page était en mauvais état. TechCrunch expliquait à l'époque qu' « à l'instar d'une application Mechanical Turk, ReCaptcha fait appel à des humains pour traduire des images de mots scannés qu'un ordinateur ne pourrait pas comprendre ».

Le système proposait deux mots distordus par un algorithme : un déjà reconnu par la machine et un autre qui ne l'était pas. Ainsi, les mots illisibles automatiquement pouvaient petit à petit être numérisés. Luis von Ahn et Ben Maurer estimaient à 60 millions le nombre de CAPTCHA résolus chaque jour et Techcrunch les ramenaient à plus de 160 000 heures humaines par jour (soit environ 19 ans).

En 2009, Google a acheté reCaptcha y voyant une autre opportunité. Non seulement, reCaptcha permettait de remplacer la machine par des humains quand elle n'arrivait pas à décoder un mot dans un texte scanné, mais il permettait d' « apprendre aux ordinateurs à lire », comme l'expliquait l'entreprise sur son blog au moment du rachat.

Le principe a ensuite été élargi à la reconnaissance de formes dans des photos, comme des chats, des passages piétons ou des voitures, etc. La multinationale trouvait ici une véritable petite usine à étiqueter gratuitement des images et se concocter une bibliothèque d'entrainement pour ses algorithmes d'intelligence artificielle qu'elle était en train de développer.

Des tests obsolètes

Mais quatorze ans après cet achat, ce qui devait arriver est en train d'arriver. Les algorithmes d'intelligence artificielle de Google et de ses concurrents, entraînés grâce à ce genre de bibliothèques, deviennent de plus en plus efficaces et menacent la pertinence de la première fonctionnalité des CAPTCHA.

La chercheuse Ai Enkoji et ses collègues de l'Université de Californie à Irvine ont travaillé avec Yoshimichi Nakatsuka de l'École polytechnique fédérale de Zurich et Andrew Paverd de Microsoft pour comparer les capacités des humains et celles des bots dans la résolution de CAPTCHA.

Ils ont donc analysé les 200 sites les plus importants du web pour savoir combien d'entre eux utilisaient des CAPTCHA et quels types ils utilisaient, puis ont payé à la tâche (quelques dizaines de cents à quelques dollars) 1 400 personnes sur Amazon Mechanical Turk pour résoudre 10 types de CAPTCHA différents.

Comparant dans le tableau ci-dessous les performances des participants à celles obtenues par des bots développés par d'autres chercheurs et spécifiques à chaque CAPTCHA, ils expliquent que « ces résultats suggèrent que les robots peuvent surpasser les humains, à la fois en termes de temps de résolution et de précision, pour tous ces types de CAPTCHA ».

An Empirical Study & Evaluation of Modern CAPTCHAs
Crédits : Ai Enkoji et al.

On peut même voir que la version reCAPTCHA de Google qui demande de cliquer sur une case à côté de la phrase « Je ne suis pas un robot  » est réussie à 100 % par le bot avec une vitesse beaucoup plus rapide que les humains qui, eux, ne la réussissent pas tout le temps. Cette nouvelle version qui promettait de remplacer efficacement les classiques tâches de catégorisation d'image en analysant le comportement de l'utilisateur sur la page ne remplit pas le contrat.

Internet Archive est maintenant une source des IA

Les GAFAM ont massivement utilisé ces petits outils pour protéger les données des utilisateurs et récupérer des données d'entrainement. Depuis quelque temps, ils voient bien leur fragilité. L'année dernière, Apple mettait en place un système pour les utilisateurs de ses appareils permettant d'être authentifié automatiquement, sans passer par l'épreuve du CAPTCHA. Mais ce genre de systèmes suppose de se reposer sur du matériel identifié et peut poser des questions sur la protection des données privées.

Les CAPTCHA ont par contre réussi à merveille ce qui n'était pas leur tâche originelle : l'entrainement des IA. Elles sont maintenant capables de les résoudre mais aussi, avec l'ajout d'entrainements par des « data workers » et sur les millions de livres d'Internet Archive qu'ils ont aidé à numériser, les IA génératives peuvent créer de nouveaux textes.

Écrit par Martin Clavey

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

De l'aide à la numérisation à l'apprentissage pour le Deep learning

Des tests obsolètes

Internet Archive est maintenant une source des IA

next n'a pas de brief le week-end

Le Brief ne travaille pas le week-end.
C'est dur, mais c'est comme ça.
Allez donc dans une forêt lointaine,
Éloignez-vous de ce clavier pour une fois !

Fermer

Commentaires (42)



Les CAPTCHA ont par contre réussi à merveille ce qui n’était pas leur tâche originelle : l’entrainement des IA.




Et Google n’a jamais prévu une solution de secours pour leurs services ?



15 ans de codes traceurs et de navigation infâme pour en arriver là, qu’est-ce l’étape d’après ?


Et donc je me rends compte que je n’ai jamais su ce que signifiait l’acronyme (bon, c’est un peu compliqué à retenir).


Quand j’expliquais cela à des collègues de boulot il y a (déjà) quelques années, en expliquant que les reCaptcha étaient avant tout là pour aider Google à se constituer une base de données pour entraîner des IA, on me prenait pour un dingue…
Et encore je n’avais pas vu venir le fait que celles-ci deviendraient aussi rapidement performantes. Auquel cas on m’aurait interné :transpi:


Y a les CAPTCHA où il faut juste cocher une case aussi, je sais pas s’ils font partie des statistiques de l’étude, mais je n’ai jamais compris comment ils pouvaient empêcher un bot de passer.


Dans l’article :




On peut même voir que la version reCAPTCHA de Google qui demande de cliquer sur une case à côté de la phrase « Je ne suis pas un robot » est réussie à 100 % par le bot avec une vitesse beaucoup plus rapide que les humains qui, eux, ne la réussissent pas tout le temps. Cette nouvelle version qui promettait de remplacer efficacement les classiques tâches de catégorisation d’image en analysant le comportement de l’utilisateur sur la page ne remplit pas le contrat.



C’est le fameux “reCAPTCHA (click)” dans l’article.
C’est sensé être basé sur le comportement, mais j’avoue que je n’ai jamais été convaincu par la technique, notamment parce que ça induit que le système de CAPTCHA traque tous tes faits et gestes… À priori pour un résultat très discutable.



Je m’étonne qu’il n’y ai pas de CAPTCHA basé sur les émotions. Vous connaissez un tel système ?



On peut même voir que la version reCAPTCHA de Google qui demande de cliquer sur une case à côté de la phrase « Je ne suis pas un robot » est réussie à 100 % par le bot avec une vitesse beaucoup plus rapide que les humains qui, eux, ne la réussissent pas tout le temps.




C’est reCaptcha (click) dans le tableau.



Edit: wouah la triplette en réponse :D


En fait, c’est assez compréhensible : un humain doit déplacer sa souris sur la case à cocher, puis cliquer.
Un ordinateur simule un clic.
Résultat : l’ordinateur est plus rapide qu’un humain.


De mémoire il était annoncé que ça évaluait le déplacement de la souris pour s’assurer que ce n’était pas un robot (le mouvement ne devait pas être une ligne droite par exemple).



Mais le système avec click me semble mis de coté depuis quelques années (c’était la V2 chez google)



La V3 évalue l’utilisateur et lui donne un score




reCAPTCHA v3 renvoie un score pour chaque requête sans friction pour l’utilisateur. Ce score dépend des interactions avec votre site et vous permet de prendre les mesures qui s’imposent.




Du coup, on sait si la v3 a été testée ? L’article parle de la version avec click (la V2), mais quand je l’avais mise en place il y a 2 ans j’avais déjà eu des problèmes de bot, la V3 semble être disponible depuis 2018 (donc la V2 est quand même déjà veille)



FrancoisA a dit:


En fait, c’est assez compréhensible : un humain doit déplacer sa souris sur la case à cocher, puis cliquer. Un ordinateur simule un clic. Résultat : l’ordinateur est plus rapide qu’un humain.




Je pense qu’il y a quand-même à minima un check que la souris ne se téléporte pas sur le bouton pour cliquer mais y arrive à une vitesse normale. Ca reste quand-même facile à contourner.


Et les écrans tactiles ? Pas de curseur et en “cliquant” sur la case, c’est comme si la souris se téléportait.



pierreonthenet a dit:


…Je m’étonne qu’il n’y ai pas de CAPTCHA basé sur les émotions. Vous connaissez un tel système ?




Cela risque d’exclure aussi quelques humains.


Le système de CAPTCHA avec juste une case à cocher est en réalité beaucoup plus complexe : la case à cocher n’est que l’étape ultime d’une analyse des interactions avec l’utilisateur. Le principe est de lancer un JavaScript en début de chargement de page, et ce JavaScript examine les interactions, dialogue avec un serveur de l’éditeur du CAPTCHA, et en déduit un “score” qui indique la probabilité d’avoir un humain à l’autre bout du navigateur. Ensuite, si le score est élevé, on ne demande que de cocher une case ; si le score est trop faible, alors on peut soit refuser, soit proposer un challenge du genre lire un texte, chercher dans des images, etc.



Deux points importants sur le reCAPTCHA de Google : évidemment, comme beaucoup de solutions de ce type, il y a des l’IA pour évaluer “l’humanité” de l’utilisateur. Si cela permet d’entraîner de l’IA côté Google, ça reste sur un périmètre limité.



Par contre, plus important, cela veut dire que Google se sert de tous les utilisateurs du service pour cela. Pire encore : dans les conditions générales de Google, quand vous utilisez le service reCAPTCHA, il faut savoir que ce dernier est géré par la licence globale d’utilisation. Ainsi, les infos possiblement récoltées par le reCAPTCHA peuvent servir à Google pour le ciblage publicitaire. En corollaire, les trackers publicitaires de Google sont si largement utilisés qu’en général, quand un site web appelle le service reCAPTCHA, ce dernier a dispose déjà de tout ce qu’il faut pour savoir si vous êtes un humain ou pas.



En ce qui concerne la compétition homme-IA, sachant que les services de CAPTCHA utilisent quasiment tous de l’IA, il est logique qu’on puisse entraîner des IA pour les contrer. Tout comme en sécurité informatique, on utilise de plus en plus d’IA pour contrer les attaques, il faut s’attendre à ce que l’IA soit de plus en plus utilisées par les attaquants pour contourner les défenses en place…


Le score est le résultat d’un calcul d’entropie utilisateur.
Pour les pressés face à recaptcha, secouez la souris dans dans le bloc recaptcha avant de cliquer.



:inpactitude:



Tout comme Gmail, l’utilisation de recaptcha possède des contreparties, c’est mieux d’être informé, ne serait-ce pour la déclaration RGPD.



Jean_G a dit:


si le score est trop faible, alors on peut soit refuser, soit proposer un challenge du genre lire un texte, chercher dans des images, etc.




Je me tape régulièrement de la recherche d’image après la case à cocher …


:merci: pour ce complément que je trouve aussi utile que l’article.


Si ça pouvait faire que les captcha disparaissent, entre les images quasi illisible où il faut cliquer sur un “fire hydrant” ou un “vélo” à moitié flouté.


Du coup je suis convaincu que ces captcha entrainent une IA de reconnaissance d’image.
C’est peut être faux, mais ça semble parfois bien fait pour (un peu comme le captcha texte qui aurait servi à identifier le texte dans les livres numérisés).



Ça fait partie de mes petites théories que je n’ai jamais pris la peine de vérifier.


Sinon voir aussi https://www.youtube.com/watch?v=LButXcZ57pc (attention aux trackers Google :D)
:fumer:


Sur le même thème des captchas, il y a celle-ci qui m’avait bien fait marrer :
https://www.youtube.com/watch?v=5zOHSysMmH0&t=336s
(durée = 15 secondes)


Pas vraiment surprenant. Personnellement, l’âge aidant, j’ai de plus en plus de mal avec certains systèmes - surtout ceux basés sur du texte dans une police improbable tordu n’importe comment…



Pour l’image d’illustration, est-ce que si on se trompe on est envoyé dans un gouffre sans fond ? :D



(reply:2147915:Ced-le-pingouin)




Je me souviens avoir lu quelque part au début des années 2000, au tout début de l’usage du terme, que ça signifiait « Completely Automated Protocol Telling Computers and Humans Apart ». Je ne sais pas pourquoi c’est l’autre version qui est restée, alors que niveau initiales, celle-ci colle beaucoup mieux. Probablement que la référence au test de Turing plaisait…



Jean_G a dit:


En corollaire, les trackers publicitaires de Google sont si largement utilisés qu’en général, quand un site web appelle le service reCAPTCHA, ce dernier a dispose déjà de tout ce qu’il faut pour savoir si vous êtes un humain ou pas.




Ca veut dire que si je fais un bot qui clique dans la case, il sera considéré comme plus humain si je l’exécute sur le PC que j’utilise moi-même plutôt que sur un serveur ?




Arcy a dit:


Et les écrans tactiles ? Pas de curseur et en “cliquant” sur la case, c’est comme si la souris se téléportait.




Les écrans tactiles sont sûrement identifiés comme tels, avec des vérifications adaptées. On n’est plus à l’époque où ils émulaient simplement une souris.



(reply:2147953:anagrys) Non, tu seras juste rétrogradé au rang d’esclave des machines.




Sinon un rappel : la solution Google reCAPTCHA telle quelle n’est pas conforme au RGPD. En effet, il faudrait en théorie d’abord cliquer sur une case de consentement pour utiliser ce service avant la collecte des données.



Sources : https://www.nextinpact.com/article/30414/109181-application-stopcovid-la-cnil-exige-correction-plusieurs-irregularites et https://www.cnil.fr/fr/cookies-et-autres-traceurs/regles/cookies/FAQ (§ 16).



Le RGPD permet de se passer du consentement utilisateur uniquement si le service ne sert qu’à la lutte contre la fraude (et donc les bots), ce qui n’est pas le cas avec le reCAPTCHA.


Merci pour tes interventions très INtéressantes :)


Je suis officiellement moins intelligent qu’une IA : je n’arrive jamais à résoudre le captcha du premier coup :craint:



Et pour Recaptcha c’est pire, il me faut souvent 3 ou 4 tentatives pour y arriver, surtout avec celui qui fait disparaître lentement l’image après le clic :pleure:



spidermoon a dit:


Si ça pouvait faire que les captcha disparaissent, entre les images quasi illisible où il faut cliquer sur un “fire hydrant” ou un “vélo” à moitié flouté.




Pour ma part, je n’ai toujours pas compris si l’on doit ou non cliquer sur les tuiles sur lesquelles apparaissent un tout petit bout du bus ou du feu tricolore (mais un bout quand même).



Jean_G a dit:


Le système de CAPTCHA avec juste une case à cocher est en réalité beaucoup plus complexe […]




Je pense que ce commentaire, ainsi que les compléments apportés par la suite, pourraient faire l’objet d’un article dédié pour bien expliquer l’entourloupe le fonctionnement d’un CAPTCHA :yes:



J’ai lu les commentaires par habitude, j’ai appris quelque chose
:inpactitude:



(reply:2148039:Daniel K) Y a qu’à demander :D




CAPTCHA : les machines « prouvent » plus rapidement qu’elles sont des humains




plot twist: si tu es plus lent que les machines c’est que tu n’es plus humain… tu as été remplacé par un robot low-cost, mais tu ne le sais pas toi-même.



#BladeRunner



Cette fonctionnalité a permis pendant des années de bloquer spams et aspirateurs de données à l’entrée de nombreux formulaires de sites web ainsi que des utilisateurs légitimes.




La c’est corrigé.



whitemoon a dit:


Pour ma part, je n’ai toujours pas compris si l’on doit ou non cliquer sur les tuiles sur lesquelles apparaissent un tout petit bout du bus ou du feu tricolore (mais un bout quand même).




Tout pareil, un vrai calvaire ce truc. Au point que quand je bloque, bah tampis je n’insiste pas, si le service ne m’est pas indispensable.
Après tout, si le site est si peu accueillant, pourquoi aller le visiter ? :-)


Je sais que l’utilisation d’un IA nécessite boucoup moins de computations que celles nécessaires à son entraînement. N’empêche, résoudre un CaptaCha (ou équivalent), ça ne doit pas être négligeable en coût (pour faire du scraping ou du deni de service à coup de dizaines de milliers de requêtes par secondes ). Pour moi, la question pertinente, ce n’est pas est-ce qu’une IA peut résoudre rapidement un vulgaire test de CaptaCha, on se doute bien qu’elle sait déjà le faire très rapidement étant données les tâches bien plus complexe qu’elle “résout”. Mais est-ce à coût marginal ?



spidermoon a dit:


Si ça pouvait faire que les captcha disparaissent, entre les images quasi illisible où il faut cliquer sur un “fire hydrant” ou un “vélo” à moitié flouté.




Et recommencer 160 millions de fois.



Quelle merde infâme !!!! Entre ça, les cookies banner, les pop-up “inscris toi à ma newsletter de connard” et j’en passe, le Web est devenu totalement impossible à naviguer par un humain.



Par contre les robots n’ont aucun souci, le comble…



C’est fou comme un support d’information simple et efficace a creusé sa propre tombe à cause de quelques imbéciles.


Moi ça arrive relativement souvent qu’il estime que j’ai été trop vite et me dise “soit vous êtes surhumain, soit vous êtes une machine” :mdr: . Et comme d’autres, je ne sais pas si un petit morceau de bus compte ou pas.


Je crois que ça ne compte pas. Empiriquement, il m’emmerde moins si je ne les coche pas.


white_tentacle

Je crois que ça ne compte pas. Empiriquement, il m’emmerde moins si je ne les coche pas.


C’est l’impression que j’ai aussi.


Après en avoir récemment fait l’expérience, j’ai observé que les CAPTCHA intègrent de plus en plus de mécanisme anti reconnaissance visuelle par IA. Les photos sont désormais bruitées ce qui est censé perturber l’IA.



Mais aussi l’humain qui ne voit plus rien.



Bref.


Une question : si le captcha utilise l’humain pour étiqueter gratuitement des images, donc qu’a priori il ne sait pas ce qu’il y a sur ces images, comment la vérification de la validité de la réponse est-elle faite ? Je ne me suis jamais amusé à le faire mais j’imagine que si je sélectionne les chatons au lieu des feux tricolores ça ne passe pas ?


Certainement comme pour le texte :




Le système proposait deux mots distordus par un algorithme : un déjà reconnu par la machine et un autre qui ne l’était pas. Ainsi, les mots illisibles automatiquement pouvaient petit à petit être numérisés.




C’était facilement vérifiable : il suffisait de rentrer le premier mot et de mettre n’importe quoi pour le second et ça passait (en faisant gagner du temps :transpi:).



Pour les mosaïques d’images, ça doit être pareil, une des images doit être inconnue, les autres connues.



Pour quand il faut sélectionner une partie de l’image, je ne vois pas…


Mihashi

Certainement comme pour le texte :




Le système proposait deux mots distordus par un algorithme : un déjà reconnu par la machine et un autre qui ne l’était pas. Ainsi, les mots illisibles automatiquement pouvaient petit à petit être numérisés.




C’était facilement vérifiable : il suffisait de rentrer le premier mot et de mettre n’importe quoi pour le second et ça passait (en faisant gagner du temps :transpi:).



Pour les mosaïques d’images, ça doit être pareil, une des images doit être inconnue, les autres connues.



Pour quand il faut sélectionner une partie de l’image, je ne vois pas…


Ahhhh du coup je me rends compte que je n’avais pas bien compris la phrase de l’article dans le contexte. Tout s’éclaire maintenant, merci ! :yes: