Controles de identificação de clientes para gerenciar bots - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Controles de identificação de clientes para gerenciar bots

Se o tráfego relacionado ao ataque não puder ser facilmente reconhecido por meio de atributos estáticos, a detecção precisará ser capaz de identificar com precisão o cliente que está fazendo a solicitação. Por exemplo, as regras baseadas em taxas geralmente são mais eficazes e difíceis de evitar quando o atributo com limite de taxa é específico do aplicativo, como um cookie ou token. O uso de um cookie vinculado a uma sessão impede que os operadores de botnets possam duplicar fluxos de solicitações semelhantes em muitos bots.

A aquisição de tokens é comumente usada para identificação de clientes. Para aquisição de tokens, um JavaScript código coleta informações para gerar um token que é avaliado no lado do servidor. A avaliação pode variar desde a verificação do que JavaScript está sendo executado no cliente até a coleta de informações do dispositivo para impressão digital. A aquisição do token requer a integração de um JavaScript SDK ao site ou aplicativo, ou exige que um provedor de serviços faça a injeção dinamicamente.

Exigir JavaScript suporte adiciona um obstáculo adicional para os bots que tentam emular navegadores. Quando um SDK está envolvido, como em um aplicativo móvel, a aquisição de tokens verifica a implementação do SDK e impede que os bots imitem as solicitações do aplicativo.

A aquisição de tokens requer o uso de SDKs implementados no lado do cliente da conexão. Os AWS WAF recursos a seguir fornecem um SDK JavaScript baseado em navegadores e um SDK baseado em aplicativos para dispositivos móveis: Controle de bots, controle de fraudes, prevenção de aquisição de contas (ATP) e controle de fraudes, prevenção de fraudes na criação de contas (ACFP).

As técnicas de identificação do cliente incluem CAPTCHA, perfil do navegador, impressão digital do dispositivo e impressão digital TLS.

CAPTCHA

O teste de Turing público totalmente automatizado para diferenciar computadores e humanos (CAPTCHA) é usado para distinguir entre visitantes robóticos e humanos e para evitar a captura de dados na web, o preenchimento de credenciais e o spam. Há uma variedade de implementações, mas elas geralmente envolvem um quebra-cabeça que um ser humano pode resolver. Os CAPTCHAs oferecem uma camada adicional de defesa contra bots comuns e podem reduzir os falsos positivos na detecção de bots.

AWS WAF permite que as regras executem uma ação CAPTCHA contra solicitações da web que correspondam aos critérios de inspeção de uma regra. Essa ação é o resultado da avaliação das informações de identificação do cliente coletadas pelo serviço. AWS WAF as regras podem exigir que os desafios do CAPTCHA sejam resolvidos para recursos específicos que são frequentemente alvos de bots, como login, pesquisa e envio de formulários. AWS WAF pode servir CAPTCHA diretamente por meios intersticiais ou usando um SDK para lidar com isso no lado do cliente. Para obter mais informações, consulte CAPTCHA e Challenge in. AWS WAF

Criação de perfil do navegador

O perfil do navegador é um método de coletar e avaliar as características do navegador, como parte da aquisição de tokens, para distinguir humanos reais usando um navegador interativo da atividade distribuída de bots. Você pode realizar a criação de perfil do navegador passivamente por meio de cabeçalhos, ordem dos cabeçalhos e outras características das solicitações que são inerentes ao funcionamento dos navegadores.

Você também pode realizar a criação de perfil do navegador no código usando a aquisição de tokens. Ao usar JavaScript o perfil do navegador, você pode determinar rapidamente se um cliente oferece suporte JavaScript. Isso ajuda você a detectar bots simples que não o suportam. O perfil do navegador verifica mais do que apenas cabeçalhos e JavaScript suporte HTTP; o perfil do navegador dificulta que os bots emulem totalmente um navegador da Web. As duas opções de perfil do navegador têm o mesmo objetivo: encontrar padrões em um perfil de navegador que indiquem inconsistência com o comportamento de um navegador real.

AWS WAF o controle de bots para bots direcionados fornece uma indicação, como parte da avaliação do token, de se um navegador mostra evidências de automação ou sinais inconsistentes. AWS WAF sinaliza a solicitação para realizar a ação especificada na regra. Para obter mais informações, consulte Detectar e bloquear tráfego avançado de bots no Blog AWS de segurança.

Impressão digital do dispositivo

A impressão digital do dispositivo é semelhante à criação de perfil do navegador, mas não se limita aos navegadores. O código executado em um dispositivo (que pode ser um dispositivo móvel ou um navegador da Web) coleta e reporta detalhes do dispositivo a um servidor de back-end. Os detalhes podem incluir atributos do sistema, como memória, tipo de CPU, tipo de kernel do sistema operacional (SO), versão do sistema operacional e virtualização.

Você pode usar a impressão digital do dispositivo para reconhecer se um bot está emulando um ambiente ou se há sinais diretos de que a automação está em uso. Além disso, a impressão digital do dispositivo também pode ser usada para reconhecer solicitações repetidas do mesmo dispositivo.

O reconhecimento de solicitações repetidas do mesmo dispositivo, mesmo que o dispositivo tente alterar algumas características da solicitação, permite que um sistema de back-end imponha regras de limitação de taxa. As regras de limitação de taxa baseadas na impressão digital do dispositivo geralmente são mais eficazes do que as regras de limitação de taxa baseadas em endereços IP. Isso ajuda você a reduzir o tráfego de bots que está alternando entre VPNs ou proxies, mas é proveniente de um pequeno número de dispositivos.

Quando usado com SDKs de integração de aplicativos, o controle de AWS WAF bots para bots direcionados pode agregar o comportamento da solicitação de sessão do cliente. Isso ajuda você a detectar e separar sessões de clientes legítimas de sessões de clientes mal-intencionados, mesmo quando ambas se originam do mesmo endereço IP. Para obter mais informações sobre o controle de AWS WAF bots para bots direcionados, consulte Detectar e bloquear tráfego avançado de bots no Blog AWS de segurança.

Impressão digital TLS

A impressão digital TLS, também conhecida como regras baseadas em assinatura, é comumente usada quando os bots se originam de muitos endereços IP, mas apresentam características semelhantes. Ao usar HTTPS, os lados do cliente e do servidor trocam mensagens para reconhecer e verificar um ao outro. Eles estabelecem algoritmos criptográficos e chaves de sessão. Isso é chamado de aperto de mão TLS. A forma como um handshake TLS é implementado é uma assinatura que geralmente é valiosa para reconhecer grandes ataques espalhados por vários endereços IP.

A impressão digital TLS permite que os servidores da Web determinem a identidade de um cliente da Web com um alto grau de precisão. Ele requer somente os parâmetros na primeira conexão de pacote, antes que qualquer troca de dados do aplicativo ocorra. Nesse caso, cliente web se refere ao aplicativo que inicia uma solicitação, que pode ser um navegador, uma ferramenta de CLI, um script (bot), um aplicativo nativo ou outro cliente.

Uma abordagem de impressão digital SSL e TLS é a impressão digital JA3. O JA3 imprime uma conexão de cliente com base nos campos da mensagem Client Hello do handshake SSL ou TLS. Ele ajuda você a criar perfis de clientes SSL e TLS específicos em diferentes endereços IP de origem, portas e certificados X.509.

A Amazon CloudFront suporta a adição de cabeçalhos JA3 às solicitações. Um CloudFront-Viewer-JA3-Fingerprint cabeçalho contém uma impressão digital de hash de 32 caracteres do pacote TLS Client Hello de uma solicitação recebida do visualizador. A impressão digital encapsula informações sobre como o cliente se comunica. Essas informações podem ser usadas para traçar o perfil de clientes que compartilham o mesmo padrão. Você pode adicionar o CloudFront-Viewer-JA3-Fingerprint cabeçalho a uma política de solicitação de origem e anexar a política a uma CloudFront distribuição. Em seguida, você pode inspecionar o valor do cabeçalho nos aplicativos de origem ou no Lambda @Edge CloudFront and Functions. Você pode comparar o valor do cabeçalho com uma lista de impressões digitais de malware conhecidas para bloquear os clientes mal-intencionados. Você também pode comparar o valor do cabeçalho com uma lista de impressões digitais esperadas para permitir solicitações somente de clientes conhecidos.