O desafio de quebrar um Captcha não está em descobrir o que diz a mensagem - afinal, humanos deveriam ter pelo menos 80% de taxa de acertos. A tarefa dura mesmo é ensinar um computador como processar informação de modo similar a como pensam os humanos. Em muitos casos, pessoas que quebram Captchas se concentram não em tornar os computadores mais espertos, mas em reduzir a complexidade do problema proposto pelo Captcha.
Vamos assumir que você protegeu um formulário online usando um Captcha que exibe palavras em inglês. A aplicação entorta levemente a fonte, esticando e dobrando as letras de maneira imprevisível. Mais: o Captcha inclui atrás da palavra um fundo gerado aleatoriamente.
Um programador que desejasse quebrar esse Captcha poderia abordar o problema em fases. Precisaria escrever um algoritmo - um conjunto de instruções que leva a máquina a seguir certa série de passos. Nesse cenário, um passo poderia ser converter a imagem em escala de cinza. Isso significa que a aplicação removeria todas as cores da imagem, tirando um dos níveis de confusão que o Captcha emprega.
Em seguida o algoritmo poderia dizer ao computador para detectar padrões na imagem em preto e branco. O programa compararia cada padrão com uma letra normal, procurando por coincidências. Se o programa só pudesse correlacionar umas poucas letras, ele poderia fazer referência cruzada daquelas letras com um banco de dados de palavras em inglês. Em seguida, plugaria prováveis candidatas em um campo submit. Essa abordagem pode ser surpreendentemente eficaz. Pode não funcionar 100% do tempo, mas pode funcionar o suficiente para valer a pena para os spammers.

E os Captchas mais complexos? O Captcha Gimpy exibe dez palavras em inglês com fontes entortadas na frente de um fundo irregular. O Captcha arranja as palavras em pares e as palavras de cada par se sobrepõem uma à outra. Usuários têm de digitar três palavras corretas para seguir adiante. Quão confiável é esse método?
Pelo que se viu depois, com o algoritmo certo de quebrar Captcha, ele não é assim tão confiável. Greg Mori e Jitendra Malik publicaram uma pesquisa detalhando sua abordagem para quebrar a versão Captcha do Gimpy. Uma coisa que os ajudou foi que o método Gimpy usa palavras verdadeiras em vez de sequências de letras e números aleatórias. Com isso em mente, Mori e Malik criaram um algoritmo que tentava identificar palavras examinando o começo e o fim das sequências de letras. Eles também usaram o dicionário de 500 palavras do Gimpy.
Mori e Malik rodaram uma série de testes usando seu algoritmo. Eles descobriram que seu algoritmo poderia identificar corretamente as palavras em um Captcha Gimpy em 33% das vezes. Embora o resultado esteja longe de ser perfeito, é bastante significativo. Spammers podem dar-se ao luxo ter apenas um terço de suas tentativas bem sucedidas se eles configurarem seus bots para quebrar Captchas várias centenas de vezes a cada minuto.
Você pode achar que os inventores do Captcha ficariam chateados por seu trabalho duro estar sendo decomposto por hackers, mas você está errado. Descubra o porquê na próxima página.