2 points par GN⁺ 2024-11-19 | 1 commentaires | Partager sur WhatsApp
  • Un utilisateur malvoyant a signalé un problème empêchant la définition du cookie du compte d’accessibilité hCaptcha dans Brave, mais l’équipe de support lui a répondu que cet usage de l’accessibilité n’était pas pris en charge, a annoncé la suppression du compte et le blocage de toute réinscription
  • À l’époque, hCaptcha proposait un compte spécial permettant de contourner les défis CAPTCHA via un cookie au lieu d’un CAPTCHA audio ; une mise à jour a ensuite précisé qu’une option de CAPTCHA textuel avait été ajoutée
  • Le compte fonctionnait dans Firefox et Chromium, mais dans Brave le cookie n’a pas pu être défini pendant environ un an, et la console JavaScript indiquait que l’endpoint de définition du cookie renvoyait 401 Unauthorized
  • L’équipe de support a empêché l’usage du compte d’accessibilité en jugeant que l’utilisateur n’était pas malvoyant, et a maintenu le blocage même après qu’il a demandé la levée de la sanction en expliquant qu’il l’était réellement
  • Lorsqu’un système délègue l’accessibilité à un mécanisme de contournement distinct, les vrais utilisateurs peuvent se retrouver exclus du service dès que ce contournement est bloqué de manière arbitraire

Le mécanisme de contournement d’accessibilité de hCaptcha

  • hCaptcha est un service de CAPTCHA où l’utilisateur coche une case puis doit sélectionner certaines images, par exemple des maisons
  • À l’époque, hCaptcha ne proposait pas de CAPTCHA audio pour les personnes malvoyantes, en avançant que cela faciliterait le passage des bots
  • À la place, un compte spécial était fourni aux personnes malvoyantes afin de définir un cookie et d’éviter les défis CAPTCHA
  • Une mise à jour ultérieure a ajouté qu’une option de CAPTCHA textuel était désormais disponible dans hCaptcha, tout en précisant que la critique formulée dans l’article restait valable

Le cookie n’était pas défini uniquement dans Brave

  • L’utilisateur utilisait principalement Brave et, pendant environ un an, son compte d’accessibilité hCaptcha n’a pas réussi à définir le cookie dans Brave
  • Le même compte fonctionnait normalement dans d’autres navigateurs comme Firefox et Chromium
  • En suivant les consignes, il a vérifié les mesures de base, comme l’autorisation des cookies tiers, mais le problème persistait dans Brave, et le message d’erreur invitait à contacter le support par e-mail si le problème continuait

La demande d’assistance a éveillé les soupçons

  • L’utilisateur a finalement envoyé un e-mail au support hCaptcha, qui lui a indiqué les étapes de dépannage de base
  • Pour cerner le problème, il a consulté la console JavaScript et a indiqué qu’il semblait que l’appel à l’endpoint de définition du cookie de hCaptcha renvoyait 401 unauthorized dans Brave
  • Il a fourni cette information pour aider le support technique, mais estime que cela a pu éveiller les soupçons de l’équipe

Suppression du compte d’accessibilité et blocage de réinscription

  • Au cours des échanges avec un agent du support, un autre agent a envoyé une réponse indiquant en substance :
    • cette manière d’utiliser le service n’est pas prise en charge
    • aucun crédit n’est accordé pour le pass d’accessibilité
    • tous les comptes utilisés de cette façon sont supprimés par hCaptcha
    • si l’utilisateur tente de se réinscrire à un compte d’accessibilité, il sera bloqué
  • L’utilisateur s’est dit perplexe, expliquant qu’il ne faisait rien d’interdit et cherchait seulement à faire fonctionner le service dans Brave
  • Le support a ensuite expliqué que l’utilisateur ne devait pas utiliser le compte d’accessibilité parce qu’il n’était pas malvoyant

Après avoir affirmé qu’il était réellement malvoyant

  • L’utilisateur a déclaré être effectivement malvoyant et a demandé la levée du blocage, mais le support a répondu de manière stéréotypée que la suspension du compte serait maintenue
  • Le compte était bien bloqué, et l’utilisateur a expliqué que, pour passer hCaptcha, il se retrouvait dans une situation où il devrait violer les conditions d’utilisation du service en recourant à un programme de résolution automatique
  • Cela mène à un avertissement : il ne faut pas faire confiance à une entreprise qui fournit volontairement un produit inaccessible pour maintenir de façon fiable un mécanisme de contournement d’accessibilité séparé
  • L’auteur exhorte les exploitants de sites web utilisant hCaptcha à prendre cette expérience en compte, et ajoute que Cloudflare semble déjà utiliser son propre système

1 commentaires

 
GN⁺ 2024-11-19
Avis sur Hacker News
  • Je suis moi aussi déficient visuel, et hCaptcha est ce qu’il y a de pire.
    Leur satané cookie expire, si bien qu’à presque chaque fois que je tombe sur hCaptcha, je dois recevoir un e-mail et suivre le processus pour définir le cookie.
    C’est une expérience utilisateur particulièrement affreuse quand on utilise plusieurs appareils et navigateurs, et j’imagine que d’autres personnes abandonnent tout simplement.
    Les bots peuvent les résoudre plus facilement que les personnes aveugles, ou sous-traiter ça à des travailleurs du tiers-monde pour presque rien. Exemple : Anticaptcha [0] :

    Starting from 0.5USD per 1000 images, depending on your daily spending volume
    [0] https://anti-captcha.com/

    • Vous pouvez me croire. hCaptcha n’est pas beaucoup mieux même quand on n’est pas aveugle.
      Ils affichent de toutes petites images quasiment impossibles à distinguer les unes des autres ; réussir à faire bien pire que reCaptcha, c’est presque impressionnant.
    • Mon expérience est exactement inverse. Je ne suis pas aveugle, mais j’utilise Tor, un VPN et des navigateurs qui ne sont pas des logiciels espions, et c’est peut-être encore pire de ce côté-là.
      Les captchas de Google m’envoient la plupart du temps dans une boucle sans fin, même après plus de 3 minutes de bonnes réponses, et finissent toujours par échouer, alors que hCaptcha me laisse passer si j’en résous correctement 1 à 3.
    • Du point de vue de l’accessibilité, quel captcha est le moins mauvais ?
    • Pourquoi devrais-je, au départ, laisser quelqu’un déposer un cookie sur mon système ? Je n’en veux pas.
      J’utilise des cookies de session, mais je ne vois aucune raison d’autoriser une entreprise à planter un cookie sur mon système pour contourner leur stupide CAPTCHA.
      Autrement dit, je ne devrais rien avoir à leur révéler. Et peu importe s’ils pensent que je suis une IA.
  • Rien qu’au titre, le problème paraît beaucoup moins grave qu’il ne l’est en réalité.
    D’après l’article, hCaptcha a accusé à plusieurs reprises et grossièrement l’auteur de mentir sans preuve, alors qu’il est bel et bien aveugle.

    • Du point de vue de hCaptcha, il est très probable qu’à ce stade ils aient déjà eu affaire à des centaines de personnes affirmant être aveugles alors qu’elles ne l’étaient pas, simplement pour faire passer leurs bots.
      Ce n’est pas une défense, seulement une explication, mais cela montre aussi pourquoi l’idée « ne donnons pas de moyen de contourner les CAPTCHA aux aveugles, sauf aux “vrais” aveugles, afin de satisfaire l’ADA » est totalement impossible et non scalable.
      Même des acteurs de la taille de Google, Facebook ou Amazon auraient du mal à absorber la charge d’un système chargé de déterminer qui est « vraiment » aveugle. Et cela reste vrai même en ignorant la question de savoir ce qu’on entend exactement par « déficience visuelle ».
      Ce genre d’idée n’aurait pas dû devenir un problème après déploiement : elle aurait dû être examinée cinq minutes en réunion de proposition et être bloquée avant même d’atteindre la phase de conception.
      Si vous disposez, dans un environnement soumis à de fortes attaques adversariales, d’un système capable de déterminer parfaitement une caractéristique comme « qui est aveugle », alors ce système vaut bien plus que le système CAPTCHA lui-même.
      Cette idée ne tient que si l’on possède déjà une solution plus puissante que le problème que le CAPTCHA est censé résoudre ; logiquement, elle ne tient donc pas dès le départ.
  • Certains captchas deviennent de plus en plus discriminatoires. Tout le monde ne vit pas en Occident et ne peut pas reconnaître les objets demandés par les captchas.
    Récemment, j’en ai même vu un qui demandait de choisir les formes en nombre égal au nombre de conoïdes affichés à l’écran ; si vous demandez à des passants ce qu’est un conoid, pas mal vous regarderont avec des yeux ronds.
    Au moins, j’ai appris qu’il y a maintenant des gens qui appellent ce type de marquage un crosswalk.

    • Désolé, mais je vis en Occident et c’est quoi un « crosswalk » ?
      Tu voulais sans doute dire « tout le monde ne vit pas aux États-Unis ».
      Les bornes d’incendie, les taxis jaunes, les bus jaunes, ça ne me parle pas du tout non plus.
      Bien sûr, grâce à l’impérialisme culturel américain via des choses comme les CAPTCHA, le monde entier est censé connaître les références culturelles américaines, donc en pratique je les connais quand même.
    • Je bloque souvent sur les images en gros plan.
      Même maintenant, je ne sais pas jusqu’où sélectionner l’objet, et ce qu’est exactement un feu de signalisation reste ambigu. Je ne sais pas si le poteau compte ou non.
      Les motos sont assez difficiles aussi, et une fois je suis tombé sur une image remplie uniquement d’escaliers ; je crois que j’ai coché une quinzaine de cases.
    • J’ai vécu toute ma vie en Occident et j’ai reçu une éducation plutôt solide, mais je n’avais jamais entendu le mot conoids de toute ma vie.
    • Je suis en train de chercher « conoid », et même comme ça je n’arrive pas à imaginer ce que ça peut bien désigner.
      Le dictionnaire Google dit que c’est un terme zoologique signifiant « à peu près en forme de cône », et le panneau Wikipedia parle en géométrie d’une surface réglée satisfaisant certaines conditions, mais l’illustration n’a rien d’intuitif.
      Le résultat Merriam-Webster dit : « structure en forme de cône, en particulier un organite cellulaire creux en forme de cône tronqué situé à l’extrémité antérieure d’un organisme ».
      Comme ça ne semblait avoir aucun rapport, j’ai cliqué sur l’onglet Images, et je n’ai vu que des graphes complexes façon Mathematica qui ne ressemblent pas vraiment à des cônes.
      Les autres personnes dans les commentaires HN semblent tout aussi perdues.
      Peux-tu décrire ce que tu as vu à l’écran ? Qu’est-ce que le captcha considérait comme un conoid ? Un cône de signalisation, par exemple ?
    • Demander des panneaux de signalisation ou des marquages routiers à l’américaine, qui ont une apparence différente selon les pays, est aussi un problème.
  • Quand on concurrence Google, la première leçon devrait être : « ne traitez pas les utilisateurs encore plus mal que Google ». Sinon, les gens utiliseront simplement Google.
    Même avec un modèle économique comme celui-là, compter sur la bonne volonté d’une petite minorité de gens qui « n’utiliseront jamais Google » n’est pas une voie vers le succès.
    Pendant que hCaptcha ruine sa réputation, le reste du monde continuera à utiliser reCaptcha et ne se souciera même pas de l’existence de hCaptcha.
    Au passage, l’orthographe correcte est intentional, pas « intensional ». Il faut penser à « intent » + « -tion » + « -al », pas à « in- » + « tension » + « -al ».

  • Au fond, l’auteur était trop intelligent pour être aveugle.

    • L’expression « j’ai regardé la console JavaScript » a peut-être pu leur faire penser que cette personne ne pouvait pas être aveugle.
      Ils se sont peut-être dit : comment une personne aveugle pourrait-elle « regarder » la console JavaScript ?
      Bien sûr, dire « j’ai fait lire le contenu de la console JavaScript par un lecteur d’écran » est un peu long.
    • Haha, c’est concis.
      Ce genre de chose m’arrive beaucoup trop souvent. Parce que je suis dans un endroit où je ne « devrais » pas être, ou que je fais quelque chose que je ne « devrais » pas faire, on en conclut que je ne suis pas aveugle.
    • Exact. Selon hCAPTCHA, nous sommes tous stupides !
  • J’aimerais que l’expérience CAPTCHA prenne enfin fin. Ça n’a pas marché.
    La vérification par numéro de téléphone n’est pas idéale non plus, mais au moins elle augmente un peu le coût du spam. Les CAPTCHA, non. Presque tous les services CAPTCHA clé en main se contournent pour quelques centimes.
    Résoudre le problème du spam et du trafic malveillant est difficile, et je crains qu’on finisse par se retrouver avec trois possibilités.
    Premièrement, l’abandon de l’anonymat des utilisateurs. Si l’on vérifie suffisamment l’identité réelle, on peut bannir définitivement les individus malveillants et filtrer les bots assez efficacement, mais l’anonymat en ligne disparaît. À mon avis, c’est littéralement insoutenable.
    Deuxièmement, la fermeture des plateformes. Des approches comme Web Environment Integrity et Private Access Tokens ouvrent la voie à la fermeture de la plateforme web. La plupart des internautes utilisent Google Chrome ou Safari sur des appareils avec Secure Boot, ce qui permet d’attester toute la chaîne de démarrage. Avec le temps, le nombre d’utilisateurs capables de faire cela augmentera.
    Dans un tel avenir, le web ne restera pas réellement ouvert. Les alternatives deviendront de moins en moins utiles et, par exemple, même si le machine learning n’atteint pas l’intelligence artificielle générale, il surclassera tous les CAPTCHA visibles ; sans cette approche, il deviendra probablement difficile d’accéder aux sites web.
    Troisièmement, une responsabilisation accrue des opérateurs réseau. Qu’on le veuille ou non, Internet bénéficie beaucoup d’opérateurs de zones grises, avec peu de supervision ou de transparence. Mais une autre façon d’éliminer le trafic malveillant consiste à imposer davantage de responsabilités aux opérateurs réseau et à couper d’Internet les acteurs non coopératifs. Cela a de fortes chances d’être peu souhaitable aussi, et d’encourager les abus de pouvoir.
    Cela reste compliqué. Que peut-on faire d’autre ? Même si l’on essaie de réduire les incitations au trafic malveillant, c’est difficile sans diminuer la valeur fournie par le service ; l’obfuscation peut rendre le trafic malveillant plus difficile, mais elle peine à arrêter un adversaire déterminé.
    Dans tous les cas, l’ère du web ouvert semble de fait terminée. Le web ouvert peut continuer d’exister, mais il risque fort d’être éclipsé par un nouveau web beaucoup plus fermé.

    • Les CAPTCHA fonctionnent clairement dans certains cas.
      Sur notre site web, sans CAPTCHA, des bots remplissent des dizaines de formulaires par jour. Avec un CAPTCHA, on tombe à zéro.
      Même si le coût pour casser un CAPTCHA est faible, il semble que, sur notre site, personne ne veuille franchir cette petite barrière.
    • Il existe d’autres options.
      Les CAPTCHA ne sont utiles que lorsqu’ils ont un coût à résoudre. Ils servent de signal de coût indiquant que cette requête vient d’un vrai humain, ou du moins d’une entité plus grande qu’un milliardième de vrai humain. Autrement dit, ce n’est pas un système de spam entièrement automatisé.
      Les services postaux ont eux aussi un coût. Pour envoyer quelque chose par courrier, tout le monde doit acheter un timbre. Les frais d’acheminement sont une manière « naturelle » de réguler le trafic et de prévenir le spam.
      En combinant architecture réseau et cryptomonnaie, on peut imposer des frais d’acheminement à chaque tentative d’envoi ou de connexion. Même 1 centime par e-mail de spam ou tentative de devinette de mot de passe rendrait la plupart du spam entièrement automatisé prohibitif.
      L’élément cryptomonnaie sert à permettre des transactions assimilables à du cash, comme les timbres, tout en préservant l’anonymat de l’accès à un portefeuille personnel.
    • Cela ressemble moins à la fin du « web ouvert » qu’à une redite du problème du spam sur USENET et par e-mail.
      Les réseaux sociaux ont tué USENET, et l’e-mail a réussi à gérer le problème du spam grâce au filtrage.
    • La vérification de l’identité réelle n’est pas insoutenable uniquement parce qu’elle porte atteinte à la vie privée.
      Il y aura aussi beaucoup trop d’utilisateurs prêts à cliquer sur n’importe quoi pour avoir une chance de gagner un prix, et à autoriser au passage l’utilisation de leur identité pour du spam.
      Des choses comme Web Environment Integrity ou Private Access Tokens ne fonctionneront jamais correctement. Il suffit aux spammeurs de compromettre un seul modèle d’appareil populaire.
      Ceux qui proposent ce genre de choses sont soit des escrocs, soit des plateformes qui veulent s’en servir pour créer un effet de verrouillage. Les spammeurs dépenseront des ressources pour casser le système, tandis que les utilisateurs ordinaires ne supporteront pas les frictions ; au final, cela bloquera les concurrents et l’interopérabilité.
      La responsabilité des opérateurs réseau existe déjà dans une large mesure. Les plages d’IP de mauvaise réputation sont bloquées. Mais quand on a des botnets d’utilisateurs répartis chez plusieurs FAI, certains FAI n’ont pas la même volonté de réagir, même ceux qui réagissent ne peuvent pas le faire instantanément, et certains qui s’en moquent se trouvent dans des juridictions incontrôlables mais sont trop gros pour être bloqués.
      La meilleure solution consiste probablement à demander une petite contribution lors de la création d’un compte, sous forme d’argent, de cryptomonnaie ou de preuve de travail. Les utilisateurs ordinaires n’ont besoin que de quelques comptes qu’ils conserveront longtemps, tandis que les spammeurs ont besoin de grandes quantités de comptes qui seront presque immédiatement bannis ; cela crée donc la structure de coûts asymétrique nécessaire à un système qui fonctionne.
    • Avant l’arrivée des systèmes modernes de reconnaissance d’images par IA, les CAPTCHA fonctionnaient dans une certaine mesure.
      Même à l’époque, il fallait rendre les défis toujours plus difficiles pour garder une longueur d’avance sur les logiciels de reconnaissance.
      Désormais, on est passé dans un domaine où les machines les résolvent plus facilement que les humains, ce qui les rend inutiles pour leur objectif initial.
  • Malheureusement, la plupart des options d’accessibilité ne semblent pas vraiment conçues pour être utilisées.
    Pour une administration ou une grande entreprise, l’accessibilité fait partie des exigences de base. Il faut pouvoir dire : « oui, nous sommes accessibles », sinon l’opinion publique s’agite.
    On élimine donc de la liste des fournisseurs ceux qui ne disent pas proposer l’accessibilité. Les fournisseurs le savent et affirment forcément qu’ils la proposent.
    Mais c’est une fonctionnalité difficile à bien réaliser, et elle ne concerne qu’une petite partie des utilisateurs. Chaque type de handicap nécessite aussi une prise en charge différente. Personne dans l’équipe de développement ne comprend vraiment les besoins réels.
    Les personnes qui ont besoin d’accessibilité vont ailleurs, ou râlent et se débrouillent tant bien que mal. Dans les deux cas, cela n’apparaît pas dans les tableaux de bord de métriques.
    Cette combinaison encourage le shelfware : un produit qu’on achète et qu’on pose quelque part sur une étagère, mais qui n’est en réalité pas utilisé.

  • Si j’ai bien compris, le problème d’accessibilité créé par hCaptcha empêche cette personne aveugle d’accéder à plusieurs sites web, c’est bien ça ?
    Cela ne pourrait-il pas poser un problème, du point de vue de l’ADA, à beaucoup de clients de hCaptcha ?

  • Si l’auteur veut engager une action en justice, cela ressemble presque à une affaire gagnée d’avance.
    Les conditions d’utilisation ne protègent pas contre la responsabilité au titre de l’ADA.

  • Je ne comprends pas pourquoi les captchas existent encore
    Si quelqu’un veut scraper quelque chose ou mettre en place une automatisation, pourquoi ne pas simplement le laisser faire ? De toute façon, il faut respecter le système auquel on se connecte
    Il y a aussi un avantage en matière de vie privée à ne pas exposer les visiteurs à un service de captcha assorti de dizaines de sous-traitants de données, voire plus

    • Il y a quelques années, nous avons dû ajouter un captcha à une page d’inscription
      Des bots créaient des milliers de faux comptes avec les adresses e-mail d’autres personnes, et les e-mails de confirmation que nous envoyions étaient signalés comme spam par les destinataires, puisqu’ils ne s’étaient jamais inscrits
      Au final, notre fournisseur d’e-mail a suspendu notre compte en raison du nombre élevé de signalements de spam
    • Vous n’avez sans doute jamais mis de formulaire de contact sur un site web
      Moi si, et en quelques jours des bots ont commencé à l’utiliser pour envoyer du spam
      J’ai ajouté un petit captcha codé en dur du genre « 2+3= », mais si l’échelle avait été plus importante, cela aurait été ingérable
      Il faut aussi penser au spam par messages privés et à la création automatisée de comptes pour abuser des offres gratuites
    • Parce que, même si la période de ZIRP est terminée depuis longtemps, il existe encore beaucoup de personnes et d’entreprises qui gagnent de l’argent en faisant perdre du temps aux gens sous couvert d’« engagement »
      L’automatisation et le scraping contournent cela
    • Les captchas servent à de nombreux usages, et s’ils existent encore, c’est en grande partie parce qu’ils fonctionnent. C’est particulièrement vrai des captchas invisibles basés sur l’empreinte numérique
      Retirez le captcha d’un formulaire de connexion, et vous verrez que vous vous retrouverez chaque jour avec des centaines d’utilisateurs à qui il faudra envoyer un e-mail « Veuillez vérifier votre adresse e-mail » sans vraie raison
      Croire que « eux aussi devraient respecter le système auquel ils se connectent » est une belle idée, mais quand on exploite quelque chose sur Internet, on découvre que, intentionnellement ou non, les gens le martèlent jusqu’à ce que le système tombe
    • Même un simple captcha à caractères déformés reste très efficace contre les bots rudimentaires, qui constituent la majorité
      Ces bots ne prennent pas en charge CSS ; combiné à des champs de formulaire cachés, cela fonctionne donc encore mieux
      En revanche, face à une attaque ciblée, cela ne fait guère que faire souffrir les utilisateurs légitimes tout en faisant passer le taux de blocage des bots de 95 % à 99 %