O que é gerenciamento de bots? | Como funcionam os gerenciadores de bot

O gerenciamento de bots consiste em identificar e bloquear alguns bots de um site ou aplicação, mas conceder acesso a outros.

Share facebook icon linkedin icon twitter icon email icon

Gerenciamento de Bots

Objetivos de aprendizado

Depois de ler este artigo você será capaz de:

  • Entender o que os bots fazem e por que é necessário gerenciá-los
  • Aprender o que fazem os produtos de gerenciador de bots
  • Descobrir por que alguns bots devem ser permitidos e outros devem ser bloqueados

O que é gerenciamento de bots?

O gerenciamento de bots refere-se a bloquear o tráfego de bots indesejados ou mal-intencionados na internet e, ao mesmo tempo, permitir que bots úteis acessem propriedades da Web. Para fazer isso, ele detecta a atividade de bots, distingue os comportamentos de bots desejáveis e indesejáveis e identifica as fontes de atividades indesejáveis.

O gerenciamento de bots é necessário porque, sem verificação, os bots poderão causar grandes problemas para propriedades da Web. O tráfego de bots em excesso pode impor uma carga pesada aos servidores Web, diminuindo a velocidade ou negando serviços para usuários legítimos (às vezes, isso assume a forma de um ataque de DDoS). Os bots mal-intencionados conseguem raspar ou baixar conteúdo de um site, roubar credenciais do usuário e realizar muitos outros tipos de ataques cibernéticos.

O que um gerenciador de bots faz?

Um gerenciador de bots é qualquer produto de software que gerencia bots. Os gerenciadores de bots devem ser capazes de bloquear alguns bots e permitir a passagem de outros, ao invés de simplesmente bloquearem todo o tráfego não humano. Se todos os bots forem bloqueados e os bots do Google não conseguirem indexar uma página, por exemplo, essa página não aparecerá nos resultados da busca do Google, o que reduzirá consideravelmente o tráfego orgânico para o site.

Um bom gerenciador de bots atinge as metas a seguir. Ele é capaz de:

  • Identificar bots e visitantes humanos
  • Identificar a reputação do bot
  • Identificar os endereços IP de origem dos bots e bloquear com base na reputação do IP
  • Analisar o comportamento do bot
  • Adicionar bots "bons" a listas de desbloqueio
  • Desafiar bots em potencial por meio de teste de CAPTCHA, injeção de JavaScript ou outros métodos
  • Usar Rate Limiting para limitar o uso excessivo de um serviço por bots em potencial
  • Negar acesso a determinados conteúdos ou recursos para bots "ruins"
  • Fornecer conteúdo alternativo aos bots

O que é um bot?

Um bot é um programa de computador que atua em uma rede. Os bots são programados para realizar determinadas ações de forma automática. Em geral, as tarefas realizadas por um bot são relativamente simples, mas ele consegue fazê-las repetidas vezes, com uma rapidez muito maior do que a de um ser humano.

Por exemplo, o Google usa bots para constantemente fazer crawl em páginas Web e indexar conteúdo para busca. Uma equipe de seres humanos precisaria de uma quantidade de tempo astronômica para analisar o conteúdo espalhado pela internet. No entanto, os bots do Google são capazes de manter o índice de busca do Google relativamente atualizado.

Como exemplo negativo, spammers usam bots de coleta de e-mail para coletar endereços de e-mail de toda a internet. Os bots fazem crawl em páginas Web, procuram qualquer texto que siga o formato de endereço de e-mail (texto + símbolo @ + domínio) e salvam esse texto em um banco de dados. Naturalmente, um ser humano poderia procurar endereços de email em páginas Web. No entanto, como esses bots de coleta de e-mail são automatizados e procuram apenas textos que seguem determinados parâmetros, eles encontram endereços de e-mail de forma exponencialmente mais rápida.

Ao contrário de um usuário humano, um bot normalmente não acessa a internet usando um navegador Web tradicional, como Google Chrome ou Mozilla Firefox. Em vez de utilizarem um mouse (ou um smartphone) e clicarem em conteúdo visual em um navegador, os bots são apenas programas de software que fazem solicitações HTTP (entre outras atividades), em geral usando algo que chamamos de "navegador sem cabeça" ("headless browser").

O que os bots fazem?

Os bots podem, essencialmente, realizar qualquer tarefa repetitiva que não seja criativa – qualquer coisa que possa ser automatizada. São capazes de interagir com uma página Web, preencher e enviar formulários, clicar em links, fazer varredura (ou "crawl") de texto e baixar conteúdo. Os bots conseguem "assistir" a vídeos, fazer comentários e publicar, curtir, ou retweetar em plataformas de mídia social. Alguns bots podem até ter conversas básicas com usuários humanos – eles são conhecidos como chatbots.

Qual é a diferença entre bots bons e bots ruins?

Surpreendentemente, muitas fontes estimam que quase metade de todo o tráfego de internet seja tráfego de bots. Assim como alguns softwares (mas nem todos) são malware, alguns bots são mal-intencionados e outros são "bons".

Qualquer bot que usa um produto ou serviço online de forma indevida pode ser considerado "ruim". Os bots ruins podem incluir desde bots descaradamente mal-intencionados, como aqueles que tentam invadir contas de usuários, até formas mais amenas de uso indevido de recursos, como bots que compras ingressos em um site de eventos.

Um bot que realiza um serviço útil ou necessário pode ser considerado "bom". Chatbots de atendimento ao cliente, crawlers de mecanismo de busca e bots de monitoramento de desempenho são exemplos de bots bons. Em geral, os bots bons procuram e seguem as regras apresentadas no arquivo robots.txt de um site.

O que é um arquivo robots.txt?

O robots.txt é um arquivo em um servidor Web que contém as regras para bots acessarem propriedades nesse servidor. No entanto, o próprio arquivo não aplica as regras. Espera-se, essencialmente, que qualquer pessoa que programe um bot siga um código de honra e faça com que seu bot confira o arquivo robots.txt de um site antes de acessá-lo. Evidentemente, os bots mal-intencionados não costumam seguir esse sistema – por isso, o gerenciamento de bots se faz necessário.

Como funciona o gerenciamento de bots?

Para identificar bots, os gerenciadores de bots podem usar desafios de JavaScript (que determinam se um navegador Web tradicional está sendo usado ou não) ou desafios de CAPTCHA. Também podem determinar quais usuários são humanos e quais são bots por meio de análise comportamental – ou seja, comparando o comportamento de um usuário com o comportamento padrão de usuários no passado. Os gerenciadores de bots precisam ter uma grande coleção de dados comportamentais de qualidade para fazer isso.

Se um bot for considerado ruim, poderá ser redirecionado para uma página diferente ou simplesmente impedido de acessar um recurso Web.

Os bots bons podem ser adicionados a uma lista de desbloqueio, ou seja, uma lista de bots autorizados (o contrário de uma lista de bloqueio). Um gerenciador de bots também poderá distinguir bots bons e ruins por meio de análise comportamental adicional.

Outra abordagem de gerenciamento de bots é usar o arquivo robots.txt para configurar um honeypot. Um honeypot é um alvo falso para maus atores. Quando acessado, ele expõe o mau ator como sendo mal-intencionado. No caso de um bot, um honeypot poderia ser uma página Web no site que esteja proibida para bots pelo arquivo robots.txt. Os bots bons lerão o arquivo robots.txt e evitarão essa página Web; alguns bots ruins farão crawl na página Web. Rastreando os endereços IP dos bots que acessam o honeypot, é possível identificar e bloquear bots ruins.

Quais tipos de ataques de bot são mitigados pelo gerenciamento de bots?

Uma solução de gerenciamento de bots pode ajudar a interromper uma variedade de ataques:

Estas outras atividades de bots nem sempre são consideradas "mal-intencionadas". No entanto, um gerenciador de bots ainda deve ser capaz de mitigá-las:

  • Acumulação de estoque
  • Postagem automática em fóruns ou plataformas sociais
  • Preenchimento de carrinho de compras

Como a Cloudflare gerencia bots?

A Cloudflare tem a capacidade única de coletar dados de bilhões de solicitações que passam por sua rede todos os dias. Com esses dados, ela consegue identificar atividades prováveis de bots com aprendizado de máquina e análise comportamental. Também pode fornecer os dados necessários para criar uma lista de desbloqueio de bots bons ou uma lista de bloqueio de bots ruins. Além disso, a Cloudflare possui um vasto banco de dados de reputação de IPs. Saiba mais sobre o gerenciamento de bots da Cloudflare.