26 puntos por GN⁺ 2025-07-01 | Aún no hay comentarios. | Compartir por WhatsApp
  • 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.

Aún no hay comentarios.