Comment les Captchas peuvent-ils savoir si la réponse donnée est correcte ?
Question d'origine :
Comment les Captchas peuvent-ils savoir si la réponse donné par un utilisateur est correcte ou incorrecte ?
Réponse du Guichet
Analyse du mouvement de votre souris, des cookies de votre navigateur, ou encore utilisation d'intelligences artificielles sont quelques-uns des procédés utilisés par les CAPTCHAs.
Bonjour,
Vous souhaitez comprendre comment les Captchas peuvent distinguerles réponses correctes des réponses incorrectes.
CAPTCHA est un acronyme pour Completely Automated Public Turing test to tell Computers and Humans Apart.
Les CAPTCHAs se basent sur le test de Turing, qui est complètement automatisé, afin de différencier les internautes humains des ordinateurs. Ils permettent ainsi de vérifier de manière informatique que l'internaute n'est pas un robot.
Il existe plusieurs types de CAPTCHAs :
- les CAPTCHAs les plus simples sont ceux qui demandent aux internautes de recopier les lettres présentes sur une image distordue.
Dans ce cas là, la vérification se fait simplement en comparant le texte écrit par l’internaute avec la « bonne réponse », qui est elle-même déjà connue par le site web consulté.
- A l’heure actuelle, les CAPTCHAs les plus répandus sont ceux proposés par le service ReCaptcha de Google.
Ils demandent à l’internaute de cocher une case, puis celle-ci mouline pendant quelques fractions de seconde avant de le laisser entrer.
Ce qui est intéressant, c’est de comprendre ce qu’il se passe durant ce laps de temps.
Afin de trouver la réponse, des internautes ont « décompilé » ReCaptcha, c’est-à-dire qu’ils ont observé le fonctionnement du logiciel avec des outils d’analyse de code afin de comprendre en détail ce qu’il s’y passait.
Les recherches sont consultables en anglais sur des forums informatiques, et notamment sur la plateforme Github.
- Le procédé le plus répandu est le fait que le logiciel prenne un peu de temps pour analyser le mouvement de la souris lors du clic.
Un robot se serait déplacé et aurait cliqué sur la case de manière quasi instantanée, tandis qu’un humain a généralement un mouvement de souris imparfait et prend un peu plus de temps pour cliquer.
Cette analyse est une des étapes du processus de vérification ReCaptcha, mais ce n’est pas la seule.
- Lors du clic sur la case, l’internaute transmet également de nombreuses informations sur sa navigation internet.
Des informations, telles que le taux de succès des anciens ReCaptchas, le navigateur utilisé, les plug-ins installés, et diverses autres informations tirées des cookies Google… prennent le plus de temps et ont le plus de chance « d’échouer ».
Un « échec » signifie ici que ReCaptcha considère votre activité comme étant suspicieuse, le simple fait de se tromper plusieurs fois de mot de passe, lui suffisant parfois à considérer une navigation comme suspicieuse...
- En cas d’échec, ReCaptcha passe à une deuxième étape qui est l’identification d’images.
Les intelligences artificielles sont capables à l’heure actuelle d’identifier certains objets si elles ont été entrainées au préalable pour cela.
ReCaptcha étant possédé par Google, et Google possédant de surcroit Google Maps, ReCaptcha utilise ainsi des images de Google Maps quand il vous demande par exemple d’identifier les images contenant un vélo, un feu rouge ou une bouche d’incendie.
Les intelligences artificielles de Google ayant déjà identifié ces objets, ReCaptcha connaît donc à l'avance les bonnes réponses.
- Il y a par ailleurs des théories fondées selon lesquelles l’identification d’images ReCaptcha serait utilisée par Google pour principalement entraîner des intelligences artificielles.
Dans la mesure où le code de ReCaptcha n’est ni open-source, ni public (ce qui ne serait pas dans l’intérêt d'une entreprise privée telle que Google…), ces théories ne peuvent cependant pour l'instant pas être prouvées.
En vous souhaitant une bonne navigation sur le web !
Cordialement