La detección de bots es el proceso de identificar si el tráfico hacia un sitio web, aplicación o API proviene de software automatizado o de un humano. También separa los bots dañinos de los legítimos, como los rastreadores de motores de búsqueda. Los sistemas de detección puntúan señales de la red, del cliente y del comportamiento del usuario. El resultado decide si se permite una solicitud, se desafía o se bloquea.

Las Capas de la Detección de Bots

  • Señales a nivel de red: reputación de IP, filtrado de ASN
  • Señales a nivel de cliente: huellas digitales de TLS y navegador, consistencia de encabezados
  • Señales de comportamiento: telemetría de comportamiento, límites de tasa conscientes de la sesión

Una solicitud que pasa una capa aún puede ser marcada por otra.

Algunas señales pueden ser verificadas entre sí. OWASP señala que los encabezados de Client Hints son declarados por el cliente pero pueden ser verificados contra su huella digital de TLS.

Verificando Bots Buenos

No todo el tráfico automatizado es no deseado. Los rastreadores de motores de búsqueda, por ejemplo, obtienen páginas para que puedan aparecer en los resultados de búsqueda. Debido a que cualquier bot puede afirmar ser un rastreador en su User-Agent, los sitios verifican la dirección IP en su lugar. Google documenta dos formas de verificar Googlebot:

  • Verificación DNS: Realiza una búsqueda DNS inversa en la IP. Confirma que el nombre de host termina en googlebot.com, google.com o googleusercontent.com. Luego realiza una búsqueda hacia adelante y confirma que devuelve la IP original.
  • Rangos de IP: Compara la IP con las listas de rangos de IP de rastreadores que Google publica en JSON.

Amenazas que Apunta la Detección de Bots

El proyecto OWASP Automated Threats to Web Applications nombra 21 amenazas automatizadas. Ejemplos incluyen:

  • Robo de credenciales (OAT-008): Intentos de inicio de sesión masivos que prueban pares de nombres de usuario y contraseñas robadas.
  • Raspado (OAT-011): Recopilación de contenido de aplicaciones u otros datos para su uso en otros lugares.
  • Reventa (OAT-005): Obtener bienes y servicios de disponibilidad limitada o preferida por métodos desleales.
  • Creación de cuentas (OAT-019): Crear muchas cuentas para un uso indebido posterior.

Términos Relacionados