Seguridad web

CAPTCHA

Se lee en aproximadamente 5 minutos

Qué es CAPTCHA

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) es un test para determinar si quien accede es humano o bot. Propuesto en 2000 por Luis von Ahn et al. de Carnegie Mellon, se usa ampliamente contra spam en formularios, ataques de fuerza bruta y bots de compra masiva.

Los primeros CAPTCHA requerían leer texto distorsionado, pero los avances en OCR y machine learning aumentaron la tasa de evasión, evolucionando hacia métodos basados en análisis de riesgo del comportamiento del usuario.

Evolución de reCAPTCHA - v1 a v3

reCAPTCHA v1 (2007-2018)
Mostraba imágenes de texto distorsionado para que el usuario las transcribiera. Combinado con digitalización de libros. Hacia 2014, la IA superó la precisión humana en reconocimiento de texto.
reCAPTCHA v2 (2014-)
Casilla "No soy un robot". Analiza movimiento del ratón, entorno del navegador y cookies. Solo muestra desafío de imágenes en casos sospechosos.
reCAPTCHA v3 (2018-)
Sin interacción del usuario. Analiza comportamiento en segundo plano y devuelve puntuación (0.0-1.0). Solo requiere verificación adicional con puntuación baja.

Mecanismo técnico de CAPTCHA

  • Basado en desafío: Tareas fáciles para humanos pero difíciles para bots (texto distorsionado, clasificación de imágenes, puzzles). Alta carga para el usuario.
  • Basado en análisis de comportamiento: Detecta patrones humanos en movimientos del ratón, tecleo, scroll. reCAPTCHA v3 y hCaptcha usan este enfoque. El usuario ni nota el CAPTCHA.
  • Proof of Work: El navegador ejecuta una tarea computacional ligera, encareciendo las solicitudes masivas de bots. Cloudflare Turnstile usa este método.

Los CAPTCHA modernos combinan múltiples señales: fingerprinting del navegador, reputación IP, presencia de cookies y entorno JavaScript.

Problemas de accesibilidad

CAPTCHA exige "demostrar ser humano", pero no todos pueden hacerlo del mismo modo. Las personas con discapacidad visual no pueden completar desafíos de imágenes; las personas con discapacidad auditiva no pueden usar CAPTCHA de audio; las personas con discapacidad motora pueden tener dificultades con ratón o pantalla táctil.

Los CAPTCHA "invisibles" como reCAPTCHA v3 y Cloudflare Turnstile alivian significativamente estos problemas al no requerir interacción. Sin embargo, existe el riesgo de que patrones de comportamiento de usuarios con lectores de pantalla o solo teclado sean erróneamente clasificados como "bot".

Evasión por IA y futuro del CAPTCHA

CAPTCHA se basa en la premisa de "tareas que la IA no puede hacer pero los humanos sí", pero los avances en IA erosionan esta premisa.

  • IA de reconocimiento de imágenes: En 2023, la tasa de evasión de CAPTCHA de imágenes por IA supera a la humana según investigaciones.
  • Servicios de resolución de CAPTCHA: Existen "granjas de CAPTCHA" con trabajadores que los resuelven manualmente, y servicios híbridos IA+humano. Cuestan pocos dólares por 1000 resoluciones.
  • Herramientas de automatización: Puppeteer y Playwright simulan con precisión operaciones humanas de ratón y teclado.

En el futuro, CAPTCHA pasará de ser una herramienta para "eliminar bots completamente" a una para "encarecer el coste de los bots", combinándose con WAF, autenticación de dispositivos y passkeys.

Conceptos erróneos comunes

Con CAPTCHA se bloquean completamente los bots
Existen servicios de resolución y evasión por IA. CAPTCHA es una herramienta para encarecer el coste de los bots, y solo es efectivo combinado con limitación de tasa, reputación IP y WAF.
Las imágenes del CAPTCHA tienen una sola respuesta correcta
Los desafíos de reCAPTCHA v2 mezclan imágenes con respuesta clara y zonas grises. Google usa la ambigüedad para agregar estadísticamente las respuestas de múltiples usuarios y mejorar la precisión.
CAPTCHA solo aparece ante accesos sospechosos
Múltiples factores elevan la puntuación de riesgo: uso de VPN o proxy, borrado de cookies, modo incógnito, solicitudes frecuentes. Usuarios legítimos también pueden ver CAPTCHA frecuentemente.
Compartir

Términos relacionados