Como detectar bots programaticamente

4

temos uma situação em que registramos visitas e visitantes em hits da página e bots estão entupindo nosso banco de dados. Nós não podemos usar captcha ou outras técnicas como essa porque isso é antes mesmo de pedirmos informações humanas, basicamente estamos registrando ocorrências de páginas e gostaríamos de registrar apenas os acessos de páginas por humanos.

Existe uma lista de bot IPs conhecidos por aí? A verificação de trabalho de agente de usuário de bot conhecidos?

    
por Tom 05.05.2010 / 21:05

4 respostas

1

Existem alguns elementos a seguir com isto.

string user-agent é um valor, mas pode ser falsificado trivialmente.

Eu descobri que uma heurística razoavelmente útil é fazer um pouco de pré-processamento e, em seguida, analisar o tráfego:

  • Pesquisas de IP reversa
  • Invoque o projeto Routeviews ( link ) para exibir o CIDR e o ASN de um determinado IP. Isso permite expandir de IPs únicos para intervalos de rede contíguos com padrões de tráfego semelhantes.
  • Selecione os nomes ASN: link

Analise seus registros de acesso adicionando informações de nome do host, ASN, CIDR e ASN. Subconjuntos URLs para a parte não-variante (removendo tudo passado '?' Geralmente, embora YMMV). Se você tiver páginas específicas de pesquisa ou utilitário, concentre-se nelas (normalmente, eu vi problemas com bots usando algum tipo de serviço de verificação de usuário ou pesquisa).

Procure por IPs únicos com altos volumes de tráfego.

Procure blocos CIDR únicos ou ASNs com altos volumes de tráfego.

Exclua o tráfego de pesquisa legítimo (Google, Bing, Yahoo, Baidu, Facebook e bots / espaço de rede semelhantes). Esta provavelmente será uma de suas maiores áreas de manutenção contínua, isso muda o tempo todo.

Exclua o tráfego de usuários legítimos. Especialmente para usuários de alto volume do seu site.

Identifique quais são os padrões normais de uso, tanto para usuários finais quanto para robôs de pesquisa. Se um usuário comum acessa de 1 a 3 páginas por minuto, com uma sessão típica de 5 a 10 minutos, o Googlebot limita-se a, digamos, 10 buscas por minuto, e de repente você vê um único bloco IP ou CIDR aceso com centenas ou milhares de pesquisas por minuto, você pode ter encontrado seu problema.

Investigue as origens do tráfego de alto volume / alto impacto (em um sentido negativo). Freqüentemente, uma consulta WHOIS revela que isso é algum tipo de espaço de hospedagem - normalmente não é onde você verá muito tráfego legítimo de usuários. Padrões podem aparecer em strings de agente de usuário, URLs de solicitação, strings de referência, etc., que levam você a padrões adicionais.

Um cliente whois de armazenamento em cache pode ser uma grande ajuda se você acabar fazendo muitas pesquisas WHOIS, tanto a velocidade do processo, quanto evitar limitação / limitação de taxa por registradores (por alguma razão, eles não aceitam gentilmente para entidades que realizam milhares de pesquisas repetidas / automatizadas). Você pode consultar diretamente os registradores para obter mais informações, embora eu não tenha feito isso.

As verificações em vários bancos de dados de reputação (pesquisas de spam, SenderBase, agora há algumas coisas do Google nesses moldes) também podem corroborar o espaço de rede mal policiado.

Eu adoraria dizer que tenho algo para vender nesse sentido, mas o que eu estou trabalhando é principalmente algumas ferramentas e outros para juntar isso. Ele analisará um milhão de linhas de log por um minuto (mais um pouco de preparação para preparar hashes para informações de IPs e ASN / CIDR) em uma estação de trabalho modesta. Não totalmente automatizado, mas me dará uma imagem decente de um problema com alguns minutos de trabalho.

    
por 28.06.2012 / 01:42
1

Eu pensaria que, do ponto de vista do sysadmin, ocorrências repetidas de um único IP em um intervalo regular indicariam um provável bot. Você poderia encontrar isso simplesmente analisando os logs.

Primeiro, posso filtrar os IPs com um grande número de ocorrências. Em seguida, preencha uma matriz com os horários desses hits e, talvez, observe o desvio padrão do intervalo entre esses hits.

A vantagem distinta de uma solução como essa é que você pode escrever algo bastante interessante se estiver trabalhando com um administrador em tempo integral; -)

    
por 05.05.2010 / 21:30
0

Uma rápida pesquisa no Google revelou este site . Pode ser um bom ponto de partida.

A verificação apenas do agente do usuário pode não ser suficiente, pois o agente do usuário pode ser facilmente falsificado.

    
por 05.05.2010 / 21:12
0

Na verdade, existe uma nova tecnologia que está pronta para combater bots em escalas maiores. Isso pode ser útil para os compradores de mídia programática. É chamado de impressão digital do dispositivo e, essencialmente, substitui o rastreamento de visitantes baseado em cookies. A premissa por trás disso é que os cookies são frequentemente usados por fraudadores, e os endereços IP também podem ser alterados através de VPNs. As impressões digitais, por outro lado, permanecem exclusivas do dispositivo, IP e GEO e não podem ser alteradas. Existem alguns sites que oferecem essa solução - fraudhunt.net , CPA Detective e Distil - só para citar alguns.

Essa tecnologia certamente tem suas limitações. Se você não quiser aprofundar e instalar outras ferramentas, poderá eliminar bots no GA. Aqui estão alguns domínios bot conhecidos que você definitivamente deveria bloquear

darodar.com (e vários subdomínios) econom.co ilovevitaly.co semalt.com (e vários subdomínios) buttons-for-website.com see-your-website-here.com

    
por 21.11.2016 / 11:39