Acessibilidade

12 jun, 2012

CAPTCHA: herói ou vilão?

Publicidade

Artigo escrito em conjunto com Lêda Spelta

Todas as pessoas que já utilizaram a Web para realização de tarefas como criar um perfil em uma rede social, publicar um comentário em um blog, pesquisar a restituição do imposto de renda, fazer um cadastro em um sistema de comércio eletrônico ou em um portal de notícias, entre tantas outras, já se depararam com o CAPTCHA.

Este teste, cujo nome completo é bastante pomposo, Completely Automated Public Turing test to tell Computers and Humans Apart – [Wikipedia], apresenta-se como um conjunto de caracteres que aparecem em imagens distorcidas e que as pessoas precisam decifrar e digitar num campo de formulário. Elas precisam realizar esta tarefa para provar que são seres humanos e não robôs. O uso do CAPTCHA com este objetivo presume, portanto, que qualquer ser humano, mas nenhum robô, seria capaz de executar a tarefa proposta. Mas, será que esta presunção é verdadeira?

Há muitos tipos diferentes de CAPTCHAS e muitas variações diferentes desses tipos, veremos alguns a seguir.

Figura 1: Imagem de uma das duas palavras distorcidas disponibilizadas pelo teste reCAPTCHA (veja a figura 3). Nesse exemplo, o texto em preto está com baixa resolução, as letras estão praticamente coladas, a palavra está com uma ondulação e parte do texto está em branco, com um fundo preto.

Herói

Para as empresas que utilizam o CAPTCHA, ele é o “herói” que tem a missão de diferenciar pessoas de robôs e, assim, proteger-se de convidados indesejados e mal-intencionados, tais como hackers, spammers, dentre outros, que utilizam softwares maliciosos para invadir seus sites e sistemas.

Quase todos os sites que precisam se proteger contra spam e intrusos, utilizam essa técnica. No mercado existem opções baratas do CAPTCHA, até mesmo gratuitas, sendo a sua implementação razoavelmente simples.

Mas será que as empresas utilizam o CAPTCHA apenas porque estão preocupadas com a segurança de seus sistemas, ou porque estão fazendo exatamente como as grandes empresas paradigmas do mercado? Provavelmente pelas duas razões. “Se todos estão usando, até as multinacionais, é porque é bom. Então pra que reinventar a roda, não é mesmo? Além do mais, não temos tempo, pessoal e nem orçamento para criar ou tentar algo novo.”

E a saída acaba sendo bem simples, basta dar um “Copy and Paste” e replicar a solução mais utilizada pelo mercado, até porque pensar algo original vai dar muito trabalho.

Em resumo, para as empresas o CAPTCHA é um “herói” porque “protege” seus sites/sistemas contra os malfeitores digitais, é uma solução barata e, de quebra, mantém as empresas com mesmo status tecnológico das grandes do mercado.

Mas será que o uso desta técnica garante mesmo a segurança contra esses programas mal-intencionados? E os usuários, o que pensam sobre o CAPTCHA?

Vilão

Para as pessoas que precisam passar pelo teste do CAPTCHA para executarem suas tarefas, certamente ele é um vilão, geralmente truculento e impiedoso.

Normalmente, esses testes são aplicados quando as pessoas estão realizando tarefas como criar cadastros, incluir solicitações, comentários, realizar compras, etc. E é justamente nesses momentos que os usuários não deveriam ser distraídos, irritados, nem desencorajados a seguirem em frente. Em muitos casos, quando tentam passar pelos testes, se vêem obrigados a repetir diversas vezes até conseguirem acertar. Isso quando não desistem no meio do caminho.

Em 2011, tive oportunidade de questionar diferentes públicos sobre suas experiências com o CAPTCHA. A resposta foi unânime: quando esse tema era apresentado, todos imediatamente torceram os narizes e fizeram caras pouco amistosas. E quando tiveram oportunidade de falar, reclamaram muito de suas experiências com essas técnicas. Além de não gostarem, as pessoas estão ficando com uma predisposição de que irão falhar e se aborrecer durante o teste.

Ter que passar pelo CAPTCHA para executar uma tarefa pode ser chato e até frustrante, mas se as pessoas tiverem que repetir os testes duas, três vezes ou mais, certamente ficarão muito irritadas e podem até abandonar o site. Já da para imaginar como se sentem os usuários que não conseguem acertar os testes ou nem têm acesso a eles por barreiras de acessibilidade. Pois é, não da para publicar aqui…

Se acha exagero, então procure entrevistar seus clientes, colegas de trabalho, alunos, amigos, familiares, etc., sobre suas experiências com esses testes. Sugiro que, além das entrevistas, procure observar a reação de alguns usuários realizando testes de uso com o CAPTCHA.

Segurança

O objetivo destes testes é bloquear softwares maliciosos e permitir o acesso apenas por pessoas. Entretanto, na maioria dos casos, não é isso que acontece. Grande parte das técnicas do CAPTCHA já foram resolvidas por softwares, como mostram algumas pesquisas acadêmicas, o projeto PWNtcha, ou mesmo o WebVisum, que é um complemento para Firefox utilizado por pessoas com deficiência visual. E, quando são seguras, essas técnicas geralmente têm um custo inviável e/ou geram caracteres incompreensíveis para a maioria das pessoas.

Pesquisa da Universidade de Stanford

No final de 2011, pesquisadores da Universidade de Stanford, na Califórnia, publicaram o artigo “Text-based CAPTCHA Strengths and Weaknesses” que analisa os resultados do uso do Decaptcha, uma ferramenta cujo algoritmo quebrou 13 dos 15 CAPTCHAS (figura 2) que utilizam a técnica de distorção de textos em imagens. Para se ter uma ideia, durante os testes, o programa conseguiu burlar 66% dos CAPTCHAS da Visa, 75% do eBay, 70% dos da Blizzard e 25% dos da Wikipedia. Apenas o Google e o reCAPTHA não foram resolvidos pelo Decaptcha.

Figura 2: As amostras dos 15 CAPTCHAS mais populares do mundo analisados pelos pesquisadores de Stanford (Authorize, Baidu, Blizzard, Captcha.net, CNN, Digg, eBay, Google, Megaupload, NIH, Recaptcha, Reddit, Skyrock, Slash-dot, and Wikipedia).

O projeto PWNtcha

O projeto PWNtcha (Pretend We’re Not a Turing Computer but a Human Antagonist) foi criado com objetivo de demonstrar a ineficiência de muitas implementações de CAPTCHA.

Na página do projeto, são apontadas as técnicas que já foram quebradas pelos algoritmos dos Spammers. O site também aponta técnicas que funcionam, entretanto, são difíceis de serem decifradas pelos usuários. A última atualização da página foi em 2010.

Pesquisas das universidades de Konstanz (Alemanha) e NUST (Paquistão)

Em 2010, os pesquisadores das universidades de Konstanz e NUST publicaram o artigo “Breaking e-Banking CAPTCHAS” um estudo sobre os CAPTCHAS encontrados em Home Bankings de todo o mundo. Foram analisados três CAPTCHAS usados para validar transações bancárias e 41 para Login. Utilizando um novo conjunto de técnicas de processamento de imagem e reconhecimento de padrões, todos foram quebrados, chegando próximo à taxa de 100% de sucesso.

Na opinião dos pesquisadores, os CAPTCHAS utilizados nos bancos eletrônicos deveriam ser substituídos por sistemas de segurança baseados em Hardware, como os Tokens.

BBC e o CAPTCHA

No final de 2010, depois de uma longa pesquisa com as tecnologias existentes e de uma série de testes com usuários com e sem deficiência, a gigante inglesa de comunicação, a BBC, publicou o artigo “CAPTCHA and BBC Id”, que explica porque a empresa resolveu retirar o teste do seu sistema de login.

Vejamos alguns resultados dos testes com usuários divulgados no artigo:

  • Muitos não sabem o que é ou não entendem por que eles são necessários.
  • A maioria acha chato.
  • Participantes com deficiência visual esperavam que o site da BBC fosse acessível e disseram que isso iria afetar a reputação da empresa.
  • Usuários idosos tiveram dificuldades com imagens distorcidas.
  • Enigmas foram classificados como estranhos e paternalistas.
  • O áudio foi difícil de ser usado.
  • Em geral, os sentimentos dos participantes dos testes com relação ao CAPTCHA foram extremamente negativos.

Além do feedback negativo generalizado dos usuários, o outro motivo que levou a BBC a retirar o CAPTCHA de seu site foi a segurança. Eles encontraram um fator que derrubou mesmo as técnicas de CAPTCHA mais avançadas e resistentes aos ataques: empresas de aluguel, cuja missão é quebrar esses testes utilizando pessoas, conforme artigo “Spammers Outsourcing Captcha-Cracking Task For Cheap”.

Acessibilidade

Além de problemas com a falta de segurança e da experiência ruim para a maioria das pessoas, outro fator negativo para o CAPTCHA são as suas barreiras de acessibilidade. Isto representa um grande problema, principalmente para as pessoas que são cegas, têm baixa visão ou dificuldades de aprendizagem, como a dislexia, as quais podem ficar impedidas de realizar importantes tarefas na Web.

Uma vez que a maioria das técnicas são visuais e as imagens não podem conter texto alternativo, para não serem identificadas pelos spammers, os CAPTCHAS são inacessíveis para pessoas com deficiência visual.

Webvisum

Para ajudar a eliminar as barreiras de acessibilidade dos CAPTCHAS, especialmente para as pessoas com deficiência visual, um grupo de desenvolvedores criou o Webvisum, complemento para o navegador Firefox. Esse programinha resolve grande parte das técnicas de CAPTCHA utilizadas pelo mercado; sem ele, muitas pessoas não conseguiriam publicar suas opiniões, criar cadastros, solicitações, logins, etc., sem a ajuda direta de terceiros.

Para impedir que pessoas mal-intencionadas usem o algoritmo do Webvisum para fins duvidosos, só um grupo restrito tem acesso ao complemento, que necessita de convite e aprovação prévia, além do limite de vezes que pode ser utilizado por dia. Mas, se já existe um software tão eficiente, o que impede que programadores mal-intencionados desenvolvam um programa semelhante?

Alternativa sonora

Vimos que, por questões de segurança, as imagens dos caracteres não podem possuir descrição. Para atender as pessoas que têm dificuldades com essa técnica totalmente visual, algumas soluções utilizam uma alternativa em áudio. Dentre estas, uma das mais usadas é o reCAPTCHA (figura 3).

Figura 3: Imagem do reCAPTCHA. Na parte superior, as duas palavras distorcidas em inglês. Em baixo, à esquerda, o campo de formulário para o usuário digitar as duas palavras e, à direita, três links.

Nota: Na pesquisa da Universidade de Stanford, o reCAPTCHA foi uma das duas técnicas, dentre as 15 testadas, que não foi quebrada pelo Decaptcha. Entretanto, os textos apresentados nem sempre são inteligíveis para as pessoas. No exemplo da figura 3, alguém saberia dizer o que está escrito na segunda palavra?

A interface do reCAPTCHA possui três links, um para recarregar novos textos, um para tocar o áudio e outro com instruções.

Ao pressionar o link do áudio, em seu lugar surge o link dos textos. No local onde havia as duas palavras que deveriam ser digitadas no formulário, aparecem dois links: um para tocar novamente o áudio e outro para baixar o som em MP3, conforme a figura 4, a seguir:

Figura 4: Imagem do reCAPTCHA após pressionado o botão do áudio. Nessa versão, o usuário precisa digitar no campo do formulário o que ele ouvir no áudio.

Nota: Para se ter uma ideia da experiência das pessoas quando utilizam a opção em áudio, tente ouvir essa técnica no link: exemplo do áudio do reCAPTCHA (MP3 – 37Kb). Como na versão visual do teste, não consegui decifrar o conteúdo do áudio.

Para as pessoas que não têm fluência em inglês, técnicas como o reCAPTCHA podem ser ainda mais complicadas, tanto na versão original, quanto na em áudio. Além da língua inglesa e dos ruídos que são incluídos no áudio por questões de segurança, por vezes, ele ainda pode se sobrepor ao som do leitor de telas, software utilizado pelas pessoas com deficiência visual para interagirem com o computador.

Além da falta de acessibilidade, os testes que utilizam áudio podem não ser seguros, conforme apresentado no artigo ”The Failure of Noise-Based Non-Continuous Audio Captchas”. Nessa análise, pesquisadores das universidades de Stanford e Tulane, utilizando o software Decaptcha, relatam que conseguiram resolver 49% dos testes com sistema de áudio da Microsoft e 45% do Yahoo. Descrevem ainda que, em muitos casos, o software conseguiu uma precisão maior do que os seres humanos.

Atendimento/comunicação

Outra alternativa é a criação de uma linha de atendimento telefônico via 0800 ou chat online, para atender clientes/usuários que estejam enfrentando problemas. Em alguns casos, o sistema poderá até solicitar um número de telefone celular para enviar o código via SMS. Mas essas soluções são caras e podem ser inviáveis para sites com grande demanda.

Alguns caminhos

Questões lógicas:

Um método para evitar o uso de imagens ou áudios inacessíveis é a utilização de uma pergunta baseada numa lógica simples, conforme os exemplos:

  • “Ontem foi sexta-feira, que dia é hoje?”
  • “Qual é a terceira letra da palavra ‘Cavalo’?”
  • “Treze menos 2 é ímpar ou par?”

Entretanto, essa técnica pode apresentar alguns problemas:

  • Segundo o IBGE, 20% dos brasileiros são analfabetos funcionais, ou seja, sabem ler e escrever, mas não conseguem interpretar um texto corretamente. Esse público poderá ter dificuldades com as questões lógicas.
  • Pessoas com deficiência cognitiva também podem apresentar dificuldades para resolverem esse tipo de perguntas.
  • Para que essa técnica seja mais segura, será necessário um grande banco de perguntas.

Um projeto que utiliza questões lógicas é o TextCAPTCHA – ”Text CAPTCHA Logic Questions”, que apresenta um banco com mais de 100 milhões de perguntas semelhantes as mostradas aqui, mas todas em inglês. O textCAPTCHA disponibiliza uma API que pode ser utilizada livremente após um breve cadastro e já apresenta implementações para WordPress, Ruby on Rails e Drupal.

O uso de perguntas, mesmo que bem simples e com pequeno número de alternativas, pode ser o suficiente para impedir 99% dos spams, ser acessível e ainda atender a maioria dos sites e blogs existentes. Exatamente como o CAPTCHA utilizado pelo Instituto Faber Ludens (figura 5). Os outros 1% dos spams dedicam seus esforços ao desenvolvimento de programas específicos para ataques a sites estratégicos para política, economia, etc. Sites dentro desses perfis críticos, certamente precisam de maior segurança.

Figura 5: Imagem do CAPTCHA utilizado pelo Instituto Faber Ludens. Para passar pelo teste, as pessoas precisam preencher um campo de formulário com o complemento do slogan do Instituto. A pergunta é: “Complete a frase, de acordo com nosso slogan. ‘Nada substitui o ser…’”. A resposta correta seria “humano”.

Moderação

Para sites e blogs com um tráfego relativamente leve, outra alternativa é aprovar manualmente o acesso ou comentários. Em muitos casos, quando os invasores percebem esse processo, acabam sumindo aos poucos.

Obviamente, essa saída é inviável em sites com grande acesso e ainda pode gerar um desconforto aos usuários, quando a moderação é demorada.

Outros

Existem outras alternativas, como implementar filtros que detectam mensagens do tipo spam através da análise de linguagem natural, incluir campos escondidos ou que são renderizados na tela em ordem randômica, entre outros. Mas estes recursos, ou não resolvem totalmente o problema da segurança, ou são caros, ou utilizam tecnologias que ainda não atingiram a maturidade.

Outras estratégias aos testes visuais podem ser acessados no documento do W3C: “Inaccessibility of CAPTCHA”, que examina soluções que permitem que os sistemas de testes utilizados para detectar usuários humanos, possam ser acessados por pessoas com deficiência.

Conclusão

Todos os ambientes digitais precisam ser protegidos contra invasores, mas não contra seus próprios usuários/clientes. Estes são, em última instância, o objetivo e a razão da existência dos sites e sistemas e não deveriam jamais serem impedidos, prejudicados ou irritados, quando precisam fazer uma solicitação, um cadastro, uma compra, ou acessar um determinado serviço, independentemente de suas experiências, capacidades, tecnologias ou deficiências.

No atual cenário da Web, o CAPTCHA é um vilão, tanto para os responsáveis pelos sites que os implementam e ficam com a falsa sensação de que estão protegidos, quanto para seus usuários, que, como no enigma da esfinge da mitologia grega, são frequentemente submetidos à situação de “decifra-me ou devoro-te”.