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.
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.
Esta seção descreve o status deste documento à época da sua publicação. Outros documentos podem anular e sobrescrever este documento (NT: Vale dizer: trata-se de um documento não estável como são as recomendações do W3C e no futuro poderá tornar-se obsoleto). uma listagem das atuais publicações do W3C bem como um relatório técnico pode ser encontrado no W3C technical reports index em https://www.w3.org/TR/.
Esta é uma Nota do Grupo de Trabalho do W3C produzida pelo WAI Protocols and Formats Working Group. A publicação desta Nota resultou de um consenso do Grupo de Trabalho.
A WAI Protocols and Formats Working Group reconhece que esta é uma área de tecnologia dinâmica. O Grupo espera continuar pesquisando CAPTCHA e tecnologias relacionadas. Espera-se feedback dos desenvolvedores e usuários destas tecnologias sobre como, onde e por quê do seu uso. Particularmente se você tem um histórico de sucesso na área de segurança e acessibilidade, compartilhe sua experiência. Por favor envie seus comentários para WAI XTech list. As menssages para esta lista são transcritas em um arquivo público.
A WAI Protocols and Formats Working Group faz parte do WAI Technical Activity.
Esta é uma versão atualizada de um documento anterior intitulado "Inaccessibility of Visually-Oriented Anti-Robot Tests: Problems and Alternatives".
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, substituido ou tornado obsoleto por outros documentos a qualquer tempo. É inapropriado fazer citações a este documento outras que não trabalho em andamento.
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 (email 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 sequê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) [CAPTCHA]. 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 [TURING], 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. Óbviamente 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.
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" [PINGUARD] 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 frequentemente usado em áreas de textos destinadas a comentários e em weblogs pessoais. Muitos bloggers alardeiam que CAPTCHA é um sucesso na eradicaçã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 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]
tem 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 [ANTIPHISHING] 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.
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 consequências que isto acarreta.
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 emails, 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étido .
Sistes 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.
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, Suiça, França, Inglaterra, Estonia e Estados Unidos.
É importante procurar soluções que capazes de selecionar uma identidade única no usuário e ao mesmo tempo avalie as necessidades dos potenciais usuários do sistema.
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.
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 flexíbilidade 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. Esta alternativa ainda assim está sujeita a violação por operadores humanos.
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 CNet [NEWSCOM], relata que a saida 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 tem ou não utilizam placas de som, trabalham em ambientes barulhentos, ou não precisam de plugins sonoros. Assim a entrada de textos obrigatórios torna-se um problema, quando não impossível. Para piorar mais 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.
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 email 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 frequência de interaraçõ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 desistimular 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.
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 inclui-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.
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 frequência de chegada, filtrar conteúdo usando protocolo [TRACKBACK]l, e banir usuários temporária ou permanentemente baseado na faixa de endereço de IP.
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 requisões de dados do usuário, uma série determinada de páginas visitadas, endereço IP, método usado para entrada de dados, ou 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.
Uma 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.
A Microsoft e a Liberty Alliance tem 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.
Ironicamente, o sistema de identificação por senha é um que se assemelha as 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" (NT: Ver https://www.imoveisvirtuais.com.br/ubiquitous.htm ) para resolver de uma vez por todas o problema.
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 atoridades altamente credenciadas tais como orgãos governamentais. Estes tipos de sistema tem sido implementados por sites seguros e pra autenticações de emails.
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 [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 [CHAFEE] prove material sob direito autoral para reprodução em formatos acessível somente a portadores de necessidades visuais especiais. Um sistema de infraestrutura de chave pública garante aos mantenedores do Bookshare's conformidade do site com direitos autorais.
Já visualiza-se 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 uma identificação inequívoca da identidade de uma pessoa, limitando efetivamente o acesso aos spammers. Microsoft anunciou um novo sistema baseado em biometria para seu sistema operacional Longhorn. Biometria será usada em conjunto com outras técnicas simples de acesso a serviços online.
Novamente, aqui o ponto crítico é a infraestrutura. 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ênciias 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.
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 orgã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. Incluimos 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.
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, constitue-se uma precupaçã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 adotam 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.
Obrigado pela contribuição: Kentarou Fukuda, Marc-Antoine Garrigue, Al Gilman, Charles McCathieNevile, David Pawson, David Poehlman, Janina Sajka, and 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.