Vous êtes-vous déjà demandé pourquoi certains sites web vous demandent de cocher une case pour confirmer que vous n’êtes pas un bot ? Ou pourquoi les codes CAPTCHA apparaissent-ils parfois sous forme d’images qu’on vous demande de saisir ? Nous apportons les réponses à toutes ces questions et à bien d’autres dans cet article, où nous vous expliquons ce que signifie CAPTCHA, comment fonctionnent les contrôles de sécurité et quels sont les différents types de CAPTCHA. Vous découvrirez également comment fonctionnent les attaques par faux CAPTCHA et comment vous pouvez vous en protéger avec Avira Free Security.
Qu’est-ce qu’un CAPTCHA et comment fonctionne-t-il ?
CAPTCHA signifie Completely Automated Public Turing Test to tell Computers and Humans Apart (test de Turing public complètement automatisé permettant de distinguer les ordinateurs des humains). En clair, un CAPTCHA vérifie si vous êtes une vraie personne ou un programme informatique automatisé (un bot) susceptible d’avoir de mauvaises intentions, comme diffuser du spam ou mener une cyberattaque.
Il existe également différents types de tests CAPTCHA. Alors que dans certains cas, il vous suffit de cocher une case, dans d’autres, vous devez relever un défi simple. Ici, le mécanisme de sécurité vérifie si l’utilisateur est humain au moyen d’un test de défi-réponse dans lequel on lui demande de résoudre un défi puis renvoyer la réponse.
Les défis sont générés automatiquement à l’aide d’un générateur de nombres aléatoires conformément à des règles prédéfinies. La réponse est ensuite soumise à un processus de validation dans lequel des algorithmes sont utilisés pour analyser la réponse et déterminer la probabilité qu’elle ait été générée par un être humain. Si le défi ne peut pas être résolu, l’action correspondante est généralement bloquée.
Les CAPTCHA sont conçus pour être relativement faciles à résoudre pour les humains, mais difficiles pour les bots. Cependant, cela évolue, surtout avec l’utilisation de l’intelligence artificielle (IA) et du Machine Learning, ce qui signifie que de nombreux défis ne constituent plus un obstacle majeur pour les bots. En plus des CAPTCHA visibles, il existe également des CAPTCHA qui fonctionnent de manière invisible en arrière-plan. Nous les explorerons plus en détail dans la section sur les différents types de CAPTCHA.
À quoi servent les CAPTCHA ?
La vérification par CAPTCHA est utilisée sur les sites web pour empêcher les bots d’interférer avec les fonctionnalités du site ou de les utiliser à mauvais escient.
Les CAPTCHA sont principalement destinés à :
- Empêcher la propagation du spam (par exemple dans les avis, les commentaires et les posts, ou via les formulaires de contact)
- Empêcher la création automatique de comptes
- Empêcher les votes multiples, la manipulation des enquêtes en ligne et la fraude aux concours.
- Empêcher les menaces automatisées (comme les attaques par force brute, les attaques par dictionnaire, les attaques de prise de contrôle de compte et le credential stuffing)
- Empêcher la fraude à la billetterie liée aux achats massifs effectués par des revendeurs du marché noir
- Empêcher le web scraping (extraction automatisée du contenu d’un site web)
Qu’est-ce qui déclenche un test CAPTCHA ?
Alors que les anciens systèmes CAPTCHA, plus simples, affichent des tests par défaut pendant les processus de sécurité (comme lorsque vous vous inscrivez, envoyez un formulaire, vous connectez ou réinitialisez votre mot de passe), les systèmes CAPTCHA les plus récents fonctionnent de manière invisible en arrière-plan, en utilisant divers mécanismes pour détecter les accès automatisés.
Un CAPTCHA visible n’est affiché que si le système estime qu’un contrôle de sécurité supplémentaire est nécessaire.
Les systèmes CAPTCHA basés sur le risque commencent par une évaluation du risque basée sur divers paramètres techniques et comportementaux. Si le score de risque calculé dépasse un seuil défini, cela peut déclencher un contrôle de sécurité.
Les événements suivants peuvent déclencher un contrôle CAPTCHA :
- Adresse IP suspecte
- Façons inhabituelles d’interagir avec le site web (telles que des saisies de clavier anormalement rapides, l’absence de mouvement de la souris, des rafraîchissements fréquents de la page web ou des tentatives de connexion répétées).
- Utilisation d’un VPN, d’un serveur proxy ou du navigateur Tor
- Configuration inhabituelle de l’appareil et empreinte anormale du navigateur
- Informations manquantes pour vous identifier, identifier votre appareil ou votre session (par exemple, cookies bloqués)
- JavaScript désactivé
Types de CAPTCHA et exemples
Comme indiqué, il existe des types de CAPTCHA simples et modernes. Les versions traditionnelles telles que les images de texte déformées, où vous devez reconnaître des lettres et des chiffres, font partie des méthodes de base. Les solutions modernes analysent le comportement de l’utilisateur et les paramètres techniques en arrière-plan ou utilisent d’autres mécanismes, faisant parfois tout leur travail sans défis visibles. Comme les attaquants développent toujours de nouvelles façons de contourner les mécanismes de sécurité, les fournisseurs doivent continuellement améliorer leurs systèmes, ce qui crée une course sans fin entre les services de résolution de CAPTCHA et les systèmes de CAPTCHA.
CAPTCHA textuels (codes CAPTCHA)
Les CAPTCHA textuels se composent d’une séquence aléatoire de lettres et/ou de chiffres, d’où leur nom. Ils sont souvent placés sur des arrière-plans colorés ou à motifs, déformés par des éléments graphiques, barrés ou tordus pour empêcher les bots de les lire automatiquement. Ces mesures de sécurité sont efficaces en théorie, mais même les humains ont souvent du mal à déchiffrer correctement les chaînes de caractères.
CAPTCHA imagés
S’inspirant des CAPTCHA textuels relativement simples, les CAPTCHA imagés représentent l’étape suivante de l’évolution des CAPTCHA. Au lieu de saisir un code CAPTCHA, l’utilisateur doit sélectionner parmi une série de photos celles qui contiennent un objet spécifique, comme un feu de circulation ou une voiture. Dans certains cas, l’utilisateur doit même faire pivoter l’image dans le bon sens (CAPTCHA de rotation).
CAPTCHA de type puzzle
Avec ce type de CAPTCHA, vous devez positionner correctement les pièces du puzzle à l’aide d’un curseur ou par glisser-déposer pour compléter l’image. Ils sont généralement plus intuitifs et conviviaux que les codes CAPTCHA traditionnels.
CAPTCHA audio
Des CAPTCHA audio ont été mis au point pour les utilisateurs malvoyants. Avec ces CAPTCHA, le défi audio est généré dynamiquement et les lettres et les chiffres sont restitués de manière déformée ou avec un bruit de fond. L’inconvénient est qu’ils sont souvent si difficiles à comprendre que les utilisateurs malentendants et malvoyants ont du mal à les résoudre.
CAPTCHA logiques
Ces CAPTCHA consistent en des défis simples, tels que des questions d’addition ou de connaissances de base, auxquelles il est facile de répondre. S’ils sont affichés en texte clair, les personnes malvoyantes peuvent également les résoudre car les lecteurs d’écran peuvent lire les défis, contrairement aux CAPTCHA textuels graphiques ou imagés, mais ils sont aussi faciles à résoudre pour les bots.
CAPTCHA de type Honeypot
Les CAPTCHA de type Honeypot attirent essentiellement les bots dans un piège en utilisant un champ de formulaire invisible intégré au site web, que les utilisateurs normaux ne peuvent pas voir. Les bots, quant à eux, remplissent souvent tous les champs automatiquement, se trahissant ainsi. Cette méthode est très conviviale, mais n’offre qu’une protection contre les attaques automatisées simples.
CAPTCHA cryptographiques (CAPTCHA de preuve de travail)
Les systèmes CAPTCHA alternatifs comme Friendly Captcha et mCaptcha représentent le type de contrôle de sécurité le plus récent : votre ordinateur doit résoudre un défi cryptographique (preuve de travail) en arrière-plan. Vous n’avez rien à faire vous-même. Le calcul est effectué de manière invisible et automatique dans le navigateur. Le serveur valide cryptographiquement le résultat, et détecte immédiatement les requêtes manipulées ou factices. Si le système détecte des signes d’accès automatisé, il augmente la difficulté du défi. Cela rend le défi plus long à résoudre et réduit la viabilité économique des abus automatisés.
La solution Turnstile de Cloudflare en est un exemple. Elle utilise une approche hybride en mode géré, offrant une vérification en plusieurs étapes : Le système vérifie le matériel et le navigateur, et analyse le comportement de l’utilisateur dans le widget. Les défis non interactifs (y compris les calculs de preuve de travail) ne sont lancés en arrière-plan que si le système n’est pas sûr de la légitimité de l’utilisateur. Ce n’est qu’en dernier recours que l’interaction de l’utilisateur est requise, par exemple en cliquant sur une case à cocher ou un bouton.
CAPTCHA comportementaux
Les CAPTCHA comportementaux sont également invisibles et analysent l’interaction de l’utilisateur et d’autres facteurs (appelés signaux) en arrière-plan. En cas de comportement suspect de l’utilisateur, le système peut déclencher une étape de vérification supplémentaire et afficher un CAPTCHA visible. Ces CAPTCHA sont donc faciles à utiliser et offrent un niveau de sécurité élevé. Parmi les exemples bien connus, on peut citer reCAPTCHA v2 Invisible Badge de Google et hCaptcha Invisible d’Intuition Machines.
Les solutions avancées telles que reCAPTCHA v3, reCAPTCHA Enterprise et hCaptcha Enterprise adoptent une approche basée sur le risque, en créant un score de risque basé sur différents signaux. Sur cette base, le site web (et non le système) décide des prochaines étapes. hCaptcha et reCAPTCHA utilisent tous deux des modèles sophistiqués d’intelligence artificielle et de Machine Learning pour évaluer en temps réel les informations relatives à l’appareil et les modèles d’interaction.
Google reCAPTCHA
reCAPTCHA (abréviation de Reverse CAPTCHA) est un système CAPTCHA développé en 2007 par Luis von Ahn, Manuel Blum et Nicholas Hopper à l’Université Carnegie Mellon. Depuis son acquisition par Google en 2009, le système a été continuellement développé et étendu pour devenir l’un des services CAPTCHA les plus utilisés au monde.
Il existe trois versions de reCAPTCHA :
reCAPTCHA v1
La première version de reCAPTCHA a été abandonnée en 2018. Elle affichait un chiffre de contrôle connu ainsi qu’un mot provenant de documents numérisés, que le logiciel de reconnaissance optique de caractères avait du mal à reconnaître. Si le mot de contrôle était saisi correctement, on supposait que le deuxième mot était également susceptible d’être transcrit correctement. De cette façon, le contrôle de sécurité servait également à numériser des textes difficiles à lire, d’où le nom de CAPTCHA « inversé ».
Plus tard, le deuxième mot a été remplacé par des photos du projet Google Street View. Les utilisateurs devaient soit lire et saisir des numéros de maison, soit cliquer sur des parties d’une image montrant des objets spécifiques. Ils ont ainsi contribué à entraîner et à améliorer la reconnaissance automatique des objets.
reCAPTCHA v2
Il existe deux variantes de la deuxième version de reCAPTCHA. Si un utilisateur est considéré comme suspect, un défi d’image supplémentaire peut apparaître dans les deux variantes.
- Variante avec case à cocher (« No CAPTCHA reCAPTCHA ») : les utilisateurs ne voient qu’une case à cocher intitulée « Je ne suis pas un robot », qu’ils doivent confirmer. Google analyse la façon dont l’utilisateur interagit avec la case à cocher et vérifie des comportements subtils tels que les mouvements de la souris et les clics.
- Variante de badge invisible : ici, un widget invisible est intégré à la page et activé via JavaScript, soit en cliquant sur un bouton (comme « Envoyer »), soit automatiquement après une interaction spécifique sur le site web. Le comportement de l’interaction est également vérifié ici.
reCAPTCHA v3
Avec la troisième version de reCAPTCHA, les contrôles de vérification sont également exécutés de manière totalement invisible en arrière-plan, mais aucune interaction de l’utilisateur n’est requise. Google analyse l’ensemble du comportement de l’utilisateur sur le site web (comme les mouvements de la souris, les modèles d’interaction et la vitesse de frappe), prend en compte les cookies et les visites de pages précédentes, et évalue les informations relatives à l’appareil et au navigateur ainsi que la réputation de l’adresse IP de l’utilisateur, en calculant un score de risque à partir de ces données (0=très probablement un bot, 1=très probablement un humain).
En fonction de ce score, l’opérateur du site web décide de la manière dont le site doit réagir à certains seuils (par exemple, autoriser l’accès, afficher un défi supplémentaire, déclencher d’autres mécanismes de sécurité ou bloquer l’action). Les utilisateurs qui sont connectés avec un compte Google ont un meilleur score car ils sont plus faciles à identifier.
reCAPTCHA v3 est régulièrement critiqué parce que Google collecte de nombreuses données utilisateur à des fins d’analyse et peut suivre le comportement de navigation sur différents sites web, ce qui soulève des préoccupations en matière de protection des données (notamment au regard du RGPD : le règlement général sur la protection des données de l’UE).
Inconvénients des CAPTCHA
Bien que les CAPTCHA offrent une protection contre les bots, ils présentent également des inconvénients. Selon le système CAPTCHA, ces inconvénients vont des préoccupations en matière de protection des données susmentionnées aux erreurs, aux problèmes avec les tests, au manque d’accessibilité et à l’affaiblissement de l’efficacité en raison de techniques de contournement hautement spécialisées.
Résolveurs de CAPTCHA
Les résolveurs de CAPTCHA sont des programmes qui résolvent les CAPTCHA à l’aide d’algorithmes traditionnels ou de l’IA et du Machine Learning. En combinaison avec des outils d’automatisation avancés, ils simulent également des schémas d’interaction humaine, tels que la dynamique de la souris ou le rythme de frappe, et utilisent le spoofing du navigateur pour contourner l’analyse comportementale et les contrôles techniques. Les résolveurs de CAPTCHA sont disponibles sous forme de simples extensions de navigateur pour les utilisateurs malvoyants, de modules complémentaires plus puissants ou d’outils d’automatisation autonomes. Ces derniers utilisent souvent des interfaces API vers des services de résolution externes qui fournissent la solution par le biais de modèles d’IA spécialisés ou de résolveurs humains (voir les fermes CAPTCHA).
Une étude réalisée par des chercheurs de l’ETH Zurich montre qu’un système d’IA spécialement formé a pu résoudre tous les défis d’images reCAPTCHA v2 testés en utilisant un modèle de reconnaissance d’objets (YOLO, ou You Only Look Once). Une étude de l’Université de Californie prouve que les systèmes d’IA spécialisés résolvent désormais les CAPTCHA textuels avec un taux de réussite de 99,8 %, alors que le taux de réussite des sujets humains à la première tentative n’est que de 50 à 84 %, selon le niveau de difficulté.
La course à l’armement technologique mène donc à une impasse avec les CAPTCHA traditionnels : pour entraver efficacement les systèmes d’IA, les CAPTCHA doivent être conçus pour être si complexes qu’ils sont presque impossibles à résoudre pour les humains. Pour briser ce cercle vicieux, les systèmes cryptographiques et basés sur le comportement modernes ne dépendent plus des défis visibles mais des procédures de vérification en arrière-plan. L’objectif est de relever le niveau de protection contre les attaques automatisées menées par des bots appuyés par l’IA, au point que leur exécution devienne économiquement non viable en raison des efforts technologiques ou financiers supplémentaires qu’elle exige.
Fermes CAPTCHA
Les fermes CAPTCHA sont des services organisés où des personnes (souvent dans des pays à bas salaires) résolvent des CAPTCHA en masse quasiment en temps réel. Les criminels et les opérateurs de spam utilisent des interfaces API pour transmettre automatiquement les requêtes de leurs bots aux services de résolution, qui à leur tour distribuent les tâches à leur main-d’œuvre. Les jetons de solution générés par les travailleurs sont ensuite renvoyés au bot par l’intermédiaire du fournisseur de services. Il est ainsi possible de s’attaquer à des tâches complexes que les solutions d’IA purement logicielles ne peuvent souvent pas encore résoudre de manière fiable. Associés à des techniques de dissimulation d’adresse IP, les systèmes reposant sur des évaluations basées sur le risque peuvent eux aussi être trompés.
Manque de convivialité et d’accessibilité
Les CAPTCHA traditionnels peuvent nuire considérablement à la convivialité d’un site web, entraînant frustration et abandon d’actions, en particulier s’ils sont difficiles à résoudre. Pour les personnes souffrant de déficiences visuelles ou auditives, ils peuvent même représenter un obstacle insurmontable. C’est pourquoi les solutions modernes effectuent la vérification CAPTCHA en arrière-plan sans que l’utilisateur n’ait besoin de faire quoi que ce soit.
Problèmes liés aux CAPTCHA
Des erreurs ou des problèmes peuvent parfois se produire avec les CAPTCHA. Si vous ne parvenez pas à résoudre un test CAPTCHA ou si vous avez saisi des informations incorrectes, vous avez généralement la possibilité de demander un nouveau défi. Pour cela, vous devez généralement appuyer ou cliquer sur un bouton d’actualisation (une petite icône en forme de flèche circulaire). Parfois, vous verrez aussi un bouton d’actualisation ou un lien permettant de générer une nouvelle image ou un nouveau code.
Il peut y avoir toute une série de raisons pour lesquelles un CAPTCHA ne fonctionne pas, ne s’affiche pas, échoue lors de la vérification ou vous bloque. Les causes les plus courantes des problèmes de CAPTCHA sont les suivantes : navigateur obsolète ou données du navigateur obsolètes, extensions de navigateur telles que des bloqueurs de contenu, cookies désactivés, JavaScript désactivé, VPN actif ou connexion Tor.
Comment corriger les erreurs CAPTCHA :
- Rechargez la page.
- Mettez à jour votre navigateur.
- Videz le cache de votre navigateur et supprimez les cookies.
- Désactivez temporairement les extensions de votre navigateur ou utilisez le mode privé/incognito de votre navigateur.
- Utilisez un autre navigateur.
- Si nécessaire, désactivez les services VPN ou proxy, ou fermez le navigateur Tor.
- Activez JavaScript dans les paramètres de votre navigateur.
- Autorisez le site web à stocker des cookies tiers.
Escroqueries aux faux CAPTCHA
Dans certains cas, les cybercriminels utilisent de faux CAPTCHA pour diffuser des malwares. Dans le cas des escroqueries au CAPTCHA, par exemple, les utilisateurs sont amenés, par des attaques de phishing, à visiter un faux site web contenant un CAPTCHA manipulé. Cliquer sur la case à cocher exécute une fonction en arrière-plan qui copie une commande malveillante dans le presse-papiers de l’ordinateur.
L’utilisateur est alors invité à coller la commande dans la fenêtre d’exécution de Windows et à l’exécuter, ce qui a pour effet de télécharger et d’installer le malware. GenDigital signale que certains CAPTCHA sont détournés dans le cadre de campagnes de malwares afin de tromper les utilisateurs pour qu’ils téléchargent le malware Lumma Stealer. Ce logiciel malveillant est conçu pour voler des informations sensibles telles que des identifiants de connexion, des portefeuilles de cryptomonnaie et d’autres données précieuses.
Protégez-vous des attaques par faux CAPTCHA
Une solution de cyberprotection comme Avira Antivirus Security peut vous aider à vous protéger contre les malwares diffusés par de faux CAPTCHA ou par d’autres moyens. En effet, il inclut un antivirus et une protection des téléchargements pour vous aider à bloquer les malwares. En outre, vous pouvez vérifier si votre ordinateur est potentiellement infecté en lançant régulièrement des analyses antivirus. Vous profitez également de nombreuses autres fonctions pour renforcer votre sécurité en ligne et votre confidentialité, notamment Avira Browser Safety pour bloquer les sites web infectés et les sites de phishing, un VPN, et bien plus encore.
Friendly Captcha est une marque déposée de Friendly Captcha GmbH.
hCaptcha est une marque déposée d’Intuition Machines, Inc.
reCAPTCHA est une marque déposée de Google LLC.
Turnstile est une marque déposée de Cloudflare, Inc.
Cet article est également disponible en: AnglaisAllemandItalien
