Esquerda - Conteúdo.

Captcha Inacessível.

Inaccessibility of CAPTCHA Site Externo.
Tradução: Maurício Samy Silva. Site Externo.
Em: 06 de dezembro de 2005.

Sumário.

Um método bastante comum de limitar o acesso a serviços disponíveis na Web consiste em se proceder a uma prévia verificação visual com uso de uma imagem. Isto constitui-se em um problema para usuários portadores de deficiências visuais ou deficiências de aprendizado, como por exemplo dislexia. Este documento examina uma série de potenciais soluções que permitam manter as funcionalidades do teste para usuários sem problemas e ao mesmo garantir acessibilidade a usuários portadores de necessidades especiais.

As publicações de Notas de Grupo de Trabalho não são implicitamente endossadas pelos membros do W3C. Este é um rascunho de documento e pode ser atualizado, substituído ou tornado obsoleto por outros documentos a qualquer tempo.

Índice.

  1. O problema.
    1. Um falso sentido de segurança.
  2. Hierarquia de necessidades.
    1. Privilégios.
    2. Para humanos.
    3. Identidade.
  3. Soluções possíveis.
    1. Jogos de lógica.
    2. Saídas sonoras.
    3. Contas de uso limitado.
    4. Verificações não interativas.
      1. Filtros de spam.
      2. Verificações heurísticas.
    5. Sistemas identificadores federais.
      1. Entradas simples.
      2. Soluções baseadas em chaves públicas.
      3. Biometria.
    6. Outras possibilidades.
  4. Conclusão.
  5. Agradecimentos.
  6. Referências.

O problema.

Web sites com recursos que se constituem em atrativo para agregadores (sites de viagens, de venda de ticktes, etc.) ou de outras formas de automação (e-mail via Web, weblogs e interfaces de envio de mensagens) têm tomado precauções com a finalidade de oferecer seus serviços a usuários individuais sem o risco de ter seu conteúdo coletado e explorado por robots na Web.

A solução mais popular adotada hoje em dia é o uso de representação gráfica de textos em áreas de registros ou de comentários. O site tenta verificar se o usuário é realmente um humano submetendo-o a leitura de uma seqüência de caracteres distorcidos e apresentados por uma imagem tipo mapa de bits e então solicitá-lo a reproduzir aqueles caracteres em uma entrada de formulário.

Pesquisas realizadas pela Carnegie Mellon University são pioneiras neste método, ao qual eles denominaram de CAPTCHA (Completely Automated Public Turing test to Tell Computers and Humans Apart) Vários grupos estão envolvidos em projetos baseados neste projeto original ou similares a ele e para os propósitos deste documento o termo "CAPTCHA" é usado para fazer referência a todos estes projetos coletivamente. Um teste de Turing Site Externo., assim nomeado em homenagem ao famoso cientista da computação Alan Turing, é qualquer sistema de testes capaz de diferenciar um humano de um computador.

Este tipo de verificação visual e textual cobra um preço alto dos usuários portadores de deficiências visuais ou portadores de dislexia. Obviamente a imagem fornecida não tem um equivalente textual já que se assim fosse, haveria uma alternativa de acesso para sistemas automatizados. Em muitos casos tais implementações tornam impossível para determinados usuários criar contas, escrever comentários ou realizar compras nos sites, ou seja, CAPTCHAs não conseguem reconhecer pessoas com necessidades especiais como sendo humanos.

Um falso sentido de segurança.

Convém notar que tal como acontece com os sistemas de segurança que o precederam, este sistema também é vulnerável. Os spammers, por exemplo podem contratar um programador para agregar todas as imagens utilizadas e direcioná-las uma a uma a um operador humano que facilmente verificaria centenas delas por hora. A eficácia de um sistema baseado no visual é baixa e sua utilidade é nula desde que é possível quebrá-la por meios bastante simples.

O histórico do modo como CAPTCHA tem sido adotado ao longo destes anos é didático. Grandes sites adotaram CAPTCHA por serem vulneráveis a invasão de seus conteúdos por spammers ou para uso por veículos de atividades ilegais.

Em tempos atuais, contudo, tecnologias baseadas em inacessibilidade tais como CAPTCHA tem sido usadas por sites menores e por aplicações que confundem as tecnologias assistivas. Sites de bancos ING Direct's "PIN Guard" se utilizam de um teclado virtual para entrada de uma senha pelo usuário. Usuários impossibilitados de ver o teclado ou ter acesso ao código não poderão acessar seus dados financeiros.

CAPTCHA atualmente tem sido freqüentemente usado em áreas de textos destinadas a comentários e em weblogs pessoais. Muitos bloggers alardeiam que CAPTCHA é um sucesso na erradicação de spam, mais apesar da popularidade e aceitação deste sistema, um outro método de controle de spam em comentários deveria ser usado por razões de acessibilidade por usuários com necessidades especiais.

Argumentações variadas a respeito deste falso senso de segurança tem surgido desde que este documento foi pela primeira vez publicado. Um grupo do projeto CAPTCHA na Carnegie Mellon University, onde esta técnica foi desenvolvida, tem a missão de tentar quebrar novas CAPTCHAs tão logo sejam criadas. Um dos primeiros ataques que foi devidamente documentado deveu-se a um estudante do Carnegie Mellon que fez uma associação de imagens CAPTCHA para acessar o conteúdo de um Web site para adultos, quebrando a necessidade de um humano para proceder a autenticação. Conteúdos Web de valor são sempre um alvo para ataques desta natureza, onde o trabalho humano pode ser contratado a custos baixos com a finalidade de testar centenas, senão milhares, de possibilidades por hora.

Projetos externos tais como [ BREAKING, AICAPTCHA e PWNTCHA ] têm demonstrado que a maioria destes sistemas que se utilizam de reconhecimento ótico de caracteres podem ser quebrados por computadores, em uma faixa de êxito entre 88% e 100%. BREAKINGOCR Delineia-se uma derrota de CAPTCHA para um sistema baseado em PHP e ASP no qual seções IDs válidas em cache são reutilizadas para quebrar vários esquemas populares de CAPTCHA. O ataque conhecido como "Screen Scraper" relatado pelo Grupo de trabalho Anti-Phishing violou [ PINGUARD ] a técnica fazendo uma captura de tela quando o usuário clicou para entrar seu código secreto.

Uma fantasia acreditar que CAPTCHA é a panacéia final para spam. Até mesmo para uma faixa de êxito de 10% o que é uma taxa bem baixa para computadores. ilógico acreditar que a ampla adoção de CAPTCHA em sites tornou-se uma evidência de sua supremacia na luta contra spam. A verdade é que existem várias técnicas tão efetivas quanto CAPTCHA, que não dependem de interação com humanos e que não implicam em problemas de usabilidade e acessibilidade.

Hierarquia de necessidades.

Sites que implementam verificações de usuários tem suas necessidades específicas que devem ser hierarquizadas. A decisão pelo uso de uma barra identificadora acarreta o risco de marginalizar muitos usuários e ter que arcar com o ônus de todas as conseqüências que isto acarreta.

Privilégios.

A maioria dos sistemas implementam segurança de uma determinada forma com a finalidade de preservar privilégios a determinados usuários. Um esquema de autenticação a áreas privilegiadas sem necessidade de fornecer informações pessoais tem sido o esquema adotado senão por todos pelo menos pelos mais seguros sites da Web. Pode-se abrir contas, serviços de e-mails , acessar portais, jornais e interfaces de mensagens sem ter que fornecer dados pessoais tais como senhas, número da carteira de motorista ou qualquer tipo de número. Em tais situações a prioridade um deve ser a de direcionar o usuário para a área a qual ele quer ir; a segurança em si não deve ser prioritária até chegar-se ao ponto em que tenha que ser fornecido um dado passível de ser invadido, tal como o número de um cartão de crédito.

Para humanos.

Sites que oferecem privilégios atraentes são frequentemente invadidos, principalmente quando a invasão pode ser feita de forma anônima. A possibilidade de se poder criar diversas contas para múltiplos usuários é a principal razão para se adotar os testes de Turing. sabido que a capacidade humana de interagir com um site na tarefa de quebrar esquemas para acesso a privilégios é muito aquém das máquinas . Sites buscam a permitir acesso aos humanos credenciados e ao mesmo tempo bloquear acesso aos robôs às suas áreas de privilégios.

Identidade.

Ser humano é a única e inquestionável identidade humana. A identidade de uma pessoa (detalhes como nacionalidade, propriedades ou mesmo dados pessoais) precisa ser submetida e expedida por vias legais que garantam a veracidade dos dados e assim possibilitar acesso a transações financeiras a seguros de saúde, a aspectos legais e a votação em processos eleitorais. Tudo isso tem se tornado disponível na Web de forma crescente, como é o caso de votações online em processos eleitorais como na Suécia, Suíça, França, Inglaterra, Estônia e Estados Unidos.

É importante procurar soluções que sejam capazes de selecionar uma identidade única no usuário e, ao mesmo tempo, avalie as necessidades dos potenciais usuários do sistema.

Soluções possíveis.

Existem várias técnicas capazes de desencorajar ou mesmo eliminar a possibilidade da criação de várias contas ou uso fraudulento. Muitas destas técnicas podem ser mais efetivas do que técnicas baseadas em verificações visuais e com a vantagem de serem acessíveis. Outras podem constituir-se em uma opção para cumprir itens de acessibilidade. A seguir estão relacionadas sete destas técnicas com seus prós e contras. Muitas delas estão disponíveis desde já e outras para o futuro.

Jogos de lógica.

O objetivo de uma verificação visual é o de separar homem e máquina. Uma maneira razoável de verificação consiste em testes de lógica. Charadas e enigmas matemáticos simples podem barrar acesso para robôs pelo menos nos casos em que o uso de tal alternativa torne-se atrativa ao usuário.
Problemas: Usuários portadores de disfunções na área cognitiva podem encontrar dificuldades com tais testes. As respostas devem admitir flexibilidade quando não dependem de uma escolha explícita. Um sistema deve manter uma grande quantidade de questões ou variar de forma programada de modo a evitar que robôs consigam capturar todas as perguntas e respostas.

Saídas sonoras.

Recapitulando o problema: texto é fácil de manipular o que os torna apropriado para tecnologias assistivas, mas em contra partida são uma facilidade para robôs. Assim, um caminho intuitivo para a solução do problema consiste em oferecer um método não textual usando o mesmo conteúdo. Os serviços do Hotmail usam um arquivo sonoro sempre que uma verificação visual requerida não for apropriada a um usuário específico

Contudo, um artigo da C net NEWSCOM, relata que a saída de som da Hotmail's, que é distorcida propositadamente para evitar invasão, mostrou-se ininteligível nos quatro testes a que foi submetido embora os testes tenham uma "boa capacidade de audição". Usuários surdos não têm ou não utilizam placas de som, trabalham em ambientes barulhentos, ou não precisam de plugins sonoros. Assim, sendo a entrada de textos obrigatória, o CAPTCHA tradicional tem de existir simultaneamente e o sonoro como opcional.

Para piorar as coisas algumas destas implementações usam JavaSript ou são projetadas de uma maneira que usuários cegos fiquem totalmente impedidos de acessar. Por outro lado, o acesso por máquinas a sistemas baseados em reconhecimento de voz é muito mais fácil do que o acesso por reconhecimento ótico de caracteres ou a visual CAPTCHAs.

Contas de uso limitado.

Usuários de contas gratuitas raramente precisam acessar todos os serviços do site de imediato. Por exemplo, usuários que estão a procura de entradas para um teatro precisarão no máximo de três procuras, usuários que mudam seu endereço de e-mail precisarão enviar uma notificação circular da mudança aos seus amigos e preencher alguns outros poucos campos de um simples formulário gratuito. Os sites devem criar normas que limitem a freqüência de interações (isto é, desabilitar uma conta pelo resto do dia) ou adotar medidas restritivas implícitas (aumentar gradativamente os tempos de resposta às solicitações das contas). Criar limites para novos usuários pode ser uma maneira efetiva de desestimular acesso por robôs.

Os inconvenientes desta alternativa incluem a necessidade de realização de testes de ensaio e erro para determinar a técnica adequada a empregar. Isto requer análise das estatísticas do site com relação aos usuários normais e especiais e a determinação da existência ou não de uma clara linha de separação entre eles.

Verificações não interativas.

Enquanto CAPTCHA e outras alternativas interativas para controle de spam são algumas vezes efetivas, elas tornam mais complexo o uso do site. Isto na maioria dos casos não seria necessário uma vez que existem vários mecanismos não interativos capazes de fazer verificações de conteúdos inválidos e de spam.

Nesta categoria incluiem-se duas alternativas bem populares: filtragem de spam no qual uma ferramenta automática avalia o conteúdo de uma transação e verificações heurísticas, na qual procede-se uma avaliação do comportamento do cliente.

Filtros de spam

São bastante populares e efetivas as aplicações que utilizam "palavras chave" para identificar spam, conhecidas como filtragem Bayesian para identificar blocos de conteúdo típicos de spam. Estes sistemas por vezes falham na identificação de spam, por admitirem uma sintonia fina ao longo do tempo tendem a tornar-se cada vez mais eficientes e melhores do que a alternativa CAPTCHA, retirando do usuário exigências na área cognitiva.

A maioria dos softwares para blogs incorpora filtragem de spam ou admite a instalação de um plugin para filtragem. Muitos destes filtros são capazes de apagar automaticamente mensagens consideradas spam ou ainda, marcar tais mensagens para remoção manual. Sistemas mais avançados são capazes de controlar ataques baseados na freqüência de chegada, filtrar conteúdo usando protocolo TRACKBACK, e banir usuários temporária ou permanentemente baseado na faixa de endereço de IP.

Verificações heurísticas.

Heurística é o processo de comparar resultado de avaliações com resultados esperados. É possível detetar a presença de um robô, baseado no volume de requisições de dados do usuário, na série determinada de páginas visitadas, no endereço IP, no método usado para entrada de dados, ou em outros dados coletados.

Este processo também requer uma análise dos tipos de dados do site. Se não for possível determinar padrões claros dos resultados esperados para comparação, esta não será uma boa solução.

Outra alternativa heurística relatada em KILLBOTS envolve o uso de imagens CAPTCHA com uma variante: a análise não só do acerto na solução do problema como também da maneira como o usuário resolve o problema. Este sistema que foi projetado para repelir ataques tipo Distributed Denial of Service (DDoS), impede acesso quando são realizadas repetidas tentativas de entrada que são interpretadas como presença de máquinas e ao mesmo tempo admite algumas repetições interpretadas como erro humano. Quando as solicitações ao servidor atingem um determinado nível, o processo de autenticação é inteiramente removido.

Sistemas identificadores federais

A Microsoft e a Liberty Alliance têm se empenhado em encontrar um sistema de "identificação em rede federada" que permita ao usuário criar uma conta, configurar suas preferências, dados para pagamentos, etc., e ter estes dados todos disponíveis para uma rede de sites que se utilizam do sistema. Este sistema que já vem sendo implantado tanto em sites como em serviços web, permitirá uma forma universal de identificação em toda a Web.

Entradas simples - Senhas.

Ironicamente, o sistema de identificação por senha é um que se assemelha às técnicas de verificação visual. Este tipo de identificação está entre um dos mais acessíveis na Web para permitir acesso a pessoas portadoras de necessidades especiais. Adicionalmente, a adoção desta solução passa por "ubiquitous computing"
(Ver www.imoveisvirtuais.com.br/ubiquitous.htm Site Externo. para resolver de uma vez por todas o problema).

Soluções baseadas em chaves públicas.

Outra alternativa é o uso de certificação individual para identificação. O certificado pode ser emitido de modo a que o sistema se assegure, por exemplo, de que "uma pessoa, um voto" com o certificado emitido pessoalmente e habilitando usuários certificados a desenvolver redes confiáveis e seguras ou ainda que a certificação seja concedida por autoridades altamente credenciadas, tais como órgãos governamentais. Estes tipos de sistma têm sido implementados por sites seguros e pra autenticações de e-mails.

O custo da emissão de certificados fraudulentos deve ser bem alto com o objetivo de inviabilizar sua produção. Os sites terão a necessidade de se utilizar de mecanismos que estejam implementados nos agentes de usuário.

Um subconjunto de métodos derivados deste conceito abrange os sistemas em que as pessoas portadoras de necessidades especiais devam comunicar ao site suas necessidades. O estigma da necessidade de ter que informar deficiências para então receber um conteúdo diferenciado deve ser evitado. Em função disto restam raros casos nos quais os usuários devem querer informar ao site suas necessidades especiais: sites tais como Bookshare requerem conhecer a deficiência visual do usuário com a finalidade de prover acesso ao material em áudio ou Braille. Uma provisão americana de copyright denominada Chafee Amendment com material sob direito autoral para reprodução em formato acessível somente a pessoas com deficiência visual. Um sistema de infra-estrutura de chave pública garante aos mantenedores do Bookshare's conformidade do site com direitos autorais.

Biometria.

Já se visualiza no horizonte futuro um método de verificação de usuário baseado em tecnologia biométrica. Testes baseados em identificação dactiloscópica e de retina permitirão um reconhecimento inequívoco de uma pessoa, limitando efetivamente o acesso aos spammers. A Microsoft anunciou um novo sistema baseado em biometria para seu sistema operacional Longhorn. A Biometria será usada em conjunto com outras técnicas simples de acesso a serviços on-line.

Novamente, aqui o ponto crítico é a infra-estrutura. Decorrerá um longo período de tempo até que hardwares baseados em biometria sejam lançados no mercado e ainda deverão ser resolvidas algumas pendências e questões nos campos político e social. Sistemas baseados em biometria deverão ainda levar em conta que nem todos os usuários são portadores das mesmas funcionalidades físicas: por exemplo, um scanner de retina não funciona para uma pessoa que nasceu sem os olhos.

Outras possibilidades.

Uma alternativa que se tornou bastante popular é a identificação do usuário com uso dos seus próprios dados de identidade, tais como números de cartão de crédito ou IDs usadas por órgãos oficiais como por exemplo o número de inscrição no serviço de Seguro Social existente nos Estados Unidos. Se por um lado tais sistemas se constituem em um mecanismo simples e de baixo custo, sua implementação é desencorajada por razões de segurança. Além disso, os sistemas que coletam dados de uma grande quantidade de usuários baseados nesta alternativa são um atrativo interessante para invasão.

Recentemente o Google enviou as chaves de criação de contas para seus novos usuários via uma mensagem pelo serviço (SMS). Este processo introduz novos complicadores tal como a reduzida penetração dos dispositivos móveis pelo mundo todo, cria barreiras para usuários cegos na utilização das funcionalidades de mensagem SMS e limita a extensão dos abusos potenciais a que estão sujeitos os grande sistemas. Não é possível, por exemplo, que alguém se utilize de milhares de telefones por dia para conseguir chaves de acesso que seriam utilizadas posteriormente em novos telefones que tenham o fornecimento da chave negada pelo serviço.

Para piorar as coisas, o serviço do Google utiliza ainda CAPTCHA como um complemento as medidas de segurança. Incluímos esta técnica com o objetivo de motivar a descoberta de soluções inovadoras que se baseiem em aspectos da arquitetura, envolvam custos reais e de um grande impacto na criação de barreiras para a violação de conteúdos da Web.

Conclusão.

Sites que oferecem conteúdos atraentes a ataques e com milhões de usuários os acessando, têm necessidade de implementar sistemas de controle de acesso para evitar abusos. Nestes casos é razoável que empreguem alternativas concorrentes, inclusive CAPTCHA visual e sonora. Contudo convém notar que usuários humanos serão capazes de descobrir brechas nestes sistemas e também que é preciso garantir acesso a pessoas com necessidades especiais via interação com humanos e com dispêndio de tempo numa escala razoável.

Por outro lado, o uso de CAPTCHA em sites com pequeno volume de tráfego ou de conteúdo atrativo a ataque, constitui uma preocupação desnecessária e uma barreira para acesso a pessoas com necessidades especiais. Um mecanismo de acesso explicitamente inacessível não é necessariamente a solução definitiva, especialmente quando existirem outras alternativas que, além de acessíveis, forem também mais efetivas.

É fortemente recomendado que pequenos sites adotem a solução de filtragem de spam e/ou verificações heurísticas no lugar de CAPTCHA.

Finalmente, novas alternativas focadas no uso exclusivo de verificações visuais ou sonoras para controle de acesso, tais como "PIN Guard" já mencionada, devem ser revistos até que exista um método confiável e que não exclua da autenticação o próprio usuário. Resumindo, a segurança não deve servir de argumentação para negar acesso a uma pessoa aos seus próprios dados financeiros.

Agradecimentos.

Obrigado pela contribuição: Kentarou Fukuda, Marc-Antoine Garrigue, Al Gilman, Charles McCathieNevile, David Pawson, David Poehlman, Janina Sajka e Jason White.

Esta publicação tem sido financiada em parte com recursos Federais do Departamento de Educação dos EUA sobre contrato número ED05CO0039. O conteúdo deste documento não expressa necessariamente a opinião ou política do Departamento de Educação dos EUA bem como o Governo dos EUA não endossa implicitamente qualquer produto, marca comercial ou organização aqui citadas.

Referências.

[AICAPTCHA]
aiCaptcha: Using AI to beat CAPTCHA and post comment spam, Casey Chesnut. The site is online at http://www.brains-n-brawn.com/default.aspx?vDir=aicaptcha
[ANTIPHISHING]
Phishing Activity Trends Report July, 2005, Anti-Phishing Working Group.   Available online at http://antiphishing.org/APWG_Phishing_Activity_Report_Jul_05.pdf
[ANTIROBOT]
Inaccessibility of Visually-Oriented Anti-Robot Tests, Matt May. The site is online at http://www.w3.org/TR/turingtest
[BOOKSHARE]
Bookshare.org home page. The site is online at http://www.bookshare.org
[BREAKING]
Breaking CAPTCHAs Without Using OCR, Howard Yeend. The site is online at http://www.cs.berkeley.edu/~mori/gimpy/gimpy.html
[BREAKINGOCR]
Breaking CAPTCHAs Without Using OCR, Howard Yeend. The site is online at http://www.puremango.co.uk/cm_breaking_captcha_115.php
[CAPTCHA]
The CAPTCHA Project, Carnegie Mellon University. The project is online at http://www.captcha.net
[CHAFEE]
17 USC 121, Limitations on exclusive rights: reproduction for blind or other people with disabilities (also known as the Chafee Amendment): This amendment is online at http://www.loc.gov/copyright/title17/92chap1.html
[KILLBOTS]
Botz-4-Sale: Surviving DDos Attacks that Mimic Flash Crowds, Srikanth Kandula, Dina Katabi, Matthias Jacob, and Arthur Burger, Usenix NSDI 2005. Best Student Paper Award. This paper is online at http://www.usenix.org/events/nsdi05/tech/kandula/kandula_html/ or http://nms.lcs.mit.edu/%7Ekandula/data/killbots.ps
[NEWSCOM]
Spam-bot tests flunk the blind, Paul Festa. News.com, 2 July 2003. This article is online at http://news.com.com/2100-1032-1022814.html
[PINGUARD]
PIN Guard, ING Direct site. This site is online at https://secure1.ingdirect.com/tpw/popup_whatIsThis.html
[PWNTCHA]
PWNtcha - CAPTCHA decoder, Sam Hocevar. The site is online at http://sam.zoy.org/pwntcha/
[TRACKBACK]
Trackback, Wikipedia. The site is online at http://en.wikipedia.org/wiki/Trackback
[TURING]
The Turing Test, The Alan Turing Internet Scrapbook, 2002. The document is online at http://www.turing.org.uk/turing/scrapbook/test.html

Copyright.

© Copyright ® 2005W3C« (MIT, ERCIM, Keio), Todos os direitos reservados. São aplicáveis as disposições do W3C relativas a responsabilidade, marcas e uso de documentos.

Disponibilizado em: 04/04/2008.