Les Captcha : Exemples et définitions

Lorsque vous surfez, il peut arriver selon le site visite que l'on vous demande de remplir un captcha.
Vous êtes toujours demandé à quoi cela servait et pourquoi il était utilisé.

Cette page donne quelques explications autour des captchas sur internet.
Qu'est-ce qu'un captcha ? à quoi cela sert et pourquoi parfois on peut vous demander d'en remplir un.

Voici un guide complet autour des captcha.

Les Captcha : Exemples et définitions

Qu'est-ce que les captcha ?

Ls captchas (Completely Automated Public Turing test) est un type de test de défi-réponse utilisé en informatique pour déterminer si l'utilisateur est humain ou non.
Le but est de savoir, si une requête ou demande provient d'un humain ou d'un robot, c'est à dire un programme informatique.
Ainsi, pour inviter à résoudre le captcha, on trouve souvent les interrogations : Es-tu humain? ou êtes-vous un robot ?
On peut donc voir cela comme un contrôle de sécurité avant l'accès à une ressource spécifique.

Les Captcha : Pourquoi et à quoi cela sert

En effet, de plus en plus de trafic provient de programmes informatiques que l'on nomme bots pour robots.
Or certains robots sont malveillants et il faut pouvoir protéger des ressources sensibles de ces derniers.
C'est là que les captchas interviennent et sont capables de bloquer les robots ou requêtes automatisées qui ne seront pas capables de résoudre le captcha automatiqeuement.

Pour plus de détails sur les bots dans cet article :

Ils sont totalement automatisés et ne nécessitent aucune intervention d'un humain pour leur fonctionnement.

Les types de captcha

Les captchas peuvent prendre différentes formes, en général, il s'agit d'une question ou d'un petit casse-tête à résoudre.
Ces casses-têtes sont très simples mais assez difficiles ou impossible pour une machine à résoudre.

Captchas de textes

Les défis captchas de textes sont des images générées aléatoirement avec une séries de lettres et chiffres qu'un visiteur doit reproduire pour prouver qu'il est une personne avant de pouvoir être autorisé à créer un compte ou à envoyer un message, etc.
Ces CAPTCHA modernes basés sur du texte sont conçus de telle sorte qu'ils nécessitent l'utilisation simultanée de trois capacités distinctes :

  • La reconnaissance invariante : qui fait référence à la capacité de reconnaître la grande quantité de variation dans les formes des lettres. Automatiser cette tâche n'est pas simple
  • La segmentation et l'analyse syntaxique : c'est la capacité à séparer une lettre d'une autre, est également rendue difficile dans les CAPTCHA, car les caractères sont encombrés sans espace blanc entre les deux.
  • Le contexte est également critique. Le CAPTCHA doit être compris de manière holistique pour identifier correctement chaque élément. Par exemple, dans un segment d'un CAPTCHA, une lettre peut ressembler à un "i". Ce n'est que lorsque le mot entier est pris dans son contexte qu'il devient clair qu'il s'agit d'un I et d'un l.

On trouve alors des défis captchas de textes relativements simples.

Les Captchas de textes

Mais on peut utiliser des bibliothèques d'images comme PHP-HD afin de générer des images déformées de lettres et de chiffres qui sont déroutantes pour les machines, mais faciles à lire pour les humains.
Le but est de générer un bruits autour des lettres rendant la reconnaissance automatique impossible.

Les Captchas de textes

Une autre variante de captchas textes est de jouer sur la 3D.

Les Captchas de textes

A partir de là, on peut générer énormément de variantes.

Exemples de captchas en textes
source : https://captcha.com/captcha-examples.html

Les captchas de reconnaissances d'images

Un autre type de captcha courant est la reconnaissance d'images dans un lot.
On vous donne une série d'images et vous devez reconnaître les images d'un type (passage cloutée, vélo, train, avion, bateau, etc).
C'est une donc une méthode par classification d'images.

Les captchas de reconnaissances d'images

ReCaptcha de Google utilise cette méthode avec des images issues de Google Streetview.

Les captchas audio

Comment faire en sorte que les non ou mal voyants puissent résoudre un captcha ?
La réponse est le captcha audio.
Le CAPTCHA audio est donc une alternatives pour assurer que la vérification humaine est accessible aux aveugles et aux autres personnes malvoyantes.
Ainsi les captchas textes peuvent comporter une icône audio pour jouer les lettres sonores afin de pouvoir les reproduire.

Les captchas audio

Même chose quand il s'agit de reconnaître des éléments particuliers.
Il se présente sous la forme d'un mot à reproduire parmi une phrase ou présent dans un son avec un bruit ambiant.

DispatchHiveMindIndustrialPulseRadio
RedAlertRobotScratchedSynthWorkshop
CollapseSeeker 
Exemples de captcas audio - source https://captcha.com/articles/audio-captcha.html

Il faut la solution de captchas audio soient aussi capables de générer des mots dans plusieurs langues pour répondre à la localité géographique du visiteur.
Ainsi, chaque prononciation audio captcha localisée est enregistrée par un artiste de voix off de langue maternelle dans un studio d'enregistrement professionnel, ce qui garantit la meilleure qualité des sons utilisés pour la génération de l'alternative captcha audio.

Captcha par défi question / réponse ou mathématique

Enfin un dernier type de captcha est de répondre à un défi ou dilemme sous la forme d'une question.
Par exemple ci-dessous on demande la date d'un évènement historique.

Captcha par défi question / réponse ou mathématique

Un autre défi sous la forme d'exercice qui consiste à trier des éléments liquides, d'élements solides.

Captcha par défi question / réponse ou mathématique

Enfin il peut s'agit d'une opération mathétique simple comme une addition ou soustraction.

La diversité des questions rend l'automatisation difficile car il faut que le bot soit capable de résoudre chaque défi indépendemment.

Les solutions de catpchas

reCAPTCHA de Google

Google a même développé son propre Captcha qui se nomme reCAPTCHA.
Beaucoup de services sur internet utilise ce dernier.

Par exemple, le site VirusTotal protège ses recherches et donc ses données à travers un Captcha.
Il s'agit ici d'un Captcha de type ReCaptcha.
Aucune question ou problème à résoudre, il suffit de cocher la case.

Les solutions de catpchas

reCAPTCHA v3 ne pose plus de question et se présente sous la forme d'un JavaScript.
On case "Je nsuis pas un robot" est alors à cliquer. Si le système vous considère comme un humain alors elle se valide en vert.
reCAPTCHA v3 renvoie un score pour chaque requête sans friction de l'utilisateur. Le score est basé sur les interactions avec votre site et vous permet de prendre les mesures appropriées pour votre site.

Toutefois le captcha de Google soulève des questions de respect de la vie privée pour certains.
En effet, il dépose un cookie sur le navigateur WEB eto n peut se demander s'il peut servir de tracking cookie.
En outre, cela peut forcer l'utilisation à se connecter à son compte google pour plus de pistage et suivi.

hCaptcha

hCaptcha est une autre solution de catpcha exploité par Intuition Machines.
Il offre plus de transparence sur leur fonctionnement que reCaptcha.
Le fonctionnement est globalement identique avec une préférence sur la classification d'images.

hCaptcha - Je suis un humain

Exemples d'utilisation de captchas

L'utilisation de captcha vise donc à filtrer les bots.
Ainsi on retrouve tous les aspects de bots malveillants évoqués dans l'article suivant :

WEB Scraping : contre la récupération de données

Le Web Scraping consiste à récupérer des données d'un site WEB.
Cela se fait en général grâce à des robots qui crawnlent les données et les téléchargement.
Pour lutter contre cette récupération de données, on peut protège le site avec des captchas.

Par exemple, le site SimilarWeb qui propose l'analyse de sites WEB avec une partie payante.
Afin d'éviter toute récupération automatisée des données. Un captcha peut s'afficher lors de l'accès au site.

Les sites de téléchargement ou hébergement de fichiers peuvent aussi afficher des captcha lors d'une tentative de téléchargement.

Un autre exemple avec cette banque d'images gratuite protège le téléchargement des images afin qu'elles ne puissent être téléchargées automatiquement pour en alimenter une autre.

Le web scraping et protection par captcha

Protection contre les spambots

De même, on peut protéger les inscriptions sur les forums avec des captchas.
Le but est d’empêcher l'inscription automatique de bot qui peuvent ensuite spammer sur le forum.
Ici aussi, le but est de rendre la réponse automatisée impossible et prévenir de l'inscription de robots.

Captcha pour filtrer les spambots et prévenir du SPAM

Protéger des attaques par bruteforce ou zone sensible

Facebook peut afficher un "Contrôle de sécurité" avec un captcha pour éviter les attaques bruteforce.

Contrôle de sécurité - captcha sur Facebook

Limiter les pics de trafic et attaques DOS

Un autre aspect des captchas et la limitation de trafic anormaux provenants de sources automatisés : bots, attaques DoS, etc.

Par exemple, google protège ses recherches par des captchas.
Le message suivant peut alors s'afficher :

Nos systèmes ont détecté un trafic exceptionnel sur votre réseau informatique. Cette page permet de vérifier que c'est bien vous qui envoyez des requêtes, et non un robot. Que s'est-il passé ?

Ce texte peut arriver si un ordinateur fait des requêtes automatiques sur Google depuis un logiciel malveillant.

Vous devez alors saisir une suite de lettre dans l'image. Ici le but est d’empêcher la reconnaissance de texte et ainsi empêcher de répondre à cette étape automatiquement.
Seul un humain peut faire cela.

Nos systèmes ont détecté un trafic exceptionnel sur votre réseau informatique - Captcha sur Google

Autre exemple ci-dessous avec le site du Parisien qui détecte une activité automatisée.
Cela provient du fait qu'ici on se connecte via le réseau TOR.
Or sur TOR, les utilisateurs se partagent les adresse IP des noeuds et donc cela peut faire penser à une utilisation automatisée.
Cela peut aussi arriver dans une moindre mesure avec les VPN.

Nous avons détecté une activité potentiellement automatisée - captcha

Enfin beaucoup de sites internet utilisent CloudFlare pour les protéger contre les attaques.
Ce dernier utilisent aussi les captcha à cet effet.
Ainsi il peut donc détecter du trafic automatisée et demander à remplir un captcha.
Dans ces cas là on peut avoir le message « Attention required ».
Un article existe qui traite de ces problèmes : Attention required Cloudflare

Captcha CloudFlare - Attention required Cloudflare

Conclusion

Pour résumer, un captcha sert à différencier un humain d'un programme informatique ou robot.
On l'utilise à différents moments comme

  • Prévenir de l'inscription de robots pour spammer
  • Protéger les ressources d'un site internet
  • Atténuer les attaques DoS

Cela devient anormal quand vous n'utilisez ni TOR, ni VPN et que l'on vous demande systématiquement de remplir un captcha.
Nous vous conseillons alors de vérifier votre PC contre les malwares.
Pour cela, suivez notre guide complet : Tutoriel désinfection et suppression de virus