De que maneiras podemos distinguir entre um comportamento humano e um bot?

7

Atualizado com base nos comentários:

De que maneiras podemos distinguir um ser humano que realiza determinadas atividades on-line e um bot programado para realizar atividades semelhantes, como verificar e-mail, baixar alguns arquivos de música, fazer compras no ebay, pesquisar no Google etc. ou talvez tentar desfigurar / invadir um site , força bruta uma senha de login etc.

Para limitar o escopo da questão e torná-lo mais claro, vamos restringir nossas observações apenas ao comportamento orientado à rede, alguns exemplos sendo: a quantidade de tempo gasto com XYZ online, a quantidade / tipo de dados baixados (digamos) de um site de compartilhamento de arquivos, o número de amigos / seguidores em sites de mídia social etc.

Eu acho que deveria ser possível obter alguns 'padrões' que distinguirão o comportamento humano e o comportamento programado.

O teste de Turing não é o que estou procurando.

Que técnicas podem ser úteis aqui? Aprendizado de máquina? Teoria do jogo?

Referências a artigos acadêmicos / de pesquisa relevantes também serão boas.

pnp
fonte
11
Veja o teste de Turing . Veja também o projeto de Ken Regan sobre a detecção de trapaças no xadrez .
Jonas G. Drange
Uma solicitação de referência como a sua é muito ampla para o Stack Exchange - você solicita uma pesquisa de toda uma área de pesquisa! Você precisa restringir seu foco consideravelmente antes que uma questão de alcance razoável apareça. Tente conversar com seu orientador, pesquise no Google Scholar e confira este guia para melhores (re) pesquisas na Academia .
Raphael

Respostas:

9

A maneira mais comum / óbvia é um teste de desafio-resposta que é fácil para humanos, mas difícil para computadores (é claro, mas não apenas CAPTCHA ).

Esse tipo de teste é muito eficaz {1}, mas se enquadra na área HIP (Human Interactive Proofs): não é transparente.

As abordagens "simples" típicas para distinguir o tráfego de sites humanos do Bot são:

  • tempo necessário para preencher todos os campos e clicar no botão enviar de um formulário de entrada (frequentemente usado, mas simples de ignorar).

    Observar a cadência / ritmo da comunicação é uma alternativa mais segura (esse é um dos recursos do No CAPTCHA reCAPTCHA do Google );

  • honeypots (ou seja, traps para bots que consistem em um link ou campo presente na página que não é visível ao olho humano)
  • análise da duração máxima máxima da sessão (os humanos precisam descansar) e correlação com a hora do dia (consulte Como distinguir humanos de bots em registros de pesquisa na web )

Deve-se considerar que características do bot exibem uma grande variabilidade para diferentes rastreadores / sites diferentes , portanto, é difícil derivar heurísticas determinísticas simples: sistemas baseados em regras implicam uma longa lista de regras estáticas que são difíceis de definir e manter (mesmo por especialistas) .

Técnicas de aprendizado de máquina são frequentemente usadas:

Quase todas as "ferramentas" de IA / ML disponíveis foram experimentadas . O principal problema do uso dessas ferramentas supervisionadas de aprendizado de máquina é rotular o conjunto de dados de treinamento.

Mesmo restringindo a análise ao comportamento orientado à rede, essa é uma questão de enorme alcance, por esse motivo estou dando algumas palavras-chave para pesquisas adicionais.


Notas

  1. Os ataques baseados no Machine Learning estão melhorando e os CAPTCHAs também servem como uma tarefa de referência para as tecnologias de inteligência artificial (por exemplo, The End is Nigh: Resolução genérica de CAPTCHAs baseados em texto )

Palavras-chave

HIP (Human Interactive Proofs), CAPTCHA, dinâmica de pressionamento de tecla, cadência de pressionamento de tecla, dinâmica de digitação, IDS (Sistema de detecção de intrusão), honeypot, clique em fraude, spambot


Referências

manlio
fonte