CAPTCHA - CAPTCHA


Da Wikipédia, a enciclopédia livre

Este CAPTCHA (versão 1) de "smwm" obscurece a sua mensagem de interpretação computador torcendo as letras e acrescentando ligeira inclinação da cor de fundo.

Um CAPTCHA ( / k Æ p . ə / , um acrónimo para " C ompletely Um utomated P ÚBLICAS T teste urante para contar C omputers e H Umans Uma parte") é um tipo de desafio-resposta de ensaio utilizado na computação para determinar se ou não o usuário é humano.

O termo foi cunhado em 2003 por Luis von Ahn , Manuel Blum , Nicholas J. Hopper, e John Langford . O tipo mais comum de CAPTCHA (apresentado como Versão 1.0) foi inventado pela primeira vez em 1997 por dois grupos de trabalho em paralelo. O primeiro grupo era composto por Mark D. Lillibridge, Martin Abadi , Krishna Bharat , e Andrei Z. Broder ; o segundo grupo consistia de Erã Reshef, Gili Raanan e Eilon Solan. Esta forma de CAPTCHA requer que o usuário digitar as letras de uma imagem distorcida, às vezes com a adição de uma seqüência obscurecida das letras ou dígitos que aparece na tela. Uma vez que o teste é administrado por um computador, em contraste com o teste de Turing padrão que é administrada por um ser humano, um CAPTCHA é por vezes descrito como um teste de Turing inversa .

Este procedimento de identificação de usuário tem recebido muitas críticas, especialmente de pessoas com deficiência, mas também de outras pessoas que sentem que seu trabalho diário é retardado por palavras distorcidas que são difíceis de ler. Leva a pessoa média cerca de 10 segundos para resolver um CAPTCHA típico.

História

Desde os primeiros dias da Internet , os usuários têm queria para tornar o texto ilegível para computadores. Os primeiros tais pessoas poderiam ser hackers , postando sobre temas sensíveis para fóruns da Internet que eles pensavam estavam sendo monitorados automaticamente por palavras-chave. Para contornar esses filtros, eles iriam substituir uma palavra com personagens parecidos. OLÁ poderia tornar-se |-|3|_|_()ou )-(3££0, bem como numerosas outras variantes, tais que um filtro não poderia detectar todos eles. Isto mais tarde ficou conhecido como leetspeak .

Um dos primeiros usos comerciais de CAPTCHAs estava no teste Gausebeck-Levchin . Em 2000, idrive.com começou a proteger a sua página de inscrição com um CAPTCHA e preparado para registrar uma patente sobre esta técnica aparentemente romance. Em 2001, PayPal usado tais testes como parte de uma estratégia de prevenção de fraude em que eles pediram que os seres humanos "redigitar texto distorcida que os programas têm dificuldade em reconhecer." PayPal co-fundador e CTO Max Levchin ajudou a comercializar este uso precoce.

A implantação popular de tecnologia CAPTCHA, reCAPTCHA, foi adquirida pela Google em 2009. Além de prevenir a fraude bot para seus usuários, o Google usou reCAPTCHA e tecnologia CAPTCHA para digitalizar os arquivos do The New York Times e livros do Google Livros em 2011. Em últimos anos, o Google usou um CAPTCHA baseada em imagem para melhorar o seu conjunto de dados carro sem motorista, identificação de objetos como árvores e faixas de pedestres. Os críticos apontam para a participação un-witting do usuário final em promover os interesses comerciais do Google. Em resposta, os concorrentes surgiram com modelos alternativos incluindo a compensação para o site hospedeiro ou usuário final por seu esforço.

reivindicações de invenção

Duas equipes de pessoas têm reclamado de ser o primeiro a inventar os CAPTCHAs usados amplamente na Web hoje. A primeira equipe é formada por Mark D. Lillibridge, Martín Abadi , Krishna Bharat , e Andrei Broder , que usou CAPTCHAs em 1997, AltaVista para evitar bots de adicionar URLs ao seu motor de pesquisa na web . Procurando uma maneira de fazer as suas imagens resistentes ao OCR ataque, a equipe analisou o manual de seu irmão do scanner , que tinha recomendações para melhorar os resultados do OCR (tipos de letra semelhantes, fundos lisos, etc.). A equipe criou enigmas tentando simular o que o manual alegou iria causar mau OCR.

A segunda equipe para reclamar de invenção de CAPTCHAs consiste de Luis von Ahn , Manuel Blum, Nicholas J. Hopper, e John Langford, que primeiro descreveu CAPTCHAs em uma publicação 2003 e posteriormente recebeu muita cobertura da imprensa popular. Sua noção de CAPTCHA cobre qualquer programa que pode distinguir os seres humanos a partir de computadores, incluindo muitos exemplos diferentes de CAPTCHAs.

A controvérsia de autoria da invenção foi resolvido pela existência de um pedido de patente data de prioridade 1997 por Eran Reshef, Gili Raanan e Eilon Solan que trabalhava no Sanctum on Application Firewall Segurança . Seus detalhes de pedido de patente que "A invenção é baseada na aplicação vantagem humana em aplicar habilidades sensoriais e cognitivas para resolver problemas simples que provam ser extremamente difícil para o software de computador. Tais habilidades incluem, mas não estão limitados ao processamento da informação sensorial como a identificação de objetos e cartas dentro de um ambiente gráfico barulhento "; e a patente 1998 por Lillibridge, Abadi, Bharat, e Broder. Ambas as patentes anteriores outras publicações por vários anos, embora eles não usam o CAPTCHA prazo, eles descrevem as idéias em detalhe e representam precisamente os CAPTCHAs gráficos usados na Web hoje.

Características

CAPTCHAs são, por definição, totalmente automatizado, o que requer pouca manutenção ou intervenção humana para administrar, produzir benefícios em custo e confiabilidade.

O algoritmo usado para criar o CAPTCHA deve ser tornada pública, embora possa ser coberto por uma patente. Isto é feito para demonstrar que a ruptura requer a solução de um problema difícil no domínio da inteligência artificial (IA), em vez de apenas a descoberta do algoritmo (secreto), que pode ser obtido por meio de engenharia reversa ou outro meio.

CAPTCHAs baseados em texto modernos são projetados de tal forma que eles exigem o uso simultâneo de reconhecimento de três separadas habilidades invariante, segmentação e análise-para completar corretamente a tarefa com alguma consistência.

  1. invariante reconhecimento refere-se à capacidade de reconhecer a grande quantidade de variação nas formas de letras. Há quase um número infinito de versões para cada personagem que um cérebro humano pode identificar com sucesso. O mesmo não é verdade para um computador, e ensiná-lo a reconhecer todas aquelas formações diferentes é uma tarefa extremamente desafiadora.
  2. Segmentação de, ou a capacidade para separar uma carta do outro, também é dificultado em Captchas, como caracteres são aglomerados em conjunto com nenhum espaço em branco no meio.
  3. Contexto é também crítica. O CAPTCHA deve ser entendido de forma holística para identificar corretamente cada personagem. Por exemplo, em um segmento de um CAPTCHA, uma carta pode parecer um "m". Somente quando a palavra inteira é levada em contexto é que se torna claro que é um "u" e um "n".

Cada um desses problemas é um desafio significativo para um computador, mesmo em isolamento. A presença de todos os três ao mesmo tempo é o que faz CAPTCHAs difícil de resolver.

Ao contrário dos computadores, os seres humanos se destacam neste tipo de tarefa. Enquanto segmentação e reconhecimento são dois processos separados necessários para a compreensão de uma imagem para um computador, eles fazem parte do mesmo processo para uma pessoa. Por exemplo, quando um indivíduo entende que a primeira letra de um CAPTCHA é um "a", que o indivíduo também entende que os contornos de que "a" são, e também onde ele mistura com os contornos da próxima letra. Além disso, o cérebro humano é capaz de pensar dinâmica baseada em contexto. Ele é capaz de manter várias explicações vivo e, em seguida, escolher o que é a melhor explicação para toda a entrada com base em pistas contextuais. Isto também significa que não vai ser enganado por variações de letras.

Relação ao AI

Embora usado principalmente por razões de segurança, CAPTCHAs também servem como uma tarefa referência em tecnologias de inteligência artificial. De acordo com um artigo de Ahn, Blum e Langford, "qualquer programa que passa os testes gerados por um CAPTCHA pode ser usado para resolver um problema sem solução AI difícil."

Eles argumentam que as vantagens do uso duro problemas AI como um meio para a segurança são duas. Ou o problema vai resolver e ainda existe um método confiável para distinguir os seres humanos a partir de computadores, ou o problema é resolvido e um problema AI difícil é resolvido junto com ele. No caso da imagem e CAPTCHAs baseados texto, se um AI eram capazes de completar com precisão a tarefa sem explorar falhas em um projeto CAPTCHA particular, em seguida, ele teria resolvido o problema de desenvolver uma IA que é capaz de complexo de reconhecimento de objetos em cenas.

Acessibilidade

Muitos sites exigem digitar um CAPTCHA ao criar uma conta para evitar spam

CAPTCHAs com base no texto de leitura - ou outras tarefas visual-percepção - evitar cegos ou deficientes visuais usuários de acessar o recurso protegido. No entanto, CAPTCHAs não tem que ser visual. Qualquer disco inteligência artificial problema, como o reconhecimento de voz , pode ser usado como base de um CAPTCHA. Algumas implementações de usuários licença Captchas optar por um CAPTCHA de áudio, embora um papel 2011 demonstrou uma técnica para derrotar os esquemas populares na época.

Para usuários não-avistados (por exemplo, usuários cegos ou pessoas daltônicas em um teste de cores usando), CAPTCHAs visuais apresentar problemas graves. Porque CAPTCHAs são projetados para ser ilegível por máquinas, comuns de tecnologia assistiva ferramentas como leitores de tela não pode interpretá-los. Desde sites podem usar CAPTCHAs como parte do processo de registo inicial, ou mesmo a cada login, este desafio pode bloquear completamente o acesso. Em certas jurisdições, os proprietários do site podem se tornar alvos de processos judiciais se eles estão usando CAPTCHAs que discriminam certas pessoas com deficiência. Por exemplo, um CAPTCHA pode fazer um site incompatível com a Seção 508 nos Estados Unidos. Em outros casos, as pessoas com dificuldades de visão pode escolher para identificar uma palavra que está sendo lido para eles.

Enquanto fornece um CAPTCHA de áudio permite que os usuários cegos a ler o texto, ele ainda impede aqueles que são ambos cegos e surdos. De acordo com sense.org.uk, cerca de 4% das pessoas com mais de 60 no Reino Unido têm tanto visão e deficiência auditiva . Existem cerca de 23.000 pessoas no Reino Unido que têm graves deficiências de visão e audição. De acordo com o Consórcio Nacional de Assistência Técnica para Crianças e Jovens Adultos que são surdos-cegos (NTAC), o número de crianças surdocegas nos EUA aumentou de 9.516 para 10.471 durante o período de 2004 a 2012. Gallaudet University cita 1980 a 2007 estimativas que sugerem mais de 35.000 adultos completamente surdocegas nos EUA. Estimativas de população com surdocegueira dependem fortemente do grau de comprometimento usado na definição.

O uso de CAPTCHA exclui, assim, um pequeno número de indivíduos de usar subconjuntos significativos de tais serviços baseados na Web comuns, como PayPal, Gmail, Orkut, Yahoo !, muitas fórum e sistemas de weblog, etc.

Mesmo para indivíduos perfeitamente deficientes visuais, novas gerações de CAPTCHAs gráficas, destinadas a superar software de reconhecimento sofisticado, pode ser muito difícil ou impossível de ler.

Um método de melhorar o CAPTCHA para facilitar o trabalho com ele foi proposto por ProtectWebForm e foi chamado de "CAPTCHA inteligente". Os desenvolvedores aconselham a combinar o CAPTCHA com suporte JavaScript. Uma vez que é muito difícil para a maioria dos robôs de spam para analisar e executar JavaScript, usando um simples script que preenche os campos de CAPTCHA e esconde a imagem eo campo dos olhos humanos foi proposta.

Um método alternativo envolve a exibição para o utilizador uma equação matemática simples e exigindo ao utilizador que introduza a solução como para a verificação. Embora estes são muito mais fáceis de derrotar usando software, eles são adequados para cenários onde imagery gráfica não é apropriado, e eles fornecem um nível muito mais elevado de acessibilidade para usuários cegos do que os CAPTCHAs com base em imagens. Estas são algumas vezes referidos como MAPTCHAs (M = 'matemática'). No entanto, estes podem ser difícil para os usuários com transtorno cognitivo.

Outros tipos de desafios, tais como aquelas que exigem a compreensão do significado de um texto (por exemplo, um puzzle, pergunta trivia, ou instruções sobre como criar uma senha) também pode ser usado como um CAPTCHA. Mais uma vez, há pouca investigação sobre a sua resistência contra contramedidas.

evasão

Existem algumas abordagens para derrotar CAPTCHAs: usando o trabalho humano barato para reconhecê-los, explorando bugs na implementação que permite que o invasor ignoram completamente o CAPTCHA, e, finalmente, usando aprendizado de máquina para construir um solucionador automatizado. Segundo o ex-Google "clique czar fraude" Shuman Ghosemajumder , existem inúmeros serviços que resolver CAPTCHAs automaticamente.

ataques baseados em aprendizagem de máquina

Em suas primeiras iterações não havia uma metodologia sistemática para a concepção ou avaliação de CAPTCHAs. Como resultado, houve muitos casos em que CAPTCHAs eram de um comprimento fixo e tarefas, portanto automatizados poderiam ser construídos para fazer sucesso suposições sobre onde segmentação deve ocorrer. Outros CAPTCHAs início continha conjuntos limitados de palavras, o que fez o teste muito mais fácil de jogo. Outros ainda cometeu o erro de depender demais de confusão fundo na imagem. Em cada caso, os algoritmos foram criados que foram sucesso capaz de completar a tarefa, explorando essas falhas de projeto. Estes métodos mostrou frágil no entanto, e pequenas alterações ao CAPTCHA eram facilmente capazes de frustrar-los. CAPTCHAs modernos como reCAPTCHA já não dependem apenas em padrões fixos, mas variações em vez presentes de caracteres que são muitas vezes entrou em colapso junto, fazendo segmentação quase impossível. Estas mais recentes iterações ter sido muito mais bem sucedido em afastar tarefas automatizadas.

Um exemplo de um reCAPTCHA desafio a partir de 2007, contendo as palavras "seguintes descoberta". A ondulação e acidente vascular cerebral horizontal foram adicionados para aumentar a dificuldade de quebrar o CAPTCHA com um programa de computador.
Um CAPTCHA geralmente tem uma caixa de texto diretamente abaixo onde o usuário deve preencher o texto que eles vêem. Neste caso, 'sclt ..was aqui'

Em outubro de 2013, empresa de inteligência artificial Vicarious alegou que tinha desenvolvido um algoritmo de resolução de CAPTCHA genérico que foi capaz de resolver CAPTCHAs modernos com taxas de reconhecimento de caracteres de até 90%. No entanto, Luis von Ahn , um pioneiro do CAPTCHA cedo e fundador da reCAPTCHA, expressaram ceticismo, afirmando: "É difícil para mim estar impressionado desde que eu ver essas a cada poucos meses." Ele ressaltou que 50 reivindicações semelhantes aos da Vicarious tinha sido feito desde 2003.

Em agosto de 2014, conferência Usenix Woot, Bursztein et al. apresentou o primeiro algoritmo genérico CAPTCHA-solving baseado em aprendizado por reforço e demonstrou a sua eficácia contra muitos esquemas CAPTCHA populares. Eles concluíram que os regimes Captchas baseados distorção texto deve ser considerado inseguro avançar.

trabalho humano barato ou involuntário

É possível subverter CAPTCHAs retransmitindo-os para uma sweatshop de operadores humanos que são empregados para decodificar CAPTCHAs. Um papel de um 2005 W3C grupo de trabalho afirmou que tal operador "poderia facilmente verificar centenas deles de hora em hora". Em 2010, a Universidade da Califórnia em San Diego realizou um estudo em grande escala de fazendas aqueles de CAPTCHA e descobri que o preço de varejo para a resolução de um milhão de CAPTCHAs é um preço tão baixo quanto $ 1.000.

Outra técnica utilizada consiste na utilização de um script para voltar a postar CAPTCHA do site de destino como um CAPTCHA para um site de propriedade do atacante, que os seres humanos inocentes visitar e resolver corretamente dentro de um curto espaço de tempo para o script de usar. No entanto, há controvérsias em torno da viabilidade econômica de um tal ataque.

implementação insegura

Howard Yeend identificou duas questões de implementação com sistemas CAPTCHA mal projetados:

  • Alguns sistemas de protecção CAPTCHA pode ser contornado sem o uso de OCR simplesmente reutilizando a identificação da sessão de uma imagem CAPTCHA conhecido
  • CAPTCHAs que residem em servidores compartilhados também apresentar um problema; um problema de segurança em outro host virtual pode sair do site do emissor CAPTCHA vulnerável

Às vezes, se parte do software gerar o CAPTCHA é do lado do cliente (a validação é feita no servidor, mas o texto que o usuário é obrigado a identificar é processada no lado do cliente), em seguida, os usuários podem modificar o cliente para exibir a un texto -rendered. Alguns sistemas CAPTCHA usar MD5 hashes armazenados do lado do cliente, que pode deixar o CAPTCHA vulnerável a um ataque de força bruta .

ataques notáveis

Alguns ataques notáveis ​​contra vários esquemas Captchas incluem:

  • Mori et al. publicou um artigo na IEEE CVPR'03 detalhando um método para derrotar um dos CAPTCHAs mais populares, EZ-Gimpy, que foi testado como sendo 92% exato em derrotá-lo. O mesmo método foi também demonstrado para derrotar o mais complexo e menos amplamente implantado programa Gimpy 33% do tempo. No entanto, a existência de implementações de seu algoritmo em uso real é indeterminada neste momento.
  • PWNTCHA tem feito progressos significativos em derrotar CAPTCHAs comumente utilizados, o que contribuiu para uma migração geral para CAPTCHAs mais sofisticados.
  • Podec, um trojan descoberto pela empresa de segurança Kaspersky, encaminha solicitações de CAPTCHA para um serviço de tradução humana online que converte a imagem para texto, enganando o sistema. Podec como alvo dispositivos móveis Android.

Captchas alternativas esquemas

Com a demonstração de que CAPTCHAs baseados distorção texto são vulneráveis ​​a ataques baseados em aprendizagem de máquina, alguns pesquisadores propuseram alternativas, incluindo CAPTCHAs de reconhecimento de imagem que requerem usuários para identificar objetos simples nas imagens apresentadas. O argumento a favor destes esquemas é que tarefas como reconhecimento de objetos são tipicamente mais complexo de realizar do que o reconhecimento de texto e, portanto, deve ser mais resistente a ataques baseados em aprendizagem de máquina. Aqui estão alguns dos esquemas de CAPTCHA alternativas notáveis:

  • Chew et al. publicaram seu trabalho na 7ª Conferência de Segurança de Informações Internacionais, ISC'04, propondo três versões diferentes de CAPTCHAs de reconhecimento de imagem, e validar a proposta com estudos de usuários. Sugere-se que uma das versões, o CAPTCHA anomalia, é melhor com 100% dos usuários humanos serem capazes de passar um CAPTCHA anomalia com pelo menos 90% de probabilidade em 42 segundos.
  • Datta et al. publicou o seu papel na ACM Multimedia '05 Conference, imaginação chamado (geração de imagens para autenticação da Internet), propondo uma forma sistemática de CAPTCHAs de reconhecimento de imagem. As imagens são distorcidas de tal forma que o reconhecimento de imagem state-of-the-art abordagens (que são tecnologias de ataque em potencial) não conseguem reconhecê-los.
  • Microsoft (Jeremy Elson, John R. Douceur, Jon Howell, e Jared Saul) desenvolveram espécies animais Reconhecimento de Imagem para restringir o acesso (ASIRRA) que pedem aos usuários para distinguir os gatos de cães. Microsoft teve uma versão beta deste para sites para usar. Eles afirmam "Asirra é fácil para os usuários, que pode ser resolvido por seres humanos 99,6% do tempo em menos de 30 segundos Curiosamente, os usuários parecia encontrar a experiência de usar Asirra muito mais agradável do que um CAPTCHA baseado em texto.". Esta solução foi descrita em um artigo 2007 para Proceedings of 14ª Conferência ACM em Informática e Comunicações de Segurança (CCS). No entanto, este projeto foi fechado em outubro de 2014 e já não está disponível.

Veja também

Referências

outras referências

  • von Ahn, G; M. J. e Blum Langford. (2004) "Dizer seres humanos e computadores separados (automaticamente)". Communications of the ACM , 47 (2): 57-60.

links externos