Controles de identificación de clientes para gestionar los bots - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Controles de identificación de clientes para gestionar los bots

Si el tráfico relacionado con los ataques no se puede reconocer fácilmente mediante atributos estáticos, la detección debe poder identificar con precisión al cliente que realiza la solicitud. Por ejemplo, las reglas basadas en la tasa suelen ser más eficaces y más difíciles de evadir cuando el atributo al que se limita la velocidad es específico de la aplicación, como una cookie o un token. El uso de una cookie vinculada a una sesión evita que los operadores de botnets puedan duplicar flujos de solicitudes similares en muchos bots.

La adquisición de fichas se suele utilizar para identificar a los clientes. Para la adquisición de fichas, un JavaScript código recopila información para generar una ficha que se evalúa en el servidor. La evaluación puede abarcar desde la verificación de que JavaScript se está ejecutando en el cliente hasta la recopilación de información del dispositivo para la toma de huellas digitales. La adquisición de un token requiere la integración de un JavaScript SDK en el sitio o la aplicación, o bien requiere que un proveedor de servicios realice la inyección de forma dinámica.

La necesidad de JavaScript asistencia supone un obstáculo adicional para los bots que intentan emular los navegadores. Cuando se trata de un SDK, como en una aplicación móvil, la adquisición de un token verifica la implementación del SDK y evita que los bots imiten las solicitudes de la aplicación.

La adquisición de tokens requiere el uso de SDK implementados en el lado del cliente de la conexión. Las siguientes AWS WAF funciones proporcionan un SDK JavaScript basado en navegadores y un SDK basado en aplicaciones para dispositivos móviles: Bot Control, Fraud Control, prevención de apropiación de cuentas (ATP) y Fraud Control, prevención del fraude en la creación de cuentas (ACFP).

Las técnicas de identificación de los clientes incluyen el CAPTCHA, la creación de perfiles del navegador, la toma de huellas digitales de los dispositivos y la toma de huellas digitales mediante TLS.

CAPTCHA

La prueba de Turing pública y completamente automatizada para diferenciar ordenadores y humanos (CAPTCHA) se utiliza para distinguir entre visitantes robóticos y humanos y para evitar el rastreo de páginas web, el uso de credenciales y el spam. Existen diversas implementaciones, pero a menudo implican un rompecabezas que un humano puede resolver. Los CAPTCHA ofrecen una capa adicional de defensa contra los bots más comunes y pueden reducir los falsos positivos en la detección de bots.

AWS WAF permite a las reglas ejecutar una acción de CAPTCHA contra las solicitudes web que coincidan con los criterios de inspección de una regla. Esta acción es el resultado de la evaluación de la información de identificación del cliente recopilada por el servicio. AWS WAF las reglas pueden requerir que se resuelvan problemas relacionados con el CAPTCHA en el caso de recursos específicos a los que suelen dirigirse los bots, como el inicio de sesión, las búsquedas y el envío de formularios. AWS WAF puede enviar CAPTCHA directamente a través de medios intersticiales o utilizando un SDK para gestionarlo desde el lado del cliente. Para obtener más información, consulte CAPTCHA y Challenge en. AWS WAF

Elaboración de perfiles del navegador

La creación de perfiles del navegador es un método de recopilación y evaluación de las características del navegador, como parte de la adquisición de un token, para distinguir a las personas reales que utilizan un navegador interactivo de la actividad distribuida de los bots. Puedes crear perfiles del navegador de forma pasiva mediante los encabezados, el orden de los encabezados y otras características de las solicitudes que son inherentes al funcionamiento de los navegadores.

También puedes crear perfiles del navegador en código mediante la adquisición de tokens. Si se utiliza JavaScript para la creación de perfiles del navegador, puede determinar rápidamente si un cliente es compatible. JavaScript Esto le ayuda a detectar bots simples que no lo admiten. La creación de perfiles del navegador comprueba algo más que los encabezados y la JavaScript compatibilidad con HTTP; la creación de perfiles del navegador dificulta que los bots emulen completamente un navegador web. Ambas opciones de creación de perfiles del navegador tienen el mismo objetivo: encontrar patrones en el perfil del navegador que indiquen una incoherencia con el comportamiento de un navegador real.

AWS WAF El control de bots para los bots objetivo proporciona una indicación, como parte de una evaluación simbólica, de si un navegador muestra indicios de automatización o señales incoherentes. AWS WAF marca la solicitud para realizar la acción especificada en la regla. Para obtener más información, consulte Detectar y bloquear el tráfico avanzado de bots en el blog AWS de seguridad.

Toma de huellas dactilares del dispositivo

La toma de huellas dactilares de los dispositivos es similar a la creación de perfiles del navegador, pero no se limita a los navegadores. El código que se ejecuta en un dispositivo (que puede ser un dispositivo móvil o un navegador web) recopila los detalles del dispositivo y los envía a un servidor back-end. Los detalles pueden incluir los atributos del sistema, como la memoria, el tipo de CPU, el tipo de núcleo del sistema operativo (SO), la versión del sistema operativo y la virtualización.

Puedes utilizar las huellas digitales del dispositivo para reconocer si un bot está emulando un entorno o si hay indicios directos de que se está utilizando la automatización. Además, las huellas dactilares del dispositivo también se pueden utilizar para reconocer las solicitudes repetidas del mismo dispositivo.

Reconocer las solicitudes repetidas del mismo dispositivo, incluso si el dispositivo intenta cambiar algunas características de la solicitud, permite que un sistema interno imponga reglas de limitación de velocidad. Las reglas de limitación de velocidad que se basan en la huella digital del dispositivo suelen ser más eficaces que las reglas de limitación de velocidad basadas en las direcciones IP. Esto te ayuda a mitigar el tráfico de bots que se mueve entre VPN o proxies, pero que proviene de un número reducido de dispositivos.

Cuando se usa con los SDK de integración de aplicaciones, el control de AWS WAF bots para los bots específicos puede agregar el comportamiento de las solicitudes de sesión de los clientes. Esto le ayuda a detectar y separar las sesiones de clientes legítimas de las sesiones de clientes maliciosos, incluso cuando ambas se originan en la misma dirección IP. Para obtener más información sobre el control de AWS WAF bots para los bots objetivo, consulte Detectar y bloquear el tráfico avanzado de bots en el blog AWS de seguridad.

Toma de huellas digitales mediante TLS

Las huellas digitales TLS, también conocidas como reglas basadas en firmas, se utilizan habitualmente cuando los bots se originan en muchas direcciones IP pero presentan características similares. Cuando se utiliza HTTPS, el cliente y el servidor intercambian mensajes para reconocerse y verificarse mutuamente. Establecen algoritmos criptográficos y claves de sesión. Esto se denomina apretón de manos TLS. La forma en que se implementa un protocolo de enlace TLS es una firma que suele ser valiosa para reconocer los grandes ataques repartidos en muchas direcciones IP.

La huella digital TLS permite a los servidores web determinar la identidad de un cliente web con un alto grado de precisión. Solo requiere los parámetros de la primera conexión de paquetes, antes de que se produzca cualquier intercambio de datos entre aplicaciones. En este caso, el cliente web se refiere a la aplicación que inicia una solicitud, que puede ser un navegador, una herramienta CLI, un script (bot), una aplicación nativa u otro cliente.

Un enfoque de toma de huellas digitales SSL y TLS es la huella digital JA3. JA3 toma las huellas digitales de una conexión de cliente en función de los campos del mensaje de saludo del cliente del protocolo de enlace SSL o TLS. Le ayuda a crear perfiles de clientes SSL y TLS específicos en diferentes direcciones IP de origen, puertos y certificados X.509.

Amazon CloudFront admite añadir encabezados JA3 a las solicitudes. Un CloudFront-Viewer-JA3-Fingerprint encabezado contiene una huella digital hash de 32 caracteres del paquete TLS Client Hello de una solicitud entrante de un espectador. La huella digital encapsula la información sobre cómo se comunica el cliente. Esta información se puede utilizar para perfilar los clientes que comparten el mismo patrón. Puede añadir el CloudFront-Viewer-JA3-Fingerprint encabezado a una política de solicitudes de origen y adjuntar la política a una CloudFront distribución. A continuación, puede inspeccionar el valor del encabezado en las aplicaciones de origen o en Lambda @Edge y CloudFront Functions. Puede comparar el valor del encabezado con una lista de huellas de malware conocidas para bloquear los clientes malintencionados. También puede comparar el valor del encabezado con una lista de huellas digitales esperadas para permitir solo las solicitudes de clientes conocidos.