Cómo funcionan los CAPTCHA | ¿Qué significa CAPTCHA?

El CAPTCHA y el reCAPTCHA determinan si un usuario es realmente un bot. Si bien estas pruebas pueden ayudar a detener la actividad maliciosa de los bot, están lejos de ser infalibles.

Share facebook icon linkedin icon twitter icon email icon

CAPTCHA

Metas de aprendizaje

Después de leer este artículo usted podrá:

  • Aprende qué es un CAPTCHA y por qué se usan
  • Conoce la diferencia entre CAPTCHA y reCAPTCHA de Google y los diferentes tipos de reCAPTCHA
  • Comprende los beneficios y las desventajas de usar CAPTCHA para bloquear bots maliciosos
  • Explica cómo se relacionan los CAPTCHA con los proyectos de inteligencia artificial (IA)

¿Qué es un CAPTCHA?

Una prueba de CAPTCHA está diseñada para determinar si un usuario en línea es realmente un humano y no un bot. CAPTCHA es un acrónimo que significa "Prueba de Turing pública completamente automatizada para diferenciar entre computadoras y humanos". Los usuarios a menudo encuentran pruebas de CAPTCHA y reCAPTCHA en Internet. Dichas pruebas son una forma de gestionar la actividad de bot, aunque el enfoque tiene sus inconvenientes.

Aunque los CAPTCHA están diseñados para bloquear bots automatizados, los CAPTCHA son automatizados. Están programados para aparecer en ciertos lugares de un sitio web y automáticamente permiten o niegan el acceso de los usuarios.

¿Cómo funciona un CAPTCHA?

Los CAPTCHA clásicos, que aún se usan en algunas propiedades web hoy en día, implican solicitar a los usuarios que identifiquen las letras. Las letras están distorsionadas para que los bots no puedan identificarlas. Para pasar la prueba, los usuarios deben interpretar el texto distorsionado, escribir las letras correctas en un campo de formulario y enviar el formulario. Si las letras no coinciden, se solicita a los usuarios que intenten de nuevo. Dichas pruebas son comunes en formularios de inicio de sesión, formularios de registro de cuentas, encuestas en línea y páginas de pago de comercio electrónico.

captcha example

La idea es que un programa de computadora, como un bot, no podrá interpretar las letras distorsionadas, mientras que un ser humano, que está acostumbrado a ver e interpretar letras en todo tipo de contextos –diferentes fuentes, diferentes caligrafías, etc.– generalmente podrá identificarlos.

Lo mejor que muchos bots podrán hacer es ingresar algunas letras al azar, por lo que es estadísticamente improbable que pasen la prueba. Por lo tanto, los bots no pasan la prueba y se les impide interactuar con el sitio web o la aplicación, mientras que los humanos pueden seguir usándola como de costumbre.

Los bots avanzados pueden usar el aprendizaje automático para identificar estas letras distorsionadas, por lo que este tipo de pruebas de CAPTCHA se están reemplazando por pruebas más complejas. El reCAPTCHA de Google ha desarrollado una serie de pruebas adicionales para distinguir a los usuarios humanos de los bots.

¿Qué es reCAPTCHA?

El reCAPTCHA es un servicio gratuito que Google ofrece como reemplazo de los CAPTCHA tradicionales. La tecnología de reCAPTCHA fue desarrollada por investigadores de la Universidad Carnegie Mellon, luego adquirida por Google en 2009.

El reCAPTCHA es más avanzado que las pruebas CAPTCHA típicas. Al igual que CAPTCHA, algunos reCAPTCHA requieren que los usuarios ingresen imágenes de texto que las computadoras tienen problemas para descifrar. A diferencia de los CAPTCHA normales, los reCAPTCHA obtienen el texto de imágenes del mundo real: imágenes de direcciones de calles, textos de libros impresos, textos de periódicos antiguos, etc.

recaptcha example

Con el tiempo, Google ha ampliado la funcionalidad de las pruebas de reCAPTCHA para que ya no tengan que depender del antiguo estilo de identificar texto borroso o distorsionado. Otros tipos de pruebas de reCAPTCHA incluyen:

  • Reconocimiento de imagen
  • Casilla de verificación
  • Evaluación general del comportamiento del usuario (sin interacción del usuario)

¿Cómo funciona una prueba de reconocimiento de imagen reCAPTCHA?

Para una prueba de reconocimiento de imagen de reCAPTCHA, generalmente los usuarios reciben 9 o 16 imágenes cuadradas. Todas las imágenes pueden ser de la misma imagen grande o pueden ser diferentes. Un usuario tiene que identificar las imágenes que contienen ciertos objetos, como animales, árboles o letreros de la calle. Si su respuesta coincide con las respuestas de la mayoría de los otros usuarios que han enviado la misma prueba, la respuesta se considera "correcta" y el usuario pasa la prueba.

image recaptcha

Seleccionar ciertos objetos de las fotos borrosas es un problema difícil de resolver para las computadoras. Incluso los programas avanzados de inteligencia artificial (IA) tienen dificultan, por lo que un bot también tendrá dificultad. Sin embargo, un usuario humano debería poder hacerlo con bastante facilidad, ya que los humanos están acostumbrados a percibir objetos cotidianos en todo tipo de contextos y situaciones.

¿Cómo funcionan las pruebas de reCAPTCHA con una sola casilla de verificación?

Algunas pruebas de reCAPTCHA simplemente le piden al usuario que marque una casilla junto a la declaración, "No soy un robot". Sin embargo, la prueba no es la acción real de hacer clic en la casilla de verificación, es todo lo que requiere para hacer clic en la casilla de verificación.

Not a Robot captcha

Esta prueba de reCAPTCHA tiene en cuenta el movimiento del cursor del usuario cuando se acerca a la casilla de verificación. Incluso el movimiento más directo de un humano tiene cierta aleatoriedad a nivel microscópico: pequeños movimientos inconscientes que los bots no pueden imitar fácilmente. Si el movimiento del cursor contiene algo de esta imprevisibilidad, entonces la prueba decide que el usuario es probablemente legítimo. El reCAPTCHA también puede evaluar las cookies almacenadas por el navegador en un dispositivo de usuario y el historial del dispositivo para saber si es probable que el usuario sea un bot.

Si la prueba aún no puede determinar si el usuario es humano o no, puede presentar un desafío adicional, como la prueba de reconocimiento de imagen descrita anteriormente. Sin embargo, la mayoría de las veces los movimientos del cursor del usuario, las cookies y el historial del dispositivo son lo suficientemente concluyentes.

¿Cómo funciona el reCAPTCHA sin interacción del usuario?

Las últimas versiones de reCAPTCHA pueden analizar de manera integral el comportamiento y el historial de interacción de un usuario con el contenido en Internet. La mayoría de las veces, el programa puede decidir, con base en esos factores, si el usuario es un bot o no, sin presentarle al usuario un desafío para completar. Si no, entonces el usuario recibirá un desafío típico de reCAPTCHA.

¿Qué desencadena una prueba de CAPTCHA?

Algunas propiedades web incluyen automáticamente CAPTCHA como una defensa proactiva contra los bots. Otras veces, se puede activar una prueba si el comportamiento del usuario se asemeja al comportamiento de un bot: si los usuarios solicitan páginas web o hacen clic en hipervínculos a una tasa mucho más alta que el promedio, por ejemplo.

¿Lis CAPTCHA y reCAPTCHA son suficientes para detener bots maliciosos?

Algunos bots pueden eludir el CAPTCHA de texto por su cuenta. Los investigadores también han demostrado formas de escribir un programa que elude los CAPTCHA de reconocimiento de imágenes. Además, los atacantes pueden usar granjas de clics para superar las pruebas: miles de trabajadores con salarios bajos que resuelven CAPTCHA en nombre de los bots.

Además de un CAPTCHA, es necesario que existan otras estrategias para detener los bots no deseados (como bots de apropiación de contenido , bots de relleno de credenciales o bots de spam).

¿Cuáles son los inconvenientes de usar CAPTCHA o reCAPTCHA para detener los bots?

Mala experiencia del usuario: una prueba de CAPTCHA puede interrumpir el flujo de lo que los usuarios intentan hacer, dándoles una visión negativa de su experiencia en la propiedad web y, en algunos casos, hacen que abandonen la página por completo.

No lo pueden usar personas con discapacidad visual: el problema con los CAPTCHA es que dependen de la percepción visual. Esto los hace casi imposibles, no solo para las personas legalmente ciegas, sino para cualquier persona con discapacidad visual grave.

Estas pruebas pueden ser eludidas por los bots: como se describió anteriormente, los CAPTCHA no son completamente a prueba de bots y no se debe confiar en estos para la administración de bots.

¿Hay alternativas al uso de CAPTCHA o reCAPTCHA?

Las soluciones de administración de bots, como la Gestión de bots de Cloudflare, pueden identificar bots defectuosos sin afectar la experiencia del usuario, en función del comportamiento del bot. De esta manera, los bots se pueden mitigar sin obligar a los usuarios a completar los CAPTCHA.

¿Cómo se relacionan los CAPTCHA y reCAPTCHA con los proyectos de inteligencia artificial (IA)?

A medida que millones de usuarios identifican texto difícil de leer y seleccionan objetos en imágenes borrosas, esos datos se envían a los programas informáticos de inteligencia artificial para que también mejoren en esas tareas.

En general, los programas de computadora luchan por identificar objetos y letras en diferentes contextos, porque el contexto puede cambiar casi infinitamente en el mundo real. Por ejemplo, una señal de alto es un octágono rojo con letras blancas que dicen "ALTO". Un programa de computadora podría identificar una combinación de forma y palabra como esa con bastante facilidad. Sin embargo, una señal de alto en una foto puede verse muy diferente de esa simple descripción dependiendo del contexto: el ángulo de la foto, la iluminación, el clima involucrado, etc.

A través del aprendizaje automático, los programas de inteligencia artificial pueden mejorar para superar estas limitaciones. Para el ejemplo de la señal de alto, el programador alimentaría al programa de IA con una gran cantidad de datos sobre lo que es y no es una señal de alto9. Para que esto sea efectivo, necesitan muchos ejemplos de imágenes con señales de alto e imágenes sin señales de alto, y necesitan que los usuarios humanos las identifiquen hasta que el programa tenga suficientes datos para que sea efectivo.

Los reCAPTCHA ayudan a satisfacer esta necesidad al hacer que los humanos identifiquen objetos y textos, lo que lentamente proporciona suficientes datos para construir programas robustos de IA.

¿Qué es una prueba de Turing? ¿Cómo son relevantes las pruebas de Turing para las pruebas de CAPTCHA?

Una prueba de Turing evalúa la capacidad de una computadora para imitar el comportamiento humano. Alan Turing, uno de los primeros pioneros en informática, inventó el concepto de una prueba de Turing en 1950. Un programa de computadora "pasa la prueba de Turing " si su rendimiento durante la prueba es indistinguible de un ser humano –si actúa de la manera que lo haría un ser humano. Una prueba de Turing no depende de las respuestas correctas que obtiene; tiene que ver con qué tan "humanas" parecen las respuestas, independientemente de si son correctas o incorrectas.

Aunque se llama "prueba pública de Turing", un CAPTCHA es realmente lo opuesto a una prueba de Turing: determina si un usuario supuestamente humano es realmente un programa de computadora (un bot) o no, en lugar de tratar de determinar si una computadora es un humano. Para lograr esto, un CAPTCHA necesita asignar una tarea breve en la que las personas tienden a ser buenas y con las que las computadoras tienen dificultad. La identificación de texto e imágenes generalmente se ajusta a esos criterios.