2 pontos por GN⁺ 2024-11-19 | 1 comentários | Compartilhar no WhatsApp
  • Um usuário com deficiência visual relatou um problema em que o cookie da conta de acessibilidade do hCaptcha não era definido no Brave, mas a equipe de suporte informou que esse uso de acessibilidade não era suportado e notificou a exclusão da conta e o bloqueio de novo cadastro
  • Na época, o hCaptcha oferecia, em vez de CAPTCHA de áudio, uma conta especial que permitia ignorar o desafio de CAPTCHA por meio de um cookie; depois foi acrescentada uma correção informando que uma opção de CAPTCHA em texto foi adicionada em atualizações posteriores
  • No Firefox e no Chromium a conta funcionava, mas no Brave o cookie não era definido por cerca de 1 ano, e no console JavaScript o endpoint de set cookie retornava 401 Unauthorized
  • A equipe de suporte impediu o uso da conta de acessibilidade por concluir que o usuário não era deficiente visual, e manteve o bloqueio mesmo depois de ele pedir a remoção da restrição afirmando que de fato tinha deficiência visual
  • Um sistema que delega acessibilidade a um mecanismo separado de contorno pode excluir usuários reais do serviço no momento em que esse mecanismo passa a ser bloqueado de forma arbitrária

O método de contorno de acessibilidade do hCaptcha

  • O hCaptcha é um serviço de CAPTCHA em que o usuário marca uma caixa de seleção e depois precisa escolher imagens específicas, como casas
  • Na época, o hCaptcha não oferecia CAPTCHA de áudio para pessoas com deficiência visual, alegando que isso facilitaria a aprovação de bots
  • Em vez disso, havia um método de fornecer uma conta especial a pessoas com deficiência visual, definindo um cookie para que não precisassem passar pelo desafio de CAPTCHA
  • Depois foi adicionada uma atualização informando que o hCaptcha passou a ter uma opção de CAPTCHA em texto, mas o autor afirma que a crítica central do texto continua válida

O cookie não era definido apenas no Brave

  • O usuário usava o Brave como navegador principal, e por cerca de 1 ano a conta de acessibilidade do hCaptcha não conseguia definir o cookie no Brave
  • A mesma conta funcionava normalmente em outros navegadores, como Firefox e Chromium
  • Seguindo as orientações, ele verificou medidas básicas como permitir cookies de terceiros, mas no Brave o problema persistiu, e a mensagem de erro orientava enviar um e-mail ao suporte caso o problema continuasse

O contato com o suporte levou a suspeitas

  • O usuário acabou enviando um e-mail para a equipe de suporte do hCaptcha, e o suporte orientou procedimentos básicos de solução de problemas
  • Ao verificar o console JavaScript para restringir a causa do problema, ele informou que no Brave a chamada ao endpoint de set cookie do hCaptcha aparentemente retornava 401 unauthorized
  • O usuário forneceu essa informação para ajudar o suporte técnico, mas considera que isso pode ter despertado suspeitas na equipe

Exclusão da conta de acessibilidade e bloqueio de novo cadastro

  • Durante a conversa com um atendente, outro membro do suporte enviou uma resposta com o seguinte teor
    • essa forma de uso não é suportada
    • não recebe crédito para o passe de acessibilidade
    • todas as contas usadas dessa forma são excluídas do hCaptcha
    • se o usuário tentar se cadastrar novamente em uma conta de acessibilidade, será bloqueado
  • O usuário ficou confuso, dizendo que não estava fazendo nada proibido, apenas tentando fazer funcionar no Brave
  • Depois, o suporte esclareceu que o usuário não deveria usar a conta de acessibilidade por não ser deficiente visual

Depois de afirmar que era de fato deficiente visual

  • O usuário declarou que de fato tinha deficiência visual e pediu a remoção do bloqueio, mas o suporte enviou uma resposta padronizada dizendo que manteria o bloqueio da conta
  • A conta de fato permaneceu bloqueada, e o usuário disse que, para passar pelo hCaptcha, acabou ficando na situação de ter que violar os termos de serviço e usar um programa automático de resolução
  • Isso levou ao alerta de que não se deve confiar que uma empresa que oferece um produto deliberadamente inacessível manterá de forma estável um mecanismo de contorno de acessibilidade separado
  • O autor pede que administradores de sites considerem essa experiência se usarem o hCaptcha, e acrescenta que a Cloudflare aparentemente já usa seu próprio sistema

1 comentários

 
GN⁺ 2024-11-19
Comentários do Hacker News
  • Eu também sou deficiente visual, e o hCaptcha é o pior
    Como o cookie idiota expira, quase toda vez que encontro um hCaptcha preciso passar pelo processo de receber um e-mail para definir o cookie
    É uma experiência de usuário especialmente horrível quando se usam vários dispositivos e navegadores, e acho que outras pessoas simplesmente desistiriam
    Bots conseguem resolver com mais facilidade do que pessoas com deficiência visual, ou podem terceirizar isso para trabalhadores do terceiro mundo por quase nada. Ex.: Anticaptcha [0]:

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

    • Pode acreditar. O hCaptcha não fica muito melhor nem para quem não é deficiente visual
      Ele mostra imagens minúsculas que são quase indistinguíveis entre si, e é até impressionante que tenham conseguido torná-lo muito pior que o reCaptcha
    • Minha experiência é exatamente o oposto. Não sou deficiente visual, mas uso Tor, VPN e navegadores que não são spyware, e talvez esse lado seja até pior
      Os captchas do Google, na maioria das vezes, me mandam para um loop infinito mesmo depois de resolvê-los corretamente por mais de 3 minutos e sempre falham, enquanto o hCaptcha me deixa passar depois de resolver corretamente só 1 a 3
    • Em termos de acessibilidade, qual captcha é o melhor?
    • Para começo de conversa, por que eu deveria deixar que definam um cookie no meu sistema? Eu não quero isso
      Eu uso cookies de sessão, mas não há motivo para permitir que alguma empresa plante um cookie no meu sistema só para eu contornar o CAPTCHA idiota deles
      Em outras palavras, eu não deveria ter que revelar nada a eles. Não deveria importar se, aos olhos deles, eu sou uma IA
  • Só pelo título, parece um problema muito menos grave do que realmente é
    Segundo o texto, mesmo o autor sendo de fato deficiente visual, o hCaptcha o acusou de forma grosseira várias vezes de estar mentindo, sem fundamento

    • Do ponto de vista do hCaptcha, é bem provável que, até aquele momento, eles já tivessem lidado com umas centenas de pessoas que diziam ser deficientes visuais sem realmente serem, só para fazer seus bots passarem
      Não é uma defesa, é uma explicação; ao mesmo tempo, isso também mostra por que a ideia de “não dar a pessoas com deficiência visual um meio de contornar CAPTCHA, mas abrir exceção só para deficientes visuais ‘de verdade’ para cumprir a ADA” é completamente impossível e não escalável
      Mesmo algo do tamanho de Google, Facebook ou Amazon teria dificuldade para suportar a carga de um sistema que determina quem é deficiente visual “de verdade”. Isso mesmo ignorando perguntas como o que exatamente define “deficiência visual”
      Isso não é algo que deveria virar problema depois de implantado; é uma ideia que deveria ter sido analisada por 5 minutos numa reunião de proposta e barrada antes mesmo de chegar à etapa de design
      Se existe, em um ambiente de ataques adversariais intensos, um sistema capaz de determinar perfeitamente uma característica como “quem é deficiente visual”, então ele é algo muito mais valioso do que o próprio sistema de CAPTCHA
      Essa ideia só funciona se você já tiver uma solução mais forte do que o problema que o CAPTCHA tenta resolver, então, logicamente, ela não se sustenta desde a base
  • Alguns captchas estão ficando cada vez mais discriminatórios. Nem todo mundo vive no Ocidente e consegue reconhecer os objetos que o captcha exige
    Recentemente vi um que pedia para escolher a forma com o mesmo número de conoids que aparecia na tela; se você perguntar a pessoas na rua o que é um conoid, muita gente vai ficar com cara de paisagem
    Pelo menos agora descobri que há quem chame aquelas marcações de crosswalk

    • Desculpa, mas eu moro no Ocidente e o que é “crosswalk”?
      Acho que você queria dizer “nem todo mundo mora nos EUA”
      Hidrantes, táxis amarelos e ônibus amarelos também não fazem nenhum sentido para mim
      Claro, graças ao imperialismo cultural dos EUA por meio de coisas como CAPTCHA, na prática eu sei, já que o mundo todo precisa conhecer as referências culturais americanas
    • Eu costumo travar em imagens em close-up
      Até hoje não sei até onde devo selecionar o objeto, e semáforo também é ambíguo. Não sei se o poste entra ou não
      Motocicletas também são bem difíceis, e uma vez apareceu uma foto cheia de escadas; acho que marquei umas 15 casas
    • Vivi a vida inteira no Ocidente e tive bastante educação formal, mas nunca ouvi a palavra conoids na vida
    • Estou pesquisando “conoid” agora e ainda assim nem consigo imaginar o que isso quer dizer
      O dicionário do Google diz que é um termo de zoologia para “aproximadamente em forma de cone”, e o painel da Wikipedia diz que, em geometria, é uma superfície regrada que satisfaz certas condições, mas a imagem não é nem um pouco intuitiva
      O resultado do Merriam-Webster diz “estrutura em forma de cone, especialmente uma organela celular oca em forma de cone truncado na extremidade anterior de um organismo”
      Isso não parece ter nenhuma relação, então cliquei na aba de imagens e só apareceram gráficos complexos estilo Mathematica que não se parecem muito com cones
      Outras pessoas nos comentários do HN parecem igualmente perdidas
      Você consegue explicar o que viu na tela? O que o captcha achava que era um conoid? Algo como um cone de trânsito?
    • Também é um problema perguntar sobre placas de trânsito ou marcações viárias ao estilo dos EUA, que têm aparência diferente em cada país
  • A primeira lição ao competir com o Google deveria ser “não trate os usuários com mais desprezo do que o Google”. Caso contrário, as pessoas simplesmente usarão o Google
    Mesmo que o modelo de negócios seja esse, depender da boa vontade de uma minoria de pessoas que “jamais usam Google” não é um caminho para o sucesso
    Enquanto o hCaptcha destrói a própria reputação, o resto do mundo continuará usando reCaptcha e nem se importará com a existência do hCaptcha
    Além disso, a grafia é intentional, não “intensional”. Pense como “intent” + “-tion” + “-al”, não “in-” + “tension” + “-al”

  • No fundo, o autor era inteligente demais para ser deficiente visual

    • Por causa da expressão “vi o console JavaScript”, eles podem ter pensado que essa pessoa não podia ser deficiente visual
      Devem ter pensado: como uma pessoa cega “veria” o console JavaScript?
      Claro que “fiz o leitor de tela ler o conteúdo do console JavaScript” é uma formulação meio comprida
    • Haha, concisão
      Eu também passo por isso com frequência demais. Como estou em um lugar onde eu “não deveria” estar, ou fazendo algo que eu “não deveria” fazer, então dizem que não sou deficiente visual
    • Exato. Segundo o hCAPTCHA, somos todos burros!
  • O experimento do CAPTCHA já deveria acabar logo. Não funcionou
    Verificação por número de telefone também não é ótima, mas pelo menos aumenta um pouco o custo do spam. CAPTCHA não. Quase todos os serviços turnkey de CAPTCHA são resolvidos por alguns centavos
    Resolver o problema de spam e tráfego malicioso é difícil, e temo que, no fim, isso acabe se reduzindo a três possibilidades
    Primeiro, abrir mão do anonimato dos usuários. Se a identidade real for verificada o suficiente, dá para banir indivíduos maliciosos permanentemente e filtrar bots com bastante eficácia, mas o anonimato online desaparece. Na minha opinião, isso é literalmente insustentável
    Segundo, fechar a plataforma. Abordagens como Web Environment Integrity e Private Access Tokens pavimentam o caminho para fechar a plataforma web. A maioria dos usuários da web usa Google Chrome ou Safari em dispositivos com Secure Boot, então é possível atestar toda a cadeia de inicialização. Com o tempo, o número de usuários capazes de executar isso vai aumentar
    Nesse futuro, a web não continua aberta de forma significativa. As alternativas ficarão cada vez menos úteis e, por exemplo, mesmo que machine learning não chegue à inteligência artificial geral, ele vai superar todos os CAPTCHAs à vista, então é bem provável que fique difícil entrar em sites sem esse tipo de mecanismo
    Terceiro, aumentar a responsabilização dos operadores de rede. Gostando ou não, a internet se beneficia muito de operadores em áreas cinzentas, com pouca supervisão ou transparência. Mas outra forma de eliminar tráfego malicioso é impor mais responsabilidade aos operadores de rede e desconectar da internet provedores que não cooperam. Isso também provavelmente é ruim e vai incentivar abuso de poder
    Ainda assim, é complicado. O que mais dá para fazer? Mesmo tentando reduzir os incentivos ao tráfego malicioso, é difícil sem diminuir o valor oferecido pelo serviço; e ofuscação pode dificultar o tráfego malicioso, mas é difícil deter um adversário determinado
    De qualquer forma, parece que a era da web aberta praticamente acabou. A web aberta pode continuar existindo, mas provavelmente será ofuscada por uma web nova e muito mais fechada

    • CAPTCHA certamente funciona em alguns casos
      No nosso site, sem CAPTCHA, bots preenchem dezenas de formulários por dia. Com CAPTCHA, isso cai para 0
      Embora o custo para quebrar CAPTCHA seja baixo, no nosso site parece que ninguém está disposto a superar essa pequena barreira
    • Há outras opções também
      CAPTCHA só é útil quando há custo para resolvê-lo. Ele vira um sinal de custo de que esta solicitação vem de uma pessoa real, ou pelo menos de uma entidade maior que um bilionésimo de uma pessoa real. Ou seja, não é um sistema de spam totalmente automatizado
      Serviços postais também têm custo. Para enviar algo pelo correio, qualquer pessoa precisa comprar um selo. O custo de transporte é uma forma “natural” de regular tráfego e impedir spam
      Usando uma combinação de arquitetura de rede e criptomoedas, seria possível cobrar um custo de transporte por cada tentativa de envio ou tentativa de login. Se cada email de spam ou palpite de login custasse apenas 1 centavo, isso já se tornaria proibitivo para a maior parte do spam totalmente automatizado
      O elemento de criptomoeda serviria para permitir transações monetárias semelhantes a selos, preservando ao mesmo tempo o anonimato do acesso a uma carteira pessoal
    • Isso parece menos o fim da “web aberta” e mais uma reprise do problema de spam da USENET e do email
      As redes sociais mataram a USENET, e o email vem administrando o problema de spam graças à filtragem
    • Verificação de identidade real não é insustentável apenas por ser uma invasão de privacidade
      Também há usuários demais que clicariam em qualquer coisa por uma chance de ganhar um prêmio e, no processo, autorizariam o uso da própria identidade para spam
      Coisas como Web Environment Integrity ou Private Access Tokens nunca vão funcionar direito. Isso porque spammers só precisam quebrar um único modelo popular de dispositivo
      Quem propõe esse tipo de coisa ou é golpista, ou são empresas de plataforma que querem usar isso como efeito de lock-in. Spammers gastam recursos para quebrar o sistema, mas usuários comuns não toleram inconveniências; no fim, isso acaba bloqueando concorrentes e interoperabilidade
      A responsabilização de operadores de rede já acontece em boa parte. Faixas de IP com má reputação são bloqueadas. Mas, quando surge uma botnet de usuários espalhados por vários ISPs, alguns ISPs têm diferentes níveis de disposição para responder; mesmo quando respondem, não conseguem agir imediatamente; e alguns que não se importam estão em jurisdições fora de controle, mas são grandes demais para bloquear
      A melhor solução provavelmente é exigir um pequeno pagamento em dinheiro, criptomoeda ou prova de trabalho ao criar uma conta. Usuários comuns só precisam de algumas contas que manterão por muito tempo, mas spammers precisam de grandes volumes de contas que serão bloqueadas quase imediatamente, criando a estrutura de custo assimétrica necessária para um sistema funcional
    • CAPTCHAs funcionavam até certo ponto antes dos reconhecedores modernos de imagens por IA
      Mesmo naquela época, era preciso tornar os desafios cada vez mais difíceis para acompanhar o software de reconhecimento
      Agora passamos para um terreno em que máquinas conseguem resolvê-los mais facilmente que humanos, então eles se tornaram inúteis para seu propósito original
  • Infelizmente, a maioria das opções de acessibilidade parece não ter sido feita para ser usada de verdade
    Se você é governo ou uma grande empresa, acessibilidade entra nos requisitos básicos. É preciso conseguir dizer “sim, somos acessíveis”; caso contrário, a opinião pública faz barulho
    Por isso, removem da lista de fornecedores aqueles que não dizem oferecer acessibilidade. Os fornecedores sabem disso e sempre dizem que oferecem
    Mas é uma funcionalidade difícil de fazer bem e se aplica apenas a uma pequena parcela da base de usuários. Cada tipo de deficiência também precisa de suporte diferente. Ninguém da equipe de desenvolvimento entende de fato os requisitos reais
    Pessoas que precisam de acessibilidade vão para outro lugar ou resmungam e se viram de algum jeito. Nenhuma das duas coisas aparece nos dashboards de métricas
    Essa combinação incentiva shelfware: algo que é comprado e colocado em alguma prateleira, mas que na prática não é usado

  • Se entendi direito, o problema de acessibilidade criado pela hCaptcha está impedindo o acesso dessa pessoa cega a vários sites?
    Isso não poderia criar um problema do ponto de vista da ADA para muitos clientes da hCaptcha?

  • Se o autor quiser entrar com um processo, isso parece ser quase um caso de vitória óbvia
    Os termos de serviço não protegem contra responsabilidade sob a ADA

  • Não entendo por que CAPTCHA ainda existe
    Se alguém quer fazer scraping de alguma coisa ou criar uma automação, não seria melhor simplesmente deixar? De todo modo, a pessoa precisa respeitar o sistema em que está fazendo login
    Também há o benefício de privacidade de não expor os visitantes a um serviço de CAPTCHA com dezenas ou mais subprocessadores de dados

    • Alguns anos atrás, tivemos de adicionar CAPTCHA à página de cadastro
      Bots criavam milhares de contas falsas usando endereços de e-mail de outras pessoas, e os e-mails de verificação que enviávamos eram denunciados como spam pelos destinatários, já que eles nunca tinham se cadastrado
      No fim, o provedor de e-mail suspendeu nossa conta por causa do alto número de denúncias de spam
    • Pelo visto você nunca colocou um formulário de contato em um site
      Eu já coloquei, e em poucos dias bots começaram a enviar spam por aquele formulário
      Coloquei um CAPTCHA trivial hardcoded, tipo “2+3=”, mas, se a escala fosse maior, teria sido impossível dar conta
      Também é preciso considerar spam em mensagens privadas e criação automatizada de contas para abusar de planos gratuitos
    • Porque, embora a ZIRP tenha acabado faz tempo, ainda há muitas pessoas e empresas ganhando dinheiro desperdiçando o tempo das pessoas em nome do “engajamento”
      Automação e scraping acabam contornando isso
    • CAPTCHAs são usados para vários fins, e o motivo de ainda existirem é que, em geral, funcionam. Especialmente os CAPTCHAs invisíveis baseados em fingerprinting
      Se você remover o CAPTCHA de um formulário de login, vai descobrir que todos os dias pega centenas de usuários aos quais precisa enviar e-mails de “por favor, confirme seu endereço de e-mail” sem motivo algum
      A crença de que “eles também deveriam respeitar o sistema em que fazem login” é ótima, mas, quando você opera algo na internet, descobre que, intencionalmente ou não, as pessoas batem no sistema até ele cair
    • Mesmo um simples CAPTCHA de texto distorcido ainda é bastante eficaz para pegar bots rudimentares, e esses bots são a maioria
      Como esses bots não oferecem suporte a CSS, funciona ainda melhor quando combinado com campos de formulário ocultos
      Mas, se for um ataque direcionado, no máximo aumenta a taxa de bloqueio de bots de 95% para 99%, fazendo apenas os usuários legítimos sofrerem