Proton

Avec la prolifération d’internet est venue la menace des robots. Les CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) ont été introduits comme mesure de contre-attaque pour différencier les utilisateurs humains authentiques des scripts automatisés (robots). Cet article explore comment fonctionnent les CAPTCHA, les difficultés à concevoir un CAPTCHA efficace, et comment ils doivent évoluer pour rester une longueur d’avance sur les robots tout en protégeant notre vie privée.

De quoi les CAPTCHA nous protègent-ils ?

Les CAPTCHA sont une partie vitale de la sécurité sur internet, protégeant contre :

  1. Attaques par force brute : Sans CAPTCHA, les robots peuvent tenter de se connecter à des sites internet à répétition, en testant d’innombrables combinaisons de noms d’utilisateur et de mots de passe jusqu’à obtenir un accès.
  2. Spam de formulaire : Les robots peuvent soumettre des formulaires sur des sites internet, comme des formulaires de contact ou des sections de commentaires, avec du contenu indésirable. Les CAPTCHA empêchent cela en nécessitant une interaction semblable à celle d’un humain avant la soumission du formulaire.
  3. Extraction de contenu web : Certains robots sont conçus pour extraire ou voler du contenu de sites internet. Les CAPTCHA peuvent dissuader ces robots, protégeant le contenu des sites internet.
  4. Prévention des inscriptions et créations de compte fictives : Sur de nombreuses plateformes, créer des comptes en masse est bénéfique pour le spamming ou d’autres activités malveillantes. Les CAPTCHA garantissent que chaque création de compte nécessite une étape de vérification humaine, rendant la création de comptes en masse inefficace pour les acteurs malveillants.
  5. Protection des ressources d’application : Les robots peuvent accéder à un site internet à répétition, consommant d’importantes ressources serveur et ralentissant le site voire le faisant planter. En servant de première ligne de défense, les CAPTCHA aident à garantir que seuls les utilisateurs authentiques consomment ces ressources.

Les CAPTCHA servent de gardiens sur le web, filtrant les menaces automatisées tout en permettant aux utilisateurs humains authentiques de poursuivre. Ils jouent un rôle indispensable dans la protection des plateformes en ligne contre de nombreuses menaces potentielles et abus.

Types de CAPTCHA

Il existe de nombreux types de CAPTCHA, chacun reposant sur une interaction spécifique facile à réaliser pour un humain mais presque impossible pour un robot.

  • CAPTCHA textuels : Ils affichent des lettres et des chiffres déformés que vous devez identifier et saisir. Les déformations sont réalisées de manière à ce que les machines aient du mal à les reconnaître, mais que les humains puissent les déchiffrer avec une relative facilité.
  • CAPTCHA d’images : Vous êtes présenté avec une série d’images et devez sélectionner celles qui correspondent à une description spécifique (par exemple, « Sélectionnez toutes les images avec des feux de circulation »).
  • CAPTCHA mathématiques : Ils affichent des problèmes de mathématiques simples que vous devez résoudre, comme de l’addition ou de la soustraction basique.
  • CAPTCHAs temporels : Ces défis consistent simplement à lire l’heure sur une horloge analogique.
  • CAPTCHAs interactifs : Des tâches telles que glisser-déposer des objets ou suivre une instruction simple, par exemple, « Glissez vers la droite ».
  • CAPTCHAs comportementaux : Ils analysent des comportements tels que les mouvements de la souris et l’activité passée pour détecter des agissements typiques d’un robot dès le chargement de la page.

De plus, des CAPTCHAs audio sont généralement proposés pour aider les personnes malvoyantes à résoudre le défi. Vous écoutez une série de lettres ou de chiffres prononcés, puis vous les saisissez.

En outre, un type relativement nouveau de CAPTCHA a été développé ces dernières années, appelé « CAPTCHA cryptographique », où un défi computationnel de base peut être résolu, également connu sous le nom de preuve de travail. Avec un tel mécanisme, le navigateur se voit proposer des défis de difficulté ajustable à résoudre. Le navigateur doit fournir une réponse avant de pouvoir continuer.

Par exemple, le défi du zéro initial exige que votre ordinateur trouve une valeur d’entrée qui, une fois hachée, produit une sortie avec un nombre spécifique de zéros initiaux.

Récemment, mCaptcha(nouvelle fenêtre) et Friendly Captcha(nouvelle fenêtre) ont fait leur apparition dans ce domaine. Cependant, se reposer uniquement sur des défis computationnels est une stratégie risquée. Bien que ces défis soient discrets, ils dépendent de la capacité de calcul de votre appareil. Si votre appareil est trop lent, l’expérience utilisateur peut être sous-optimale, car vous pourriez avoir à attendre de nombreuses secondes pour que les défis se terminent. D’autre part, des serveurs puissants utilisés par un spammeur n’auraient aucune difficulté à résoudre ces défis relativement rapidement.

Cela illustre le dilemme posé par les CAPTCHAs : les développeurs doivent concevoir des défis qui sont difficiles et coûteux pour les attaquants tout en restant relativement simples pour les utilisateurs ordinaires.

Comment fonctionnent les CAPTCHAs

Indépendamment du type de CAPTCHA proposé, une vérité universelle demeure : le client frontal ne peut rien savoir de la solution au CAPTCHA lui-même, sinon ce serait trop facile pour un résolveur automatique. Un serveur envoie généralement un défi, le frontal fournit le mécanisme pour entrer la réponse, et un serveur valide la réponse du client.

Par exemple, le déroulement général pour un CAPTCHA basé sur du texte ressemblera à ceci :

Des résolveurs automatisés(nouvelle fenêtre) peuvent intervenir ici et convertir l’image CAPTCHA générée par le serveur en saisie de texte. C’est pourquoi les CAPTCHAs basés sur du texte ont évolué pour présenter des motifs de plus en plus difficiles à résoudre, rendant souvent la tâche difficile même pour les humains et inaccessibles pour ceux qui sont malvoyants.

Critiques

Bien que les CAPTCHAs soient cruciaux pour la sécurité en ligne, ils ne sont pas exempts de critiques.

Certains disent que les CAPTCHAs sont de peu d’utilité à cette ère de l’apprentissage automatique et des services de résolution humaine agissant comme un pont entre les robots automatisés et les sites internet protégés par CAPTCHA. Ces services de résolution emploient de vraies personnes pour résoudre manuellement les CAPTCHAs que l’ordinateur a du mal à déchiffrer.

Cependant, de tels critiques négligent le fait que les CAPTCHAs remplissent en fait encore leur rôle en rendant plus difficile pour les attaquants de spammer un service. Même si un CAPTCHA ne peut pas entièrement empêcher les robots de spammer un service, il rend la tâche beaucoup plus difficile et cela est souvent suffisant pour réduire les abus.

D’autres soutiennent que les CAPTCHAs peuvent entraver l’expérience utilisateur, surtout s’ils sont trop difficiles. Il y a aussi des préoccupations d’accessibilité, puisque certains CAPTCHAs peuvent être difficiles pour les utilisateurs ayant des déficiences visuelles. Comme c’est souvent le cas, il s’agit d’un équilibre entre la garantie de votre vie privée, la protection de votre sécurité et l’offre d’une expérience conviviale.

Récemment, les initiatives ont privilégié l’amélioration de l’expérience utilisateur au détriment de la vie privée en utilisant l’historique de navigation pour déterminer si vous êtes un être humain authentique ou un robot. Une personne réelle est susceptible d’avoir une activité sur de nombreux sites internet différents au cours d’une journée et a probablement déjà été confrontée aux systèmes CAPTCHA. Cette historique permet à des systèmes tels que hCAPTCHA ou reCAPTCHA de déterminer si un comportement en ligne est authentique ou non avant même que vous ne chargiez une page. C’est pourquoi vous cliquez souvent simplement sur une case à cocher au lieu de résoudre un vrai défi.

Bien que pratique, ces défis compromettent souvent votre vie privée. Ces services connaissent inévitablement votre comportement de navigation et les sites que vous avez visités, ce qui est préoccupant.

D’autre part, des systèmes comme mCaptcha et Friendly Captcha offrent plus de confidentialité mais compromettent la sécurité, car les systèmes de preuve de travail ajoutent seulement un coût à l’action et ne seront généralement pas efficaces pour empêcher les robots d’accéder à votre site ou de poster des spams.

L’avenir des CAPTCHA

Le paysage de l’apprentissage automatique et de l’IA évolue rapidement. Ce qui est difficile pour les ordinateurs aujourd’hui pourrait devenir trivial demain à mesure que les modèles deviennent plus sophistiqués.

Il est clair que nous devons nous orienter vers des systèmes CAPTCHA utilisables qui respectent la vie privée des utilisateurs et sécurisent les sites contre la majorité des activités de robots et de spams.

D’abord, nous pouvons aider à améliorer l’utilisabilité et l’accessibilité en minimisant le nombre de CAPTCHA pour les vrais utilisateurs sur le web. Cela est possible en tirant parti de protocoles tels que Privacy Pass(nouvelle fenêtre) qui permettent aux bons utilisateurs ayant déjà complété un CAPTCHA ailleurs de passer un CAPTCHA sur un autre site internet par exemple. Cela se fait sans connaissance des sites précédemment visités. Alors, pourquoi n’est-ce pas plus populaire ? Malheureusement, les implémentations actuelles de ce protocole nécessitent l’utilisation d’extensions de navigateur qui ne sont pas disponibles sur tous les navigateurs et que tous les utilisateurs ne peuvent pas installer.


Deuxièmement, nous avons besoin de systèmes qui contrarient la menace de l’IA sans rendre les CAPTCHA excessivement difficiles pour les humains. Une étude récente de Searles et al, 2023(nouvelle fenêtre) a montré que les robots sont déjà plus précis que les humains pour résoudre de nombreux systèmes CAPTCHA leaders.

Une solution réside dans la conception de défis CAPTCHA qui pourraient exploiter les limites actuelles de l’IA, comme les CAPTCHA « Contextuels » qui sont difficiles à résoudre pour les machines (au moment de la rédaction de cet article) car ils nécessitent une connaissance du monde et des systèmes complexes pour être décodés. Ils présentent donc des opportunités pour rester en avance sur ce jeu du chat et de la souris en constante évolution. Leur difficulté réside dans les propriétés suivantes :

  1. Ils nécessitent un raisonnement multi-modal pour être résolus : Le CAPTCHA ne concerne pas seulement la reconnaissance d’objets. Il combine la reconnaissance d’objets avec un raisonnement contextuel.
  1. Ils sont dynamiques et variés : Il peut y avoir de nombreuses variations de questions et de combinaisons d’images, rendant difficile pour un modèle de s’entraîner spécifiquement contre de tels CAPTCHA.
  1. Ils s’appuient sur la connaissance du monde : Cette approche repose sur la connaissance générale du monde et le bon sens, domaines où les machines peuvent encore échouer par rapport aux humains.

Par exemple, au lieu d’utiliser des images, les CAPTCHA pourraient créer des défis interactifs simples nécessitant un raisonnement. Par exemple, « Glissez la lune sous le nuage » sur un canevas où divers objets (comme des étoiles, le soleil, des oiseaux, etc.) sont présents. Ou, dans l’exemple ci-dessus pour le CAPTCHA interactif, vous devriez glisser le lait dans le frigo.

Un autre exemple est de présenter une très courte histoire (quelques lignes) et de poser une question basée dessus. Par exemple :

Question : Andy est allé au verger et a cueilli 3 pommes. Il en a mangé 1 et en a donné 2.

Demandez : « Combien de pommes Andy a-t-il cueillies ? » ou « Combien de pommes Andy a-t-il mangées ? »

Ou l’on peut montrer une série d’images et poser des questions basées sur le bon sens ou la connaissance contextuelle. Par exemple, vous pourriez montrer les images suivantes :

Images d’Unsplash

Et ensuite demander, « Lequel peut typiquement parler en grandissant ? »

Les humains reconnaissent facilement que la réponse est le bébé. Mais reconnaître le contexte et le raisonnement de bon sens peut être une tâche difficile pour une machine, même si elle identifie tous les objets correctement.

Les CAPTCHAs contextuels sont un domaine de recherche futur très intéressant, mais ils présentent également plusieurs défis :

  • Biais culturel : Ce qui est considéré comme du « bon sens » dans une culture peut être inconnu dans une autre.
  • Langue : Pour les CAPTCHAs basés sur des histoires, il est nécessaire d’investir du temps pour s’assurer que le contenu est internationalisé pour les non-anglophones. Par exemple, dans le défi « Glissez le lait vers le réfrigérateur », il faudrait traduire MILK dans d’autres langues pour une utilisation mondiale.
  • Création de défis : Créer des défis comme ceux-ci n’est pas un problème trivial et de meilleures solutions peuvent nécessiter des investissements significatifs en temps pour être correctement élaborées.

De plus, il est inévitable qu’un jour, des systèmes d’IA capables de raisonnement multimodal soient développés, et ils pourraient être meilleurs pour résoudre ce type de CAPTCHAs.

Résumé

Les systèmes CAPTCHA continuent de servir de première ligne de défense vitale contre les activités des bots et les attaques de spam sur internet. Bien que leur présence soit omniprésente et durable, le paysage évolue. Les récentes avancées dans les technologies d’apprentissage automatique, couplées à l’émergence de services de résolution de CAPTCHAs qui emploient des solveurs humains, ont commencé à éroder l’efficacité des systèmes CAPTCHAs traditionnels. Néanmoins, la plupart des attaques auxquelles les sites internet font face sont moins sophistiquées, et les systèmes CAPTCHA restent une barrière très efficace.

À l’avenir, le défi ne réside pas seulement dans le maintien de la robustesse des systèmes CAPTCHA face à des attaques de plus en plus sophistiquées, mais aussi dans l’assurance que ces systèmes soient conviviaux, accessibles aux personnes handicapées, respectueux de la vie privée des utilisateurs et exempts de frictions ou d’inconvénients indus pour les utilisateurs légitimes.

L’avenir du CAPTCHA, par conséquent, appelle à une innovation réfléchie et à une recherche rigoureuse. Il exige le développement de nouveaux systèmes capables de trouver le juste équilibre entre sécurité et convivialité, accessibilité et respect de la vie privée — adoptant une approche holistique qui évolue au rythme des tactiques changeantes des acteurs malveillants. Alors que le monde numérique continue de croître et de se transformer, les systèmes CAPTCHA devront sans aucun doute s’adapter et innover pour maintenir leur rôle de pierre angulaire de la sécurité en ligne.

Articles similaires

The cover image for a Proton blog, showing a phone screen with a lock logo and three password fields surrounding the phone
en
Here's what to look for when choosing an enterprise password manager to streamline collaboration and protect your organization's sensitive data.
en
  • Guides vie privée
Learn how to unsend an email, how it’s useful for personal or business emails, and how Proton Mail can help.
Proton Mail and Proton Calendar winter product roadmap
en
  • Nouveautés produits
  • Proton Calendar
  • Proton Mail
Preview upcoming updates to Proton Mail and Proton Calendar, including performance boosts, new features, and enhanced privacy tools.
Gantt chart displaying Proton Drive plans and development of new features
en
Discover the tools, features, and improvements coming to Proton Drive’s secure cloud storage and document editor this winter and spring.
laptop showing Bitcoin price climbing
en
  • Guides vie privée
Learn what a Bitcoin wallet does and the strengths and weaknesses of custodial, self-custodial, hardware, and paper wallets.
pixel tracking: here's how to tell which emails track your activity
en
Discover what pixel tracking is and how it works, how to spot emails that track you, and how to block these hidden trackers.