O CAPTCHA é uma família de testes de Turing que diferencia automaticamente um usuário humano de um computador . Este teste de desafio-resposta é usado na computação para verificar se o usuário não é um robô .
A verificação geralmente usa a imagem humana ou capacidade de análise de som . Um CAPTCHA usual, portanto, requer que o usuário digite no teclado uma sequência curta improvável de meia dúzia de letras e / ou números visíveis em uma imagem distorcida (ver ilustração) que aparece na tela . Alguns sites preferem exibir uma imagem que contenha uma questão de matemática.
Ao contrário dos testes padrões de Turing feitos por humanos, um CAPTCHA é gerado e interpretado por um computador e, portanto, é frequentemente descrito como um teste de Turing reverso (in) . Este termo é, no entanto, ambíguo, na medida em que também qualifica, em outro contexto, os participantes humanos que tentam se fazer passar por computadores.
Soluções alternativas para o sistema, em particular por meio de programas de reconhecimento óptico de caracteres (OCR), têm aparecido gradualmente. A sua falibilidade, bem como o obstáculo que representam, em particular para os deficientes visuais , conduziram a alterações nos CAPTCHAs que já não requerem reconhecimento apenas pela leitura.
CAPTCHA é uma marca registrada da Carnegie-Mellon University .
Desde o início da Internet , os usuários queriam produzir textos que os computadores não pudessem decifrar. Os primeiros eram hackers , que postavam sobre tópicos delicados em fóruns online , monitorados automaticamente por meio de palavras-chave . Para contornar esses filtros, eles começaram a substituir palavras por caracteres visualmente semelhantes. Por exemplo, HELLO poderia ser substituído por | - | 3 | _ | _ () ou) - (3 £ £ 0, bem como uma infinidade de variantes numéricas. Assim, os filtros de palavras-chave foram enganados. Mais tarde ficou conhecido como "13375p34k" ( leetspeak ).
O primeiro pensamento sobre a criação de testes automáticos que pudessem discriminar humanos de computadores com a finalidade de controlar o acesso a serviços da web apareceu em um manuscrito de 1996 por Moni Naor do Instituto Weizmann de Ciência , intitulado Verificação de um humano no circuito, ou Identificação por o Teste de Turing . CAPTCHAs primitivos parecem ter sido desenvolvidos mais tarde, em 1997 no AltaVista, por Andrei Broder e colegas, em uma tentativa de impedir que bots adicionem sites ao seu mecanismo de pesquisa .
Ao pesquisar uma maneira de tornar suas imagens resistentes a ataques de softwares de reconhecimento de caracteres , a equipe optou por uma visão oposta do manual do scanner da marca Brother , que deu recomendações para melhorar o desempenho de reconhecimento de caracteres (tipos semelhantes de escrita, fundo homogêneo, etc. ) Portanto, a equipe projetou quebra-cabeças tentando simular o que poderia causar um reconhecimento automático de caracteres deficiente. Em 2000 , von Ahn e Blum desenvolveram e publicaram o conceito de CAPTCHA, que inclui qualquer programa capaz de diferenciar um ser humano de um computador. Eles inventaram muitos exemplos, o primeiro dos quais foi amplamente usado (pelo Yahoo! em particular).
Uma competição então começou entre o aprimoramento dos leitores de robôs do CAPTCHA e o embaralhamento do CAPTCHA. Assim, surgiram cada vez mais personagens deformados, uso de cores e CAPTCHAs animados (cujos personagens se deformam com o tempo).
No entanto, esses métodos colocam problemas de acessibilidade para pessoas com deficiência visual. Para remediar este problema, alguns sistemas oferecem uma escolha entre a identificação gráfica e sonora.
Para contornar os CAPTCHAs, algumas empresas contratam humanos para decodificar os testes. Outros referem-se ao software CAPTCHA que permite o acesso a tais imagens pornográficas , anulando assim os custos da mão de obra e permitindo que os robôs, graças a estas respostas, enviem spam a alguns novos.
Na década de 2010 , surgiram novas formas de CAPTCHA, como quebra-cabeças (imagens recortadas para serem montadas na ordem correta). Eles são, por exemplo, usados no sistema de verificação WeChat . Plug-ins de diferentes tipos de quebra-cabeças estão disponíveis para sistemas de gerenciamento de conteúdo como Captcha-garb para Wordpress .
"CAPTCHA" é um Backronym : a palavra é pronunciada como captura ( [ k æ p tʃ ɚ ] ) no inglês americano e deve ser composta pelas iniciais do teste de Turing público completamente automatizado para distinguir computadores e humanos separados , ou francês " Teste de Turing público totalmente automático para diferenciar humanos de computadores. " Este termo, que é uma marca registrada da Carnegie Mellon University , foi inventado em 2000 por Luis von Ahn , Manuel Blum e Nicholas J. Hopper, desta universidade, e John Langford, da IBM . O nome "captcha" também pode ser interpretado como personagem de captura .
CAPTCHA designa não apenas uma caixa de diálogo , mas também toda a geração de imagem e protocolo de roteamento de rede associado à resolução do teste de Turing . Os CAPTCHAs são totalmente automatizados, exigindo apenas alguns segundos do tempo do usuário . O objetivo é diminuir o custo associado à detecção manual da identidade dos usuários e aumentar o desempenho , ou seja, o número de formulários enviados por humanos reais processados pelo site por unidade de tempo.
O algoritmo usado para criar um CAPTCHA é frequentemente público, embora possa ser patenteado como é o caso, por exemplo, do reCAPTCHA . Pretende-se demonstrar que quebrar este tipo de teste requer resolver um problema difícil apelando para noções de inteligência artificial , ao invés de descobrir os segredos do algoritmo, que poderiam ser obtidos por descompilação ou de outra forma.
CAPTCHA mais comumente se refere à caixa de diálogo localizada antes de enviar um formulário , na maioria das vezes composta por:
e com menos frequência de:
Imagem de texto distorcida provavelmente muito fácil de ler para os robôs de hoje.
Mesmo antes de enviar o formulário para o site, a solicitação é rejeitada se o CAPTCHA não for inserido corretamente, o que evita que os servidores de hospedagem sejam vítimas de um ataque de inundação de solicitações, como DoS .
Este procedimento visual ficou obsoleto, em 2017, quando o Google introduziu um Captcha usando apenas uma caixa de seleção simples . Seu funcionamento é mais complexo do que os testes executados a partir dos arquivos mencionados. O algoritmo é mantido mais ou menos secreto, mas o Google explica que analisa todo o comportamento do usuário antes do clique . Presumivelmente, isso inclui em particular técnicas de rastreamento do mouse .
A próxima geração do CAPTCHA não deve mais exigir a participação humana, que analisaria diretamente o comportamento do usuário na página visitada.
CAPTCHA é usado na Internet para proteger formulários contra envios automatizados e repetidos por bots mal-intencionados . Eles são usados :
A complexidade de certos tipos de CAPTCHA penaliza os internautas, que são obrigados a tentar várias vezes as combinações possíveis. Na verdade, alguns CAPTCHAs são tão distorcidos que mesmo os usuários da Internet não conseguem reconhecê-los.
Além disso, sua eficácia é contestada e os CAPTCHAs podem ser reconhecidos em segundos por algoritmos.
Os testes CAPTCHA baseados na leitura de texto - ou qualquer outra tarefa de percepção visual - impossibilitam o acesso de pessoas com deficiência visual ( cegas ou com dificuldade de perceber as cores ) a recursos protegidos . Ferramentas de ajuda comuns, como leitores de tela , não podem interpretá-los. Soluções alternativas às vezes são fornecidas por sites :
Esses procedimentos ainda excluem pessoas com visual e auditiva . O uso de um CAPTCHA, portanto, impede que várias pessoas usem todos os serviços baseados na Internet , como PayPal , Gmail , Orkut , Yahoo! , bem como vários fóruns e blogs .
Legalmente, em algumas jurisdições, os proprietários de sites podem se tornar alvo de litígio se usarem CAPTCHAs que discriminam pessoas com certas deficiências .
Várias abordagens permitem que você derrote CAPTCHAs:
É possível passar em um teste CAPTCHA usando operadores humanos contratados para decodificá-los. Uma publicação do W3C indica que tal operador "poderia facilmente verificar centenas de CAPTCHAs por hora". Empresas indianas de serviços de crowdsourcing se especializam neste negócio. Alguns remetentes de spam conseguiram contornar a dificuldade criando sites que solicitam que o usuário passe no teste CAPTCHA de acesso, teste esse que é feito por outro site, como o do Yahoo, para validar a criação de um novo endereço de e-mail. O usuário do primeiro site contribui assim, sem seu conhecimento, para os atos maliciosos deste último. Existe uma contramedida: adicionar, no CAPTCHA, uma expressão que identifique claramente seu emissor (como "yahoo.fr").
Alguns sistemas de proteção CAPTCHA mal projetados podem às vezes ser forçados sem o uso de software de reconhecimento de caracteres, reutilizando o ID de sessão de uma imagem CAPTCHA conhecida. Às vezes, se parte do software que gera o CAPTCHA estiver localizado no lado do cliente (a validação é feita em um servidor , mas o texto que o usuário deve inserir para fazer o login é gerado no lado do cliente), os usuários podem modificar o software. cliente para exibir texto CAPTCHA não deformado, por exemplo.
Embora os CAPTCHAs tenham sido originalmente projetados para combater o software de reconhecimento de caracteres padrão usado para digitalizar documentos, vários projetos de pesquisa provaram que é possível descriptografar um grande número de CAPTCHAs com programas especificamente adaptados a um tipo de CAPTCHA. Para CAPTCHAs com letras distorcidas, a abordagem adaptada geralmente consiste nas seguintes etapas:
O reCAPTCHA oferece uma abordagem semelhante no nível das palavras.
Os bots também podem ignorar captchas.
As seguintes pontuações foram obtidas por bots: 66,6% para reCAPTCHA, 64,4% para BotDetect, 57,4% para Yahoo e 57,1% para PayPal.
O reCAPTCHA oferece duas palavras, a primeira das quais é conhecida e funciona como CAPTCHA e a segunda é incerta ou mesmo desconhecida porque provém da digitalização de um livro. Isso permite contribuir (sem o conhecimento do usuário, por meio do trabalho do consumidor ) para a digitalização de textos mal digitalizados. Para funcionar e ser verdadeiramente seguro, tal gerador requer um sistema usado por uma base muito grande de diferentes usuários (vários milhões) e tais geradores só podem ser colocados em prática pelos maiores agregadores de conteúdo e sites da Internet.
O CAPTCHA oferece uma ou mais séries de números correspondentes a placas de trânsito, placas de rua, números de casas, a fim de ajudar a constituir um arquivo de endereços geolocalização a partir de fotografias fotográficas do terreno. A grande variedade de formatos e apresentação dos números, bem como as cores e texturas das letras e os fundos e materiais usados, muitas vezes tornam seu tratamento totalmente automático muito aleatório; o gerador CAPTCHA usa as respostas fornecidas para melhorar o reconhecimento efetivo de dígitos. Tal como acontece com o sistema reCAPTCHA, se CAPTCHAs forem usados como o método de autorização de acesso, este sistema normalmente fornece duas imagens para leitura, uma das quais tem uma resposta conhecida do servidor e a outra é imprecisa e ainda não foi confirmada (às suas ocultas) por um leitor humano.
Algumas empresas propõem o uso de CAPTCHA como veículo de propagação de publicidade. O CAPTCHA pode, assim, pedir ao usuário para visitar um site, assistir a um vídeo ou animação ou ouvir um trailer, para pesquisar lá e obter a resposta correta para retornar. Como bônus, o usuário pode obter uma remuneração ou outra vantagem (como uma redução no preço normalmente cobrado para obter o produto ou serviço protegido pelo CAPTCHA).
Alguns sites usam CAPTCHAs para verificar se o usuário leu, ouviu e entendeu uma mensagem específica antes de obter acesso a conteúdo ou serviço protegido ou pago. A mensagem é muitas vezes de natureza publicitária, mas também pode ser uma forma de o site proteger o conteúdo provar que o usuário memorizou a mensagem publicitária ou compreendeu uma cláusula legal ou contratual que ele se compromete a respeitar conscientemente. (Nesses casos, o CAPTCHA faz uma pergunta ou problema relacionado a essa mensagem ou cláusula, e o usuário deve citar a resposta correta para confirmar que a mensagem foi compreendida).