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.
Después de leer este artículo podrás:
Contenido relacionado
Bots de spam
Gestionar los bots beneficiosos
Bots beneficiosos vs. bots perjudiciales
Gestión de bots
¿Qué es un bot?
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
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 suelen encontrar pruebas de CAPTCHA y reCAPTCHA en Internet. Estas pruebas son una forma de gestionar la actividad de los bots, sin embargo, este 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.
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.
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., por lo general, 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 bloquea la posibilidad de 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.
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.
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 las siguientes:
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.
Seleccionar ciertos objetos de fotos borrosas es un problema difícil de resolver para las computadoras. Incluso los programas avanzados de inteligencia artificial (IA) tienen problemas con esto, así que un bot también se enfrentará a ese problema. Sin embargo, un usuario humano debería poder hacerlo con facilidad, ya que está acostumbrado a percibir objetos cotidianos en todo tipo de contexto y situació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 se requiere para hacer clic en la casilla de verificación.
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 con facilidad. 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 del 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 imágenes descrita antes. 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.
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.
Google ofrece un servicio mensual de pago llamado reCAPTCHA Enterprise, que utiliza un sistema de detección basado en puntuaciones para distinguir entre humanos y bots. reCAPTCHA Enterprise interactúa con el back-end del cliente y las páginas web para activar una secuencia de eventos JavaScript, HTML y autenticación de token. Luego, el sistema obtiene la "puntuación" de riesgo del visitante, de 0,0 a 1,0, y el desarrollador del sitio web determina qué medidas se deben tomar en función de la puntuación.
Cuanto menor sea la puntuación, más probable es que el "visitante" sea en realidad un bot. Una puntuación reCAPTCHA Enterprise de 0,0 indica que la interacción podría ser fraudulenta y de alto riesgo, mientras que 1,0 significa que la interacción es muy probable que sea legítima y de bajo riesgo.
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.
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).
Mala experiencia del usuario: una prueba de CAPTCHA puede interrumpir el flujo de las actividades de los usuarios, lo que puede brindar una visión negativa de su experiencia en la propiedad web y, en algunos casos, los usuarios pueden llegar a abandonar la página.
No lo pueden usar las personas con discapacidad visual: el problema con los CAPTCHA es que dependen de la percepción visual. Esto hace que sean casi imposibles de usar, no solo para las personas totalmente ciegas, sino también para cualquier persona con alguna discapacidad visual grave.
Estas pruebas pueden ser eludidas por los bots: como se describió antes, los CAPTCHA no son completamente a prueba de bots y no se debe confiar en ellos para la administración de bots.
Las soluciones de gestión de bots, como Cloudflare Bot Management o Super Bot Fight Mode, pueden identificar bots perjudiciales 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.
Cloudflare también ofrece Turnstile, una alternativa invisible a CAPTCHA que usa un fragmento de código gratuito. Turnstile está disponible para todo el mundo — y no es necesario ser cliente de Cloudflare para utilizarlo.
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 según el contexto: el ángulo de la foto, la iluminación, el clima, etc.
Mediante el aprendizaje automático, los programas de inteligencia artificial van mejorando a la hora de superar estas limitaciones. En el ejemplo de la señal de detención, el programador alimentaría al programa de IA con muchos datos acerca de lo que es o no es una señal de detención. Para que esto sea efectivo, tienen que utilizar muchos ejemplos de imágenes con señales de detención y otras sin señales de detención, y necesitan usuarios humanos para que las identifiquen hasta que el programa haya recopilado información suficiente 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 desarrollar programas robustos de IA.
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 desempeño durante la prueba es indistinguible del de un ser humano, si actúa de la manera en la 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 en realidad un programa de computadora (un bot) o no, en lugar de tratar de determinar si una computadora es un ser humano. Para lograr esto, un CAPTCHA necesita asignar una tarea breve que las personas tienden a hacer bien y con las que las computadoras tienen dificultad. La identificación de texto e imágenes, por lo general, se ajusta a esos criterios.