Gerenciando bots

Cristiano Dianese
Via Varejo: Tecnologia
5 min readMar 18, 2019

Por André Nobre, Cristiano Dianese, Vanessa Michele Galli e Fernando Silva

Algo extremamente comum no varejo — ou em qualquer lugar onde haja o mínimo de concorrência — é o monitoramento dos dados públicos de outras empresas. Presencialmente ou online, esta atividade é realizada há muito, muito tempo.

Focando no mundo online, na criação e operação de um crawler existem boas práticas para rastrear apenas conteúdos autorizados e no volume de consultas destas páginas.

E neste universo imenso de crawlers existem os bons e os maus. Um bot bom é aquele que segue as melhores práticas, por exemplo:

  1. Respeitam a determinação realizada pelo dono do conteúdo de quais estão autorizados a serem lidos por robôs;
  2. Fazem uma navegação dentro de parâmetros “normais”, prezando pelo baixo consumo de recurso computacional;
  3. Verificam alterações de conteúdo antes de obtê-los de forma completa; caso não tenham modificações em relação à última versão, simplesmente não fazem a captura;

E obviamente um bot mau é aquele que não liga para conteúdo, frequência, etc. Encontramos casos que até bots que contratamos para alguma atividade realizam crawling em nossas páginas de forma absurda.

Os bots podem ter impactos negativos para infraestrutura, negócio, experiencia do usuário, dados de analytics distorcidos e imagem da marca.

Por isso, os bots se tornaram um desafio: não basta bloquear, é preciso gerenciá-los.

Alguns tipos de bots nocivos

  1. Inventory grabbing

Crawler que coleta informações de produtos afim de gerar boletos com o objetivo de reservar estoque, muito utilizado em e-commerce.

2. Server overload

Acesso de força bruta, de várias fontes diferentes com objetivo de onerar a infraestrutura e causas indisponibilidades.

3. Content scraping

Copia o conteúdo de um site a fim criar sites falsos, muito utilizado em sites de bancos.

4. Roubo de credenciais

Ataque de força bruta com o intuito de coletar credenciais do usuário para acesso indevido aos sites, muito usados em sites de bancos e sites de mídias sociais.

5. Roubo de preço e marketing

Comumente feito por concorrentes com objetivo de monitorar a precificação dos produtos, campanhas e promoções.

Quanto os bots consomem?

Normalmente imaginamos que bots não consomem tantos recursos. Antes de visualizar o volume, é impossível pensar que um grande percentual do consumo de sua aplicação + infraestrutura não vem de seus clientes.

Em média 70% de todo o trafego na internet é feito por Robôs¹

Segue uma visão de um dia e horário normal de tráfego no site do Ponto Frio em abril de 2018:

Mais de 92% do tráfego era originado de robôs (entre bons e ruins)!

Identificar, gerenciar ou restringir o acesso de bots ruins não é simplesmente instalar uma ferramenta no servidor de aplicação, configurar um firewall ou ter uma solução de segurança. Os bots são um desafio para TI, identificar e gerenciar a variedade de bots tem impacto variado em negócios e infraestrutura de TI

O que fazer para gerenciar os bots?

Com a ajuda da Exceda, uma grande parceira de longa data, conduzimos o projeto de implantação do Bot Manager.

Para nosso gerenciamento de bots, utilizamos a ferramenta da Akamai, o Bot Manager.

Traçamos a seguinte estratégia:

  1. A primeira ação visando um gerenciamento inteligente de bots é identificá-los e classificá-los.
    Mas nem sempre é simples identificar um acesso de um robô malicioso. A medida que existem aqueles que possuem um comportamento padrão, também existem os robôs mais “profissionais” que mudam sua forma de acesso, origem de conexão e se adaptam às contra- medidas dos seus alvos. Por conta disso passamos a classificar os bots por comportamento e não por um padrão de acesso ou origem de suas requisições.
    Essa forma consome um tempo maior de coleta de dados e análise para que a ferramenta possa aprender sobre o comportamento dos acessos, mas em compensação ela passa a bloquear os robôs mais nocivos;
  2. A segunda ação é de iniciar os bloqueios de robôs indesejados. Esta é a contra-medida mais simples que já gera resultados impressionantes;
  3. Como terceira ação, é preciso incluir comportamentos mais inteligentes de respostas para bots indesejados. O bloqueio é a maneira mais fácil para que os robôs driblem nossa barreira;

Ao incluir comportamentos de delay de resposta, redirecionamento para conteúdo alternativo, respostas modificadas para “enganar” o robô, fica muito mais complicado para os gatunos perceberem as manobras.

Quando ativamos o bot manager, automaticamente alguns bots classificados em uma base de dados global como ruins já foram bloqueados. Esta ação já reduziu o consumo de 92% para 52%:

Uma vez realizado o primeiro conjunto de identificação e classificação, bots desconhecidos passaram de 67% para apenas 5%. Uma vez conhecidos, passamos a ter a possibilidade de aplicar qualquer tipo de ação sobre eles.

Como foi na Black Friday?

Durante a Black Friday, para um varejista, tudo toma grandes proporções e a questão dos robôs não é diferente.

Bloquear esses acessos indevidos é fundamental, mas deixar passar os acessos válidos (de clientes reais) é primordial!

Como resultado do trabalho feito junto com o parceiro ao longo do segundo semestre, durante a quinta e sexta feira do evento foram bloqueados pouco mais de 200 milhões de requisições maliciosas e nenhum acesso válido foi barrado!

Quantidade de request bloqueados

Isso quer dizer que se não tivéssemos investido nessa frente de segurança, 200M de requisições consumiriam nossa infraestrutura, além dos sites de phishing, tentativas de invasões e roubo de dados.

Conclusão

Gerenciar bots corretamente tem diversos impactos para a companhia:

  • Garantia de que não há desperdício de recurso computacional entregando conteúdo para robôs errados;
  • Dificulta a incidência de fraudes;
  • No final, gerar uma melhor experiência para nossos clientes reais.

Através de ferramenta inteligente e processos bem definidos, o trabalho gera valor rapidamente.

¹ Fonte: Abrahosting (Associação Brasileira das Empresas de Infraestrutura e Hospedagem na Internet)

--

--