- Los bots web han evolucionado desde solicitudes simples con clientes HTTP hasta la automatización de navegadores reales, y en respuesta las técnicas de detección de bots también se han sofisticado continuamente
- Se usan diversas tecnologías para detectar bots, como reputación de IP, huellas del entorno TCP/TLS/navegador y análisis de comportamiento basado en JavaScript
- Aunque las técnicas de evasión de bots como navegadores headless, proxies y manipulación del User-Agent siguen avanzando, los algoritmos de detección también evolucionan, manteniendo un juego constante del “gato y el ratón” entre ambos lados
- Más recientemente, se ha sumado incluso análisis avanzado de comportamiento con modelos de IA basados en datos de comportamiento, lo que vuelve la detección de bots aún más compleja
- Se está generalizando una defensa en múltiples capas con CAPTCHA, detección de proxies, Proof-of-Work y autenticación basada en comportamiento
Introducción: la evolución de los bots web y las tecnologías de detección
- Los bots web abarcan desde crawlers y scripts de automatización simples hasta programas avanzados que se comportan como usuarios reales
- Hay bots útiles, como los de motores de búsqueda y archivado, pero también muchos usos problemáticos, como spam y scraping ilegal
- Los operadores de sitios llevan peleando contra los bots desde los inicios, y las técnicas de detección y evasión se han sofisticado al mismo tiempo
El bot más simple: un cliente HTTP
- La forma más básica de bot consiste en enviar solicitudes a un sitio con clientes HTTP simples como
curl o wget
- Todos los clientes HTTP se exponen a través del encabezado
User-Agent, por lo que un sitio puede detectarlos y bloquearlos fácilmente
- Incluso si se falsifica el User-Agent para parecer un navegador, los navegadores incluyen encabezados adicionales (idioma, codificación, etc.), así que salvo que el disfraz sea perfecto, seguirá siendo detectable
Reputación de IP y proxies
- El servidor detecta bots usando la dirección IP. En especial, los rangos de IP de nube o centros de datos suelen considerarse tráfico de bots/automatización y tienen menor confianza
- Operar sin proxy lleva a un bloqueo rápido, por lo que es necesario evadir la IP con proxies residenciales o móviles, lo que implica un costo
- Los sitios revisan activamente la reputación de la IP, si hay puertos de proxy abiertos (como 1080), el rango de IP y los patrones de acceso
- Para evadir el bloqueo por IP se usan proxies rotativos (rotating proxy), proxies móviles, etc.
Huella TCP (TCP Fingerprinting)
- Al establecer una conexión TCP antes de una solicitud HTTP, la forma en que se construyen los paquetes TCP varía según el sistema operativo, y eso permite identificar el OS analizando esos paquetes
- Si el User-Agent y el OS real (huella TCP) no coinciden, se interpreta como tráfico de bot o camuflado
- Los servidores proxy también pueden afectar la huella TCP, por lo que al elegir un proxy conviene considerar si coincide con el OS esperado
Huella TLS (TLS Fingerprinting)
- Durante el handshake TLS, los cifrados soportados, versiones y extensiones varían según el navegador y el OS
- A través de la huella TLS se puede estimar el navegador, sistema operativo y tipo de librería, y contrastarlo con el User-Agent
Detección con JavaScript
- Antes de responder el servidor, o después de cargar la página, se recopila información adicional del entorno y comportamiento del cliente mediante JavaScript
- Si el bot no ejecuta JavaScript, se detecta de inmediato, así que los bots responden usando herramientas de automatización de navegador como Selenium, Puppeteer y Playwright
- Se está pasando del nivel de solicitudes HTTP simples a la automatización completa del navegador
Navegadores headless y detección
- El modo headless (como Chrome sin ventana) es esencial para desarrollar bots, pero puede detectarse por diferencias como
navigator.webdriver, listas vacías de plugins y otros rasgos distintivos
- Es posible camuflarse parchando varias propiedades, pero hay que cubrir decenas de pistas, y siguen apareciendo nuevos puntos de detección
- El modo New Headless, introducido desde 2023, usa el mismo motor que Chrome real, lo que hace más difícil la detección
Detección de frameworks de orquestación e IPC
- Frameworks de automatización como Selenium y Playwright exponen particularidades en flags, opciones, versiones del navegador y configuración del entorno
- Ejemplo: flags como
--disable-ipc-flooding-protection sirven como pista para identificar un entorno de bot
- También es posible provocar y detectar un estado de IPC flood llamando en exceso algunas funciones de JS (por ejemplo,
window.history.pushState)
Detección de proxies: sofisticación basada en JS
- Latency (medición de latencia): se compara la latencia total medida con WebSocket, etc., contra la latencia TCP para verificar si hay un proxy
- WebRTC Leak: se usa WebRTC del navegador para obtener la IP real del cliente, y se compara con la IP de la solicitud HTTP; si no coinciden, se sospecha de proxy o bot
- DNS Leak: desde JavaScript se solicita un subdominio aleatorio → la ubicación/IP del servidor DNS permite detectar patrones anómalos (como país no coincidente)
- Timezones: se compara la zona horaria del navegador con la ubicación de la IP para detectar uso de proxy o camuflaje
Captcha y autenticación
- Captcha es una autenticación adicional con fines de detección/bloqueo de bots, compuesta por problemas que una persona puede resolver (reconocimiento de texto, clics, etc.)
- Recientemente se han introducido captchas basados en Proof-of-Work (imponen trabajo computacional) y captchas basados en comportamiento (clic simple combinado con análisis de conducta)
- La mayoría de los bots evade los captchas usando servicios externos baratos de resolución de captchas
Análisis de comportamiento simple y avanzado
- El análisis de comportamiento estudia la ineficiencia y diversidad propias del comportamiento humano, como movimiento del mouse, patrones de tecleo, ubicación y velocidad de clics
- Ejemplos: movimiento curvo del mouse, demora antes de hacer clic, diferencias de tiempo entre pulsaciones, eventos de orientation/motion en dispositivos móviles, etc.
- Los bots suelen delatarse fácilmente por movimientos rectos, tecleo uniforme o demasiado rápido, y tiempos de reacción irreales
- El análisis avanzado de comportamiento recopila y entrena con grandes volúmenes de datos de comportamiento humano y de bots, identificando incluso patrones sutiles con IA/machine learning
- Ejemplo: clasificación basada en datos compuestos como trayectorias del mouse, diferencias mínimas entre keystrokes y patrones de navegación por la página
Conclusión e implicaciones
- Bots web vs. tecnologías de detección es una lucha de evolución y respuesta constantes, donde se combinan huellas estáticas, análisis de comportamiento y detección basada en IA
- A pesar de las distintas técnicas de evasión y camuflaje, los operadores de servicios responden con sistemas de detección multicapa, análisis de comportamiento en tiempo real y modelos de IA, y necesitan actualizaciones continuas
- Los desarrolladores de bots tienen límites para construir un entorno de camuflaje perfecto, por lo que es indispensable comprender las tendencias más recientes de detección y las formas de responder ante ellas
Aún no hay comentarios.