21/03/2012

Saiba mais sobre o Captcha

CAPTCHA é um acrônimo da expressão "Completely Automated Public Turing test to tell Computers and Humans Apart" (teste de Turing público completamente automatizado para diferenciação entre computadores e humanos): um teste de desafio cognitivo, utilizado como ferramenta anti-spam, desenvolvido pioneiramente na universidade de Carnegie-Mellon. Como o teste é administrado por um computador, em contraste ao teste de Turing padrão que é administrado por um ser humano, este teste é na realidade corretamente descrito como um teste de Turing reverso.

Um CAPTCHA usual envolve um computador (um servidor) que pede que um usuário termine um teste. Como os computadores são incapazes de resolver o CAPTCHA, todo usuário que incorpora uma solução correta é presumidamente humano. O termo foi inventado em 2000 por Luis von Ahn, por Manuel Blum, Nicholas J. Hopper (todos da universidade do Carnegie-Mellon), e por John Langford (da IBM).

Um tipo comum de CAPTCHA requer que o usuário identifique as letras de uma imagem distorcida, às vezes com a adição de uma sequência obscurecida das letras ou dos dígitos que apareça na tela.

Um CAPTCHA moderno. Ao invés de tentar criar um fundo distorcido e níveis elevados de distorção do texto, este CAPTCHA procura dificultar a segmentação adicionando uma linha angular

Atualmente, o reCAPTCHA é recomendado pelos criadores de CAPTCHA como a implementação oficial.

Aplicações

CAPTCHAs são utilizados para impedir que softwares automatizados executem ações que degradam a qualidade do serviço de um sistema dado, devido à despesa do abuso ou do recurso. Embora CAPTCHAs sejam utilizados mais frequentemente como uma resposta a proteção de interesses comerciais, a noção que existem para parar somente spammers é um erro, ou uma simples redução.

CAPTCHAs pode ser desdobrado para proteger os sistemas vulneráveis ao Spam de E-mail, tal como os serviços do AOL Webmail, do Gmail, do Hotmail, e do Yahoo. São também ativamente utilizados para limitar e controlar o acesso automatizado aos blogs ou os forums, em consequência de promoções comerciais, ou de vandalismo. CAPTCHAs servem também a uma função importante no controle da taxa limite, como o uso automatizado de um serviço pôde ser desejável até que tal uso esteja sendo realizado em excesso, e em detrimento de usuários humanos. Em tal caso, um CAPTCHA pode reforçar políticas automatizadas do uso como ajusta-se pelo administrador quando determinadas medidas do uso excedem um ponto inicial dado.

CAPTCHA é também o mecanismo sugerido para impedir listas automatizadas em placares e em votações de discussão pública. Um estudo por Arora e outros descreveu os vulnerabilidades nos vários fóruns públicos que não usam este tipo de teste (incluindo a BBC).

Características

Um sistema de CAPTCHAs consiste em meios automatizados de gerar novos desafios que os computadores atuais são incapazes de resolver exatamente, mas a maioria de seres humanos podem resolver. Um CAPTCHA não confia nunca no atacante que conheça previamente o desafio. Por exemplo, um checkbox "clique aqui se você é um bot" pode servir para distinguir entre seres humanos e computadores, mas não é um CAPTCHA porque confia no fato que um atacante não precisa se esforçar para quebrar esse formulário específico. Para ser um CAPTCHA, um sistema deve gerar automaticamente os novos desafios que requerem técnicas da inteligência artificial na resolução.

Na prática, o algoritmo usado para criar o CAPTCHA não necessita ser público, mas pode ser coberto por uma patente. Embora a publicação possa ajudar a demonstrar que a resolução requer a solução a um problema difícil no campo da inteligência artificial, reter deliberadamente o algoritmo pode aumentar a integridade de um jogo limitado dos sistemas (ver a segurança por meio do obscurecimento). O fator mais importante em decidir se um algoritmo deve ser feito aberto ou restrito é o tamanho do sistema. Embora um algoritmo que sobrevivesse a investida por peritos de segurança pudesse ser escolhido por ser conceitualmente mais seguro do que o algoritmo não validado, por outro lado apostar em um algoritmo desconhecido é sempre menos interessante àqueles que apostam no abuso automatizado. Quebrar um CAPTCHA requer geralmente algum esforço específico àquele implementação em particular, e um abusador pode decidir-se que o benefício concedido pelo desvio automatizado é inviável pelo esforço requerido para engajar no abuso desse sistema em primeiro lugar.

História

A primeira discussão acerca dos testes automatizados que distinguem seres humanos dos computadores com objetivo de controlar o acesso aos serviços da web aparece em um manuscrito 1996 de Moni Naor do instituto de Weizmann de ciência, intitulado "Verification of a human in the loop, or Identification via the Turing Test" (verificação de um ser humano no laço, ou identificação através do teste de Turing).

CAPTCHAs primitivos parecem ter sido desenvolvido mais tarde, em 1997, para o site de procura AltaVista por Andrei Broder e seus colegas para impedir que os bots adicionassem URLs a sua Ferramenta de Busca. Procurando uma maneira fazer suas imagens resistentes ao ataque do OCR, Optical Character Recognition (Reconhecimento Óptico de Caracteres), a equipe olhou o manual de scanner, obtendo recomendações para melhorar os resultados do OCR (typefaces similares, fundos lisos, etc.). A equipe criou enigmas tentando simular o que o manual reivindicado causaria a OCR mau. Em 2000, von Ahn e Blum desenvolveram e publicaram a noção de um CAPTCHA, que incluísse todo o programa que puder distinguir seres humanos dos computadores. Inventaram exemplos múltiplos, incluindo o primeiro CAPTCHAs a ser usado extensamente no Yahoo.

Nenhum comentário: