web-dev-qa-db-fra.com

Comment fonctionne «No Captcha reCaptcha» de Google?

Google a publié une nouvelle forme d'identification captcha des bots, qui demande à l'utilisateur de cocher une seule case. Il utilise la vérification basée sur l'image uniquement si nécessaire.

Quelqu'un pourrait-il m'expliquer comment un tel programme différencie un humain d'un bot?

Il existe un programme ici qui peut effectuer des clics de souris sur votre ordinateur. Il ne peut pas être détecté par un programme Web sans accès à vos fichiers de programme. Il devrait être possible d'écrire un exécutable Windows indétectable qui peut cocher la case. On pourrait également randomiser le temps de réponse du programme.

Après quelques tentatives (réussies), le captcha demandera une vérification d'image. Peut-être que cela peut être résolu par une IA qui recherche les images à l'aide de Google Image Search (par image) et fait des suppositions en fonction des noms de fichiers des images `` visuellement similaires ''. Si les images utilisées ne proviennent pas du net, alors elles seraient limitées en nombre, et on pourrait en créer une base de données.

Quelqu'un pourrait-il préciser si ces approches pourraient réellement fonctionner?

77
ghosts_in_the_code

Ce n'est pas vraiment une grande question pour stackexchange car Google garde ses algorithmes secrets, donc tout ce que nous pouvons vraiment faire est de deviner comment cela fonctionne, mais je crois comprendre que le nouveau système analysera votre activité sur tous les services de Google (et éventuellement d'autres sites sur lesquels Google a un certain contrôle, tels que les sites Web qui ont des annonces Google).

Ainsi, il est probable que les vérifications ne se limitent pas à la seule page contenant la case à cocher. Par exemple, s'ils détectent que votre ordinateur/adresse IP que vous utilisez a également été utilisé par le passé pour faire des choses qu'un humain normal ferait - des choses comme vérifier Gmail, rechercher sur Google, télécharger des fichiers sur Drive, partager des photos, naviguer le Web, etc. - alors il peut probablement être raisonnablement sûr que vous êtes un être humain et vous permettre de sauter la vérification de l'image. D'un autre côté, s'il ne peut associer votre ordinateur à aucune activité similaire à celle d'un humain, il serait plus suspect et vous donnerait la vérification de l'image. Bien que le comportement de la souris en cliquant sur la case à cocher puisse être un facteur analysé, il y a certainement beaucoup plus à faire.

Encore une fois, nous ne savons pas avec certitude comment cela fonctionne. C'est juste ma meilleure estimation basée sur ce que peu de Google a dit:

Bien que la nouvelle API reCAPTCHA puisse sembler simple, il y a un haut degré de sophistication derrière cette modeste case à cocher. Les CAPTCHA se sont longtemps appuyés sur l'incapacité des robots à résoudre le texte déformé. Cependant, nos recherches ont récemment montré que la technologie d'intelligence artificielle d'aujourd'hui peut résoudre même la variante la plus difficile de texte déformé avec une précision de 99,8%. Ainsi, le texte déformé, à lui seul, n'est plus un test fiable.

Pour contrer cela, l'année dernière, nous avons développé un backend Advanced Risk Analysis pour reCAPTCHA qui prend activement en compte l'intégralité de l'engagement d'un utilisateur avec le CAPTCHA - avant, pendant et après - pour déterminer si cet utilisateur est un humain. Cela nous permet de moins compter sur la saisie de texte déformé et, en retour, d'offrir une meilleure expérience aux utilisateurs. Nous en avons parlé dans notre article sur la Saint-Valentin plus tôt cette année.

Pour moi, le point "avant, pendant et après l'utilisation" est une forte indication qu'ils analysent le comportement de navigation précédent, mais mon interprétation pourrait être erronée.

Voici une citation de WIRED:

Au lieu de dépendre du test Word déformé traditionnel, le "reCaptcha" de Google examine les indices que chaque utilisateur fournit sans le savoir: les adresses IP et les cookies fournissent la preuve que l'utilisateur est le même humain convivial que Google se souvient d'ailleurs sur le Web. Et Shet dit que même les petits mouvements de la souris d'un utilisateur qui plane et s'approche d'une case à cocher peuvent aider à révéler un bot automatisé.

Il y a un autre fil sur stackoverflow qui en discute également: https://stackoverflow.com/questions/27286232/how-does-new-google-recaptcha-work

En ce qui concerne la vérification des images, vous ne pourrez pas trouver ces images avec la recherche d'images inversée ou en compiler une base de données. Ce sont généralement des plaques de rue ou des numéros de maison aléatoires capturés par les voitures Street View de Google, ou des mots de livres numérisés pour le projet Google Livres. Il y a un bon objectif derrière cela - Google utilise en fait ce que les gens saisissent dans reCaptcha pour améliorer leurs propres bases de données et former des algorithmes OCR. reCaptcha donne la même image à un certain nombre d'utilisateurs, et s'ils sont tous d'accord sur ce qu'elle dit, alors l'image devient des données d'entraînement pour l'IA de Google.

De wikipedia:

Le service reCAPTCHA fournit aux sites Web abonnés des images de mots que le logiciel de reconnaissance optique de caractères (OCR) n'a pas pu lire. Les sites Web abonnés (dont les objectifs ne sont généralement pas liés au projet de numérisation du livre) présentent ces images que les humains peuvent déchiffrer en tant que mots CAPTCHA, dans le cadre de leurs procédures de validation normales. Ils renvoient ensuite les résultats au service reCAPTCHA, qui envoie les résultats aux projets de numérisation.

reCAPTCHA a travaillé sur la numérisation des archives du New York Times et des livres de Google Books. [3] En 2012, trente ans du New York Times avaient été numérisés et le projet devait s'achever les années restantes à la fin de 2013. Les archives maintenant achevées du New York Times peuvent être consultées à partir des archives d'articles du New York Times, où plus de 13 millions d'articles au total ont été archivés, datant de 1851 à nos jours.

67
tlng05

J'utilise également pour être étonné par cette chose. Donc, ce que j'ai fait, en Chrome ouvrez le mode navigation privée, puis parcourez un site qui a le nouveau Google CAPTCHA et cochez la case. Eh bien, cela ne m'a pas traversé, mais il montre un série d'images et m'a demandé de sélectionner des images liées à une image.

Cela montre que Google suit constamment notre comportement pour déterminer si nous sommes humains ou non.

Incognito mode

20
fdiengdoh

Lorsque vous cliquez sur je ne suis pas un robot il envoie une requête HTTP à Google avec tout un tas d'informations utiles comme

  • Votre adresse IP
  • Votre pays
  • Horodatage

Informations de votre navigateur, telles que la façon dont vous déplacez votre curseur juste avant de cocher la case. Comment vous faites défiler la page avant le clic. L'intervalle de temps entre les différents événements du navigateur et de nombreuses autres variables que Google garde secrètes.

Tous ces critères sont ensuite traités par l'analyse des risques d'apprentissage automatique chez Google et la plupart du temps, les informations peuvent faire la différence entre un humain et un bot, mais si le moteur d'analyse des risques n'est toujours pas sûr, le petit pourcentage d'utilisateurs relève souvent un défi supplémentaire. .

C'est là que CAPTCHA de reconnaissance d'image entre en jeu. Si vous prouvez que vous êtes humain de cette façon, les chances sont que le moteur de Google se souviendra et la prochaine fois après avoir cliqué sur cette case à cocher, vous pourrez passer à travers avec ces derniers.

9
defalt

Pour autant que je l'ai vu, la logique est la suivante:

  • Si l'utilisateur n'est pas connecté dans le compte Google (dans le navigateur), il obtient un captcha visible.
  • Si l'utilisateur est connecté, alors en fonction de l'historique de vos activités précédentes (probablement sur Google) (soit sur cette page, soit avant d'y naviguer), deux scénarios sont possibles:
    1. Vous n'obtiendrez aucun captcha
    2. Vous obtiendrez un captcha plus facile (soit 1 labyrinthe au lieu de 4 labyrinthes)

Ce que je ne comprends pas bien, c'est à quoi servent les captchas checkbox quand l'algorithme a déjà détecté que vous êtes un humain.

2
T.Todua

Cela fait plusieurs choses. Il vérifie votre adresse IP et vos cookies. Il examine la façon dont vous cliquez et les mouvements de votre souris avant de cliquer. L'utilisation d'un outil de clic automatique permet généralement à Google de vous donner une image.

0
skyler