Como funcionam os CAPTCHAs | O que significa CAPTCHA?
O que é?
Um teste é projetado para determinar se um usuário online é realmente um humano e não um bot. é uma sigla que significa “Teste de Turing público totalmente automatizado para diferenciar computadores e humanos”. Os usuários costumam encontrar e fazer novos testes na Internet. Esses testes são uma forma de gerenciar a atividade do bot, embora a abordagem tenha suas desvantagens.
Embora os s sejam projetados para bloquear bots automatizados, os próprios s são automatizados. Eles são programados para aparecer em determinados lugares de um site e automaticamente passam ou falham nos usuários.
Como funciona?
Classic s, que ainda estão em uso no hoje, algumas propriedades da web envolvem pedir aos usuários que identifiquem letras. As letras são distorcidas para que os bots não consigam identificá-las. Para passar no teste, os usuários precisam interpretar o texto distorcido, digitar as letras corretas em um campo de formulário e envie o formulário. Se as letras não corresponderem, os usuários serão solicitados a tentar novamente. Esses testes são comuns em formulários de login, formulários de inscrição em conta, pesquisas online e páginas de pagamento de comércio eletrônico.
A ideia é que um programa de computador como um bot não será capaz de interpretar as letras distorcidas, enquanto um ser humano, que está acostumado a ver e interpretar letras em todos os tipos de contextos – fontes diferentes, caligrafias diferentes, etc. – geralmente será capaz de identificá-las.
O melhor que muitos bots serão capazes de fazer é inserir algumas letras aleatórias, tornando estatisticamente improvável que eles passem no teste. Assim, os bots falham no teste e são impedidos de interagir com o site ou aplicativo, enquanto os humanos podem continuar a usá-lo normalmente.
Os bots avançados podem usar o aprendizado de máquina para identificar essas letras distorcidas. esses tipos de testes estão sendo substituídos por testes mais complexos. O Google re desenvolveu uma série de outros testes para separar usuários humanos de bots.
O que é re?
re é um serviço gratuito que o Google oferece como um substituto para os tradicionais. A tecnologia re foi desenvolvida por pesquisadores da Carnegie Mellon University, então adquirida pelo Google em 2009.
re é mais avançada do que os testes típicos. Por exemplo, alguns res exigem que os usuários insiram imagens de texto que os computadores têm problemas para decifrar. Ao contrário dos programas normais, recorre ao texto a partir de imagens do mundo real: imagens de moradas, texto de livros impressos, texto de jornais antigos e assim por diante.
Com o tempo, o Google expandiu a funcionalidade de novos testes para que eles não precisem mais depender do antigo estilo de identificação de texto borrado ou distorcido. Outros tipos de novos testes incluem:
- reconhecimento de imagem
- caixa de seleção
- Avaliação geral do comportamento do usuário (sem interação do usuário)
Como funciona um novo teste de reconhecimento de imagem?
Para um novo teste de reconhecimento de imagem, normalmente os usuários são apresentados a 9 ou 16 imagens quadradas. As imagens podem ser todas da mesma imagem grande ou podem ser diferentes. O usuário deve identificar as imagens que contêm certos objetos, como animais, árvores ou placas de rua. Se sua resposta corresponder às respostas da maioria dos outros usuários que enviaram o mesmo teste, a resposta é considerada “correta” e o usuário passa no teste.
Escolher certos objetos em fotos borradas é um problema difícil para os computadores resolverem. Mesmo os programas avançados de inteligência artificial (IA) lutam com isso – portanto, um bot também terá. No entanto, um usuário humano deve ser capaz de fazer isso com bastante facilidade, já que os humanos estão acostumados a perceber objetos do cotidiano em todos os tipos de contextos e situações.
Como funcionam os novos testes com uma única caixa de seleção?
Alguns novos testes simplesmente solicitam que o usuário marque uma caixa ao lado da afirmação “Não sou um robô”. No entanto, o teste não é a ação real de clicar na caixa de seleção – é tudo que leva a clique na caixa de seleção.
Este novo teste leva em consideração o movimento do cursor do usuário conforme ele se aproxima da caixa de seleção. Mesmo o movimento mais direto de um humano tem certa quantidade de aleatoriedade no nível microscópico: minúsculos movimentos inconscientes que os bots não podem imitar facilmente. Se o movimento do cursor contém parte dessa imprevisibilidade, o teste decide que o usuário provavelmente é legítimo. Ele também pode avaliar os cookies armazenados pelo navegador em um dispositivo do usuário e o histórico do dispositivo para saber se o é provável que o usuário seja um bot.
Se o teste ainda não for capaz de determinar se o usuário é humano ou não, pode apresentar um desafio adicional, como o teste de reconhecimento de imagem descrito acima. No entanto, na maioria das vezes, os movimentos do cursor do usuário, cookies e histórico do dispositivo são conclusivos o suficiente.
Como funciona novamente sem nenhuma interação do usuário?
As versões mais recentes do re são capazes de dar uma olhada holística no comportamento de um usuário e na história de interação com o conteúdo na Internet. Na maioria das vezes, o programa pode decidir com base nesses fatores se ou não o usuário é um bot, sem fornecer ao usuário um desafio para ser concluído. Caso contrário, o usuário receberá um novo desafio típico.
O que aciona um teste?
Alguns as propriedades da web simplesmente têm s implementados automaticamente como uma defesa proativa contra bots. Outras vezes, um teste pode ser acionado se o comportamento do usuário parecer semelhante ao de um bot: se os usuários solicitarem páginas da web ou clicarem em hiperlinks a uma taxa muito maior do que a média, por exemplo.
Os s e res são suficientes para impedir bots maliciosos?
Alguns bots podem passar pelos s de texto por conta própria. Os pesquisadores demonstraram maneiras de escrever um programa que também supera o reconhecimento de imagem. Além disso, os invasores podem usar click farms para vencer os testes: milhares de trabalhadores mal pagos resolvendo s em nome de bots.
Além de um, é necessário haver outras estratégias para impedir bots indesejados (como como bots de scraping de conteúdo, bots de recheio de credenciais ou bots de spam).
Quais são as desvantagens de usar s ou res para impedir bots?
Experiência do usuário ruim: um teste pode interromper o fluxo do que os usuários estão tentando fazer, dando a eles uma visão negativa de sua experiência na propriedade da web e levando-os a abandonar totalmente a página da web em alguns casos.
Não utilizável para deficientes visuais: o problema com s é que eles dependem da percepção visual. Isso os torna quase impossíveis, não apenas para pessoas que são legalmente cegas, mas também para qualquer pessoa com deficiência visual grave.
Esses testes podem ser enganados por bots: conforme descrito acima, os s não são totalmente à prova de bots e não se deve confiar no gerenciamento de bots.
Existem alternativas para usar s ou res?
Soluções de gerenciamento de bot, como Cloudflare Bot Management, podem identificar bots ruins sem afetar a experiência do usuário , com base no comportamento do bot. Dessa forma, os bots podem ser mitigados sem forçar os usuários a concluir s.
Como estão e estão relacionados a projetos de inteligência artificial (IA)?
Conforme milhões de usuários identificam texto difícil de ler e selecionam objetos em imagens borradas, esses dados são alimentados em programas de computador de IA para que eles também se tornem melhores nessas tarefas.
Em geral, programas de computador luta com a identificação de objetos e letras em diferentes contextos, porque o contexto pode mudar quase infinitamente no mundo real. Por exemplo, um sinal de pare é um octógono vermelho com letras brancas onde se lê “STOP”. Um programa de computador poderia identificar uma combinação de forma e palavra como essa com bastante facilidade. No entanto, um sinal de stop em uma foto pode parecer muito diferente dessa descrição simples, dependendo do contexto: o ângulo da foto, a iluminação, o clima envolvido e assim por diante.
Via aprendizado de máquina, programas de IA pode ficar melhor em superar essas limitações. Para o exemplo do sinal de stop, o programador alimentaria o programa AI com um monte de dados sobre o que é e o que não é um sinal de stop. Para que isso seja eficaz, eles precisam de muitos exemplos de imagens com sinais de stop e imagens sem sinais de stop, e precisam de usuários humanos para identificá-los até que o programa tenha dados suficientes para ser eficaz.
re ajuda a preencher essa necessidade fazendo com que os humanos identifiquem objetos e textos, o que lentamente fornece dados suficientes para construir programas de IA robustos.
O que é um teste de Turing? Como os testes de Turing são relevantes para os testes?
Um teste de Turing avalia a capacidade de um computador de imitar o comportamento humano. Alan Turing, um dos primeiros pioneiros da computação, inventou o conceito de teste de Turing em 1950. Um programa de computador “passa” no teste de Turing se seu desempenho durante o teste for indistinguível de um humano – se agir da maneira que um humano agiria. Um teste de Turing não depende de obter respostas corretas; é sobre como “humano” as respostas soam, independentemente de estarem certas ou erradas.
Embora seja chamado de “teste de Turing público”, a é realmente o oposto de um teste de Turing – determina se um usuário supostamente humano é na verdade um programa de computador (um bot) ou não, em vez de tentar determinar se um computador é humano. Para conseguir isso, um precisa atribuir uma tarefa breve em que as pessoas tendem a ser boas e com a qual os computadores têm dificuldade. Identificar texto e imagens geralmente se encaixa nesses critérios.