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 se destina a bloquear o tráfego de bots indesejados ou mal-intencionados na internet e, ao mesmo tempo, permitir que os bots úteis acessem as propriedades da web. Para atingir esses objetivos, o gerenciamento de bots detecta a atividade de bots, diferencia os comportamentos desejáveis dos indesejáveis e identifica as origens das atividades indesejáveis.

O gerenciamento de bots é necessário porque, se não forem verificados, os bots podem causar enormes problemas para as propriedades da web. Um excesso de tráfego de bots pode impor um fardo pesado aos servidores web, reduzindo a velocidade ou negando serviço para os usuários legítimos (às vezes, na forma de um ataque de DDoS). Os bots mal-intencionados conseguem raspar ou baixar conteúdo de um site, roubar credenciais do usuário, disseminar rapidamente um conteúdo de spam e perpetrar vários outros tipos de ataques cibernéticos.

O que faz um gerenciador de bots?

Um gerenciador de bots é qualquer produto de software que gerencie 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 abaixo e é capaz de:

  • Identificar bots e distingui-los dos visitantes humanos
  • Identificar a reputação do bot
  • Identificar os endereços IP de origem dos bots e bloqueá-los com base na reputação do IP
  • Analisar o comportamento do bot
  • Adicionar bots "do bem" às listas de permissões
  • Desafiar possíveis bots por meio do teste de CAPTCHA, injeção de JavaScript ou outros métodos
  • Usar o Rate Limiting para limitar o uso excessivo de um serviço por possíveis bots
  • Negar acesso a determinados conteúdos ou recursos para os bots "do mal"
  • 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 um bot consegue repeti-las infinitamente com uma rapidez muito maior do que a de qualquer ser humano.

Por exemplo, o Google usa bots para rastrear constantemente as páginas da 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 disseminado pela internet, mas os bots do Google são capazes de manter o índice de busca do Google relativamente atualizado.

Um exemplo negativo é o de spammers, que usam bots de coleta de e-mail para coletar endereços de e-mail na internet inteira. Os bots rastreiam as páginas web em busca de 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. É claro que um ser humano poderia procurar endereços de e-mail em páginas da web. No entanto, como são automatizados e buscam apenas textos que seguem determinados parâmetros, esses bots de coleta de e-mail 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 o Google Chrome ou o 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 da web, preencher e enviar formulários, clicar em links, rastrear texto e baixar conteúdo. Os bots conseguem "assistir" a vídeos, fazer comentários e publicar, curtir ou retuitar em plataformas de rede social. Alguns bots podem até entabular conversas básicas com usuários humanos — são conhecidos como chatbots.

Qual é a diferença entre bots do bem e bots do mal?

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

Qualquer bot que faz um mau uso de um produto ou serviço on-line pode ser considerado "do mal". Os bots do mal 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 compram ingressos em um site de eventos.

Um bot que presta um serviço útil ou necessário pode ser considerado "do bem". Chatbots de atendimento ao cliente, crawlers de mecanismo de busca e bots de monitoramento de desempenho são exemplos de bots do bem. Em geral, os bots do bem 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, e é por isso que o gerenciamento de bots se faz necessário.

Como funciona o gerenciamento de bots?

Para identificar os 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 da análise de comportamento, ou seja, comparando o comportamento de um usuário com o comportamento padrão de usuários no passado. Os gerenciadores de bots precisam contar com uma grande coleta de dados comportamentais de qualidade para serem capazes de fazer isso.

Se um bot for considerado do mal, poderá ser redirecionado para uma página diferente ou, simplesmente, ser impedido de acessar um recurso da web.

Os bots do bem podem ser adicionados a uma lista de permissão, ou seja, uma lista de bots autorizados (o contrário de uma lista de bloqueios). Um gerenciador de bots também poderá distinguir os bots do bem dos bots do mal por meio de uma análise de comportamento adicional.

Outra abordagem de gerenciamento de bots é usar o arquivo robots.txt para configurar um "honeypot" (pote de mel). Um honeypot é um alvo falso para agentes mal-intencionados. Quando acessado, ele expõe o agente mal-intencionado como sendo malicioso. No caso de um bot, um honeypot poderia ser uma página de um site proibida para bots pelo arquivo robots.txt. Os bots do bem lerão o arquivo robots.txt e evitarão a página, mas alguns bots do mal irão rastreá-la. É possível identificar e bloquear os bots do mal por meio do rastreamento dos endereços IP dos bots que acessam o honeypot.

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

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

Essas outras atividades de bots nem sempre são consideradas "mal-intencionadas", mas um gerenciador de bots deve ser capaz de mitigá-las mesmo assim:

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

Como a Cloudflare gerencia os 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, a Cloudflare consegue identificar as prováveis atividades de bots com aprendizado de máquina e análise de comportamento, fornecendo os dados necessários para criar uma lista de permissão de bots do bem ou uma lista de bloqueio de bots do mal. Além disso, a Cloudflare conta com um vasto banco de dados de reputação de IPs. Saiba mais sobre o gerenciamento de bots da Cloudflare.