Qu’est-ce qu’un CAPTCHA ? Le guide complet

Origine de l'article : PRESSE NUMERIQUE .

Cet article est paru en premier sur https://intelligence-artificielle.com/

Un CAPTCHA permet de distinguer un humain d’un bot qui souhaite accéder à une page Web. Il s’agit d’un système de sécurité mis en œuvre pour empêcher les spams ou les différentes attaques informatiques.

Si vous naviguez souvent sur internet, vous avez sûrement rencontré un CAPTCHA. Il s’agit de la fenêtre de test qui vous demande, par exemple, de recopier un texte déformé. Mais savez-vous réellement ce que sont les tests CAPTCHA et à quoi servent-ils ? Dans cet article, nous vous expliquons tout ce qu’il y a savoir sur ce sujet.

CAPTCHA : qu’est-ce que c’est ?

En quelques mots, un CAPTCHA est un test qui permet de distinguer un humain d’un robot. Cet acronyme signifie en fait « Completely Automated Public Turing test to tell Computers and Humans Apart ».

Pour rappel, un test de Turing a pour but de mesurer la capacité d’un programme informatique à imiter un humain dans la résolution d’une tâche. Un test réussi indique notamment que le résultat obtenu est indifférent à celui d’un humain.

Malgré son nom, un CAPTCHA fonctionne dans le sens inverse. Il vise donc à déterminer que la personne testée est bien un humain et non un robot. Le plus souvent, ce test apparaît sous la forme d’une petite fenêtre intégrée aux formulaires d’une page web. Il peut prendre de nombreuses formes. En principe, ces tests ont pour but d’empêcher les spammeurs de saisir des liens inappropriés dans les formulaires ou les sections de commentaires.

L’invention des CAPTCHAS

Vers la fin des années 1990, l’utilisation des bots pour soumettre automatiquement des liens sur certaines plateformes est devenue pratique courante pour augmenter le classement dans les moteurs de recherche.

Afin de bloquer ces spammeurs, un scientifique d’AltaVista a créé un générateur de test automatique. Chaque test correspondait à une image de texte imprimé. Étant donné que les ordinateurs ne pouvaient pas reconnaître des images de textes, seul un humain pouvait passer le test en réagissant au message généré. Mais ce n’est qu’en 2003 que le terme CAPTCHA fut utilisé pour la première fois par des chercheurs de l’université Carnegie Mellon et d’IBM qui ont amélioré l’algorithme. 

À quoi ça sert ?

L’utilisation des bots évolue avec la technologie et avec internet. Par conséquent, il existe aujourd’hui divers moyens d’utiliser les programmes automatisés et à différentes fins. Le choix de l’utilisation des bots s’explique par le fait qu’ils sont plus rapides que les humains à exécuter des tâches. Ainsi, ils peuvent atteindre des objectifs dans de plus courts délais, comme l’insertion de liens sur les sites afin d’augmenter la visibilité.

Entre autres, un CAPTCHA filtre les requêtes d’un utilisateur pour déterminer si elles proviennent d’un humain ou d’un script automatisé. L’approche consiste donc à soumettre un test que seul un humain serait capable de réussir. Cela permet d’empêcher l’utilisation des bots pour un usage abusif d’une plateforme.

Par exemple, un CAPTCHA peut empêcher les bots de créer plusieurs comptes de messagerie pour le spamming. Une autre technique populaire pour les spammeurs est la souscription aux forums et aux formulaires. En outre, le test permet de prévenir l’achat abusif de biens en quantité limitée par les revendeurs. 

La plupart du temps, mais pas toujours, il est généré lors de création d’un nouveau compte sur une plateforme.

Comment fonctionne un CAPTCHA ?

Le principe du CAPTCHA est de faire passer un test à l’utilisateur qui, normalement, devrait être facile pour un humain. Initialement, les CAPTCHAS se présentaient sous forme de lettres déformées de manière à les rendre impossibles à lire pour un bot. En effet, une machine n’est pas censée prendre en compte les différents types d‘impression, de calligraphie, d’angles de vues, etc. Autrement dit, seul un véritable humain serait en mesure de déchiffrer un mot ou une suite de lettres courbes, inclinées ou de couleur dégradée.

L’utilisateur doit donc entrer les lettres dans le champ de texte. Si cela ne fonctionne pas, il est invité à réessayer. Il peut également demander un nouveau code s’il n’arrive pas à le déchiffrer.

Cependant, avec l’évolution de la technologie et particulièrement le machine learning, même les bots sont capables de comprendre des images de textes. Ces systèmes sont entraînés sur de grands ensembles de données diversifiées qui prennent en compte toutes les variabilités auxquelles les images peuvent être exposées. Par conséquent, même si les lettres sont déformées ou soumises à d’autres vecteurs, certains bots pourront quand même les déchiffrer. Il a donc fallu améliorer les CAPTCHAS en incluant d’autres types d’évaluation.

reCAPTCHA

Le reCAPTCHA représente la version améliorée du CAPTCHA élaboré par l’Université Carnegie Mellon. Google l’a ensuite racheté. Parmi les tests proposés figurent la reconnaissance de textes, d’images ou simplement d’une case à cocher.

Pour les textes, un reCAPTCHA utilise des images réelles, provenant de livres, de textes de journaux, de photographies et de textes, etc. Par ailleurs, Google donne plus de fil à retordre aux boats avec la reconnaissance d’images. Celle-ci se présente parfois sous la forme de quelques cases. Le test demande à l’utilisateur de sélectionner des objets présentés dans plusieurs cases, comme un passage piéton.

Étant donné que Google cherche à simplifier la tâche aux humains, un autre système appelé « no CAPTCHA reCAPTCHA » a été mis au point. Il consiste simplement à cocher une case près de la mention « Je ne suis pas un robot ». La véritable évaluation réside dans le mouvement du curseur, qui doit présenter quelques imperfections s’il s’agit d’un humain.

Enfin, une autre approche ne demande rien à l’utilisateur. Le système analyse le comportement et l’historique des activités pour déterminer s’il s’agit d’un robot ou d’un humain.

Les différents types de CAPTCHAS

Google n’est pas le seul à avoir amélioré les CAPTCHAS en proposant de nouveaux formats de tests. Ils sont conçus pour être facilement déchiffrés par un humain et impossibles à résoudre pour un robot. Cependant, avec leur amélioration, certains sont devenus plus difficiles même pour les humains.

les CAPTCHAS textuels

La génération d’un CAPTCHA se fait de manière aléatoire. Autrement dit, le code à déchiffrer peut correspondre à un mot connu ou à une combinaison de lettres sans aucun sens. Il peut également inclure des chiffres et alterner entre les caractères en majuscules et en minuscules. Les lettres peuvent être déformées, se présenter sous différentes échelles, être ondulées ou avoir différentes couleurs. Une autre technique consiste aussi à présenter les lettres sous forme d’une image en 3D.

Il existe en tout quatre méthodes de génération de CAPTCHAS textuels. La plus complexe est le Gimpy CAPTCHA. À partir d’une liste de 850 mots anglais, l’algorithme en sélectionne 10 qu’il présente par paires se chevauchant entre elles. L’utilisateur doit saisir trois mots pour accéder à la page souhaitée.

La méthode ez-Gimpy est similaire au Gimpy, mais n’utilise qu’un seul mot, tandis que le Gimpy-r utilise une sélection de lettres. La dernière méthode de création de CAPTCHAS textuels est appelée HIP de Simard qui sélectionne aléatoirement des chiffres et des lettres en les déformant.

La reconnaissance d’images

Un CAPTCHA basé sur les images prend moins de temps à résoudre. Généralement, il présente une sélection de photographies ou de motifs. Le test demande à l’utilisateur de cliquer sur un certain motif, de sélectionner des motifs similaires ou de sélectionner les images en fonction de la connexion sémantique. Dans le cas du reCAPTCHA, les images présentées sont extraites de Google Street View.

les CAPTCHAS audios

Pour les personnes ayant des problèmes de vue, ou tout simplement qui souhaitent choisir d‘autres méthodes que la reconnaissance graphique, il existe des CAPTCHAS audios. Souvent, les tests de reconnaissance de textes ou d’images disposent d’une option audio supplémentaire. Celle-ci propose par exemple d’écouter une séquence de chiffres que l’utilisateur doit saisir dans le champ de texte dédié.

La version audio de reCAPTCHA est exclusivement anglaise, ce qui peut poser problème aux utilisateurs qui ne parlent pas cette langue.

Des questions de logique

Une autre méthode consiste à poser des questions de logique ou de mathématiques à l’utilisateur. Pour cette dernière option, il s’agit souvent d’opérations très simples. Toutefois, les ordinateurs sont bien connus pour être plus forts et plus rapides que les humains en termes de calculs. Par conséquent, au lieu de se présenter sous forme d’équation purement mathématique, le test ressemble à une question verbale. Prenons par exemple la question « calculer 4 x 6 et entrer le dernier chiffre du résultat dans le champ de réponse ». La solution à ce CAPTCHA mathématique serait donc 4 étant donné que le résultat de l’opération est 24.

La question de logique peut se présenter de la même manière a,’opération en moins. Par exemple : « Nommez tous les fruits de la liste : poire, bleu, raisin, ananas, violet ».

Les avantages et les inconvénients d’un CAPTCHA

En un mot, l’avantage d’utiliser un CAPTCHA est la sécurité, autrement dit, la protection de l’intégrité du site. Maintenant, pour entrer dans les détails, il permet, comme nous l’avons déjà dit plus d’une fois, de bloquer les spams automatisés. Il peut s’agir des courriels, des publicités ou des commentaires indésirables. En outre, un CAPTCHA empêche la création de faux comptes sur les différentes plateformes, toujours pour barrer la voie aux spammeurs. 

Pour les utilisateurs, la plupart des tests sont faciles à résoudre et ne demandent pas beaucoup de temps de réflexion. Quant aux concepteurs des sites, ces logiciels des programmes sont faciles à intégrer.

Mais malgré leurs utilités, les CAPTCHAS peuvent aussi présenter des inconvénients. Tout d’abord, ils ne sont pas totalement invulnérables aux bots. De plus, certains utilisateurs peuvent les trouver ennuyeux. Par conséquent, ils risquent de ne pas poursuivre leur activité sur le site. En d’autres termes, un CAPTCHA peut être un facteur de décroissance du trafic. Et pour finir, même s’ils sont conçus pour être facilement résolus par les humains, ce n’est pas toujours le cas. Il arrive que la déformation des lettres les rend impossibles à déchiffrer pour d’autres, notamment ceux qui ont des difficultés.

Comment le contourner ?

Parlons d’abord des moyens utilisés par les attaquants pour déjouer un CAPTCHA. Avec des algorithmes de machine learning et de deep learning, ils peuvent entraîner les bots à l’interpréter. En gros, ils utilisent un grand nombre d’exemples de tests à partir de modèles existants ou de modèles générés par des GAN. Le système mémorise ces données et s’entraîne ensuite à résoudre de nouveaux modèles en se basant sur ce qu’il a appris.

Avec les avancées en matière d’IA, les ordinateurs peuvent aujourd’hui reconnaître des images (d’objets et de textes). En outre, la compréhension du langage naturel s’est considérablement développée, ce qui signifie que même les questions de logiques pourraient éventuellement être résolues par les scripts automatisés.

En termes simples, plus la technologie évolue, plus les CAPTCHAS peuvent devenir vulnérables aux attaques.

Comment contourner un CAPTCHA si vous n’êtes pas un robot ?

Maintenant, si l’apparition d’un CAPTCHA vous ennuie, il existe des solutions pour vous. Ils sont surtout conçus pour les personnes qui ont des difficultés à voir correctement. Certains modules d’extensions ou plug-ins tels que AntiCaptcha et Rumola permettent de contourner ces tests.

AntiCaptcha est une extension pour Chrome ou Firefox. Il se charge de trouver automatiquement un CAPTCHA sur un site pour le résoudre à la place de l’utilisateur. La deuxième solution, Rumola, fonctionne aussi pour Firefox, Chrome et Safari. Elle propose un bookmarklet pour ceux qui ne souhaitent pas installer l’extension. Tout comme AntiCaptcha, elle recherche elle-même les CAPTCHAS présents sur une page.

Ces deux solutions montrent davantage à quel point ces tests ne sont pas incontournables pour les programmes automatisés. Toutefois, nous tenons à préciser que l’utilisation de ces extensions peut parfois exposer les utilisateurs à des sources non fiables, notamment les spammeurs. De plus, plus les attaques deviennent nombreuses, plus les tests deviennent difficiles à résoudre. Autrement dit, les extensions peuvent ne pas suffire à éviter un CAPTCHA.

L’article Qu’est-ce qu’un CAPTCHA ? Le guide complet est apparu en premier sur intelligence-artificielle.com.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*