¿Qué es CAPTCHA?
CAPTCHA autentica a los usuarios como humanos para impedir las amenazas que plantean los bots maliciosos.
Dibujo isométrico que muestra a diferentes empleados de oficina, todos usando IBM Security
¿Qué es CAPTCHA?

CAPTCHA, un acrónimo de "Completely Automated Public Turing Test* to Tell Humans Apart" (prueba de Turing completamente automática y pública para diferenciar ordenadores de humanos), se refiere a varios métodos de autenticación que validan a los usuarios como humanos, y no como bots, mediante una prueba que es simple para los humanos pero difícil para las máquinas. Los CAPTCHA impiden que los estafadores y los spammers utilicen bots para rellenar formularios web con fines malintencionados.

Los CAPTCHA tradicionales pedían a los usuarios leer y volver a escribir correctamente un texto distorsionado que no podía ser interpretado por la tecnología de reconocimiento óptico de caracteres (OCR). Las iteraciones más recientes de la tecnología CAPTCHA utilizan análisis de riesgo y comportamiento basado en IA para autenticar a los usuarios humanos en función de patrones de actividad en lugar de una única tarea concreta.

Muchos sitios web requieren que los usuarios completen un CAPTCHA antes de iniciar sesión en una cuenta de perfil, enviar un formulario de registro, publicar un comentario o cualquier otra acción que un bot manipulado por un hacker podría realizar. Al responder correctamente, se comprueba que los usuarios son humanos y se les permite continuar con su actividad en el sitio web.

La evolución de CAPTCHA

Las primeras formas de la tecnología CAPTCHA fueron desarrolladas por varios grupos diferentes en paralelo a finales de la década de 1990 y principios de la de 2000. Todos ellos habían surgido para hacer frente al problema generalizado de los hackers que utilizaban bots para realizar actividades maliciosas en Internet. Por ejemplo, los científicos informáticos que trabajaban para el motor de búsqueda AltaVista querían evitar que los bots agregaran direcciones web maliciosas a la base de datos de enlaces de la empresa.

Investigadores de la compañía de TI Sanctum presentaron el primer sistema estilo CAPTCHA en 1997. Pero el término CAPTCHA fue acuñado en 2003 por un grupo de investigadores de ciencia informática de la Universidad Carnegie Mellon dirigido por Luis von Ahn y Manuel Blum. Este equipo se motivó a trabajar en esta tecnología a raíz de una conferencia de un ejecutivo de Yahoo sobre los problemas que tenía la empresa con los spambots que registraban millones de cuentas de correo electrónico falsas.

Para resolver el problema de Yahoo, von Ahn y Blum crearon un programa informático que 1) generaba una cadena de texto aleatoria, 2) generaba una imagen distorsionada de ese texto (llamada "código CAPTCHA"), 3) presentaba la imagen al usuario, y 4) pedía al usuario que introdujera el texto en un campo de formulario y enviara la respuesta haciendo clic en un recuadro de verificación situado junto a la frase "No soy un robot". Debido a que la tecnología de reconocimiento óptico de caracteres (OCR) en aquellos años no podía apenas descifrar texto distorsionado, los bots no podían resolver los CAPTCHA. Si un usuario introducía la cadena de caracteres correcta, se podía suponer de manera fiable que era humano y se le permitía completar el registro de su cuenta o el envío del formulario web.

Yahoo implementó la tecnología de Carnegie Mellon, requiriendo que todos los usuarios pasaran una prueba de CAPTCHA para poder registrar una dirección de correo electrónico. Esto redujo significativamente la actividad de los spambots, y otras empresas procedieron a adoptar CAPTCHA para proteger sus formularios web. Sin embargo, con el tiempo los hackers utilizaron datos de respuestas de CAPTCHA para desarrollar algoritmos capaces de pasar las pruebas de CAPTCHA de manera fiable. Esto marcó el comienzo de una carrera armamentística entre los desarrolladores de CAPTCHA y los ciberdelincuentes que ha impulsado la evolución de la funcionalidad de CAPTCHA.

reCAPTCHA v1

Lanzado por von Ahn en 2007, reCAPTCHA v1 tenía un doble objetivo: hacer que la prueba de CAPTCHA basada en texto fuera más difícil de descifrar para los bots y mejorar la precisión del reconocimiento óptico de caracteres (OCR) que se estaba utilizando para digitalizar textos impresos en esos momentos.

reCAPTCHA logró el primer objetivo al aumentar la distorsión del texto visualizado para el usuario y agregar líneas por todo el texto.

Logró el segundo objetivo reemplazando una única imagen de texto distorsionado generada aleatoriamente por dos imágenes de texto distorsionado con palabras escaneadas de textos reales por dos programas de OCR diferentes. La primera palabra, o palabra de control, era una palabra identificada correctamente por ambos programas OCR; la segundo palabra era una palabra que ambos programas OCR no podían identificar. Si el usuario identificaba correctamente la palabra de control, reCAPTCHA 1) asumía que el usuario era humano y le permitía continuar con su tarea, y 2) también asumía que el usuario identificaba correctamente la segundo palabra y usaba la respuesta para verificar futuros resultados de OCR.

De esta forma, reCAPTCHA mejoró la seguridad anti-bot e incrementó la precisión de los textos que se digitalizaban en Internet Archive y el New York Times (irónicamente, con el tiempo también ayudó a mejorar los algoritmos de inteligencia artificial y machine learning hasta el punto que, en 2014, podían identificar los CAPTCHA de texto más distorsionados el 99,8 % de las veces).

En 2009, Google adquirió reCAPTCHA y empezó a utilizarlo para digitalizar textos para Google Books, además de ofrecerlo como servicio a otras organizaciones. Sin embargo, a medida que la tecnología OCR avanzaba con la ayuda de reCAPTCHA, también lo hacían los programas de inteligencia artificial que podían resolver de manera efectiva los reCAPTCHA basados en texto. En respuesta, Google introdujo los reCAPTCHA de reconocimiento de imágenes en 2012, que sustituían el texto distorsionado por imágenes tomadas de Google Street View. Los usuarios demostraban que eran humanos identificando objetos del mundo real, como semáforos y taxis. Además de eludir el OCR avanzado ya desplegado por bots, estos reCAPTCHA basados en imágenes resultaban más cómodos para los usuarios de aplicaciones móviles.

Google ReCAPTCHA v2: No CAPTCHA reCAPTCHA

En 2014, Google lanzó reCAPTCHA v2, que reemplazaba las pruebas basadas en texto e imágenes por un simple recuadro de verificación con el texto "No soy un robot ". Cuando el usuario marca el recuadro, reCAPTCHA v2 analiza las interacciones del usuario con las páginas web, evaluando factores como la velocidad de escritura, las cookies, el historial del dispositivo y la dirección IP para determinar si un usuario es humano. El recuadro de verificación también forma parte del funcionamiento del CAPTCHA: no CAPTCHA reCAPTCHA rastrea los movimientos de ratón del usuario cuando hacen clic en el recuadro. Los movimientos de un humano tienden a ser más caóticos, mientras que los movimientos de los bots son más precisos. Si no CAPTCHA reCAPTCHA sospecha que un usuario puede ser un bot, le presenta una prueba de CAPTCHA basada en imágenes. 

ReCAPTCHA v3

reCAPTCHA v3, que debutó en 2018, elimina el recuadro de verificación y amplía el análisis de riesgos basado en IA de no CAPTCHA reCAPTCHA. ReCAPTCHA v3 se integra en una página web a través de la API de JavaScript y se ejecuta en segundo plano, calificando el comportamiento de un usuario en una escala de 0,0 (probablemente un bot) a 1,0 (probablemente un humano). Los propietarios de sitios web pueden definir acciones automatizadas para que se activen en determinados momentos cuando la puntuación de un usuario sugiera que podría ser un bot. Por ejemplo, los comentarios en un blog de usuarios con una puntuación baja pueden enviarse a una cola de moderación cuando hacen clic en "enviar", o se les puede pedir a los usuarios con una puntuación baja que completen un proceso de autenticación de múltiples factores cuando intentan iniciar sesión en un cuenta.

Al eliminar las pruebas interactivas del proceso de verificación de CAPTCHA, los métodos de autenticación basados en IA como reCAPTCHA v3 tratan de eludir el problema de los hackers que usan datos de pruebas resueltas previamente para entrenar a los bots para descifrar los nuevos CAPTCHA. Debido a esto, los expertos creen que es probable que los CAPTCHA basados en IA se generalicen y lleguen a reemplazar por completo a los CAPTCHA basados en pruebas en los siguientes 5 a 10 años.

Casos de uso de CAPTCHA

Como medida de detección y prevención de bots, la tecnología de CAPTCHA tiene varios usos comunes, entre ellos:

Prevenir registros falsos. Al solicitar a los usuarios que resuelvan un CAPTCHA antes de registrar una cuenta de correo electrónico, un perfil de redes sociales u otro servicio en línea, las empresas pueden filtrar bots destinados a aprovechar estos servicios para dispersar correo no deseado o malware o realizar otros actividades maliciosas. Los primeros en adoptarla fueron empresas como Yahoo, Microsoft y AOL, que querían evitar que los bots registraran cuentas de correo electrónico falsas.

Protegerse ante transacciones sospechas. Empresas como Ticketmaster han utilizado CAPTCHA para evitar que los bots compren productos limitados, como entradas de conciertos, y las revendan en mercados secundarios.

Proteger la integridad de las encuestas en línea. Sin una medida disuasoria como los CAPTCHA, las encuestas en línea pueden ser comprometidas por bots. Algunos de los primeros experimentos en tecnología similar a CAPTCHA fueron motivados por la necesidad de proteger la integridad de los resultados de las encuestas en línea. Por ejemplo, para garantizar la calidad de sus encuestas de opinión en línea durante las elecciones presidenciales estadounidense de 1996, Digital Equipment Corporation escondió una imagen pixelada de una bandera en la página web que los usuarios tenían que encontrar y hacer clic sobre ella para poder emitir sus votos.

Frenar el spam de reseñas de productos y comentarios comentario. Los estafadores y ciberdelincuentes suelen utilizar las secciones de comentarios en blogs y artículos para dispersar estafas y malware. También publican grandes cantidades de reseñas falsas para aumento artificialmente la clasificación de un producto en un sitio web de comercio electrónico o un buscador. Los bots también pueden utilizar secciones de comentario desprotegidas para realizar campañas de acoso. Estas actividades maliciosas pueden mitigarse pidiendo a los usuarios que completen un CAPTCHA antes de publicar un comentario o una reseña.

Defenderse contra ataques de fuerza bruta y de diccionario. En los ataques de fuerza bruta y de diccionario, los hackers se cuelan en una cuenta mediante el uso de bots que adivinan combinaciones de números, letras y caracteres especiales hasta encontrar la contraseña correcta. Estos ataques se pueden detener solicitando a los usuarios que completen un CAPTCHA después de un cierto número de intentos fallidos de inicio de sesión.

Desventajas de los CAPTCHA

Si bien, en términos generales, la tecnología CAPTCHA ha demostrado ser efectiva para detener bots, no está exenta de contrapartidas.

Experiencia del usuario más incómoda. Los CAPTCHA agregan un paso adicional a los procesos de registro, inicio de sesión y formularios que algunas personas encuentran molestos. Además, como la complejidad de los CAPTCHA es mayor para combatir a los bots más sofisticados, resolver CAPTCHAS también se ha vuelto frustrante para los usuarios. En un estudio de 2010, unos investigadores de la Universidad de Stanford pidieron a grupos de tres personas que resolvieran los mismos CAPTCHA. Solo el 71 % de las veces todos los participantes resolvieron de forma unánime el CAPTCHA (PDF, 2,5 MB; enlace externo a IBM.com). El estudio también concluyó que los hablantes de inglés no nativos tenían más dificultad para resolver los CAPTCHA que los nativos, lo que sugiere que los CAPTCHA pueden ser más complicados para algunos grupos demográficos que para otros.

Inaccesibilidad. Los CAPTCHA de texto e imagen pueden ser extremadamente complicados o imposibles de resolver para usuarios con discapacidades visuales. Esto se ve agravado por el hecho de que los lectores de pantalla no pueden leer la mayoría de las pruebas de CAPTCHA porque están diseñadas para que las máquinas no las puedan leer.

Algunas formas alternativas de CAPTCHA han intentado abordar este problema, pero tienen sus propias limitaciones. Los CAPTCHA de audio, que solicitan a los usuarios que descifren audio deformado, son especialmente difíciles de resolver. El citado estudio de Stanford constató que los usuarios resuelven de forma unánime las pruebas CAPTCHA de audio solo el 31 % de las veces.

MAPTCHA, un tipo de CAPTCHA que pide a los usuarios que resuelvan problemas matemáticos sencillos, es muy vulnerable a ser descifrado por algoritmos.

Además, el uso de CAPTCHA inaccesibles puede tener repercusiones legales. La Enmienda de la Sección 508 de la Ley de Rehabilitación de 1973, introducida en 1998, exige que las agencias federales de EE. UU. y las organizaciones privadas que realicen negocios con estas agencias faciliten el acceso a la información digital a personas con discapacidades. Las empresas pueden estar incumpliendo este requisito si no disponen de opciones CAPTCHA accesibles.

Tasas de conversión inferiores. La incómoda experiencia del usuario y la inaccesibilidad de los CAPTCHA pueden influir negativamente en las tasas de conversión. En un caso práctico de 2009 realizado sobre 50 sitios web, pedir a los usuarios que completaran un CAPTCHA redujo las conversiones legítimas en un 3,2 por ciento  (enlace externo a IBM.com). Los CAPTCHA de audio pueden ser especialmente perjudiciales: el estudio de Stanford mencionado anteriormente concluyó que los usuarios dejan de resolver CAPTCHA basados en sonido la mitad de las veces.

La IA de los bots sigue evolucionando para superar nuevos CAPTCHA.Los esquemas de CAPTCHA han cambiado muchas veces desde la incepción de la tecnología como respuesta a la evolución constante de los bots para superar cada nueva prueba de CAPTCHA. La propia estructura de la tecnología CAPTCHA contribuye a este problema porque los CAPTCHA se basan en problemas de IA no resueltos para impedir bots. Cuando los humanos resuelven las pruebas de CAPTCHA, generan conjuntos de datos que pueden entrenar algoritmos de machine learning para superar estos problemas de IA que antes eran imposibles. Por ejemplo, en 2016, el investigador de ciencia informática Jason Polakis utilizó la búsqueda inversa de imágenes de Google para resolver los CAPTCHA basados en imágenes de Google con una precisión del 70 %.

Preocupaciones sobre la privacidad. Si bien las nuevas formas de CAPTCHA intentan resolver los problemas de accesibilidad y detener la carrera armamentística de los bots eliminando por completo las pruebas interactivas, algunos usuarios e investigadores consideran invasivos los CAPTCHA basados en IA. La gente ha expresado su preocupación sobre cómo reCAPTCHA v3 usa códigos y cookies para monitorizar a los usuarios en varios sitios web. Algunos sienten que no hay suficiente transparencia sobre cómo estos datos de rastreo podrían usarse para fines más allá de la verificación.

*Un Test de Turing, llamado así por su creador Alan Turing, prueba la capacidad de una máquina para demostrar inteligencia humana.

Soluciones relacionadas
Gestión de accesos e identidades (IAM)

Conecte a cada usuario con el nivel preciso de acceso con la solución IBM Security Verify IAM.

Explore las soluciones de IAM
Autenticación avanzada

IBM Security Verify permite ir más allá de la autenticación básica con opciones de autenticación de multifactores o sin contraseña.

Explore la autenticación avanzada
Acceso adaptativo

Proteja de manera proactiva a los usuarios y activos con la autenticación basada en riesgos asistida por IA con IBM Security Verify.

Explore las soluciones de acceso adaptativo
Recursos ¿Qué es la gestión de accesos e identidades (IAM)?

IAM permite a los administradores de TI asignar, autenticar, permitir y gestionar una única identidad digital para cada usuario o entidad en la red.

¿Qué es la autenticación de multifactores (MFA)?

MFA requiere al menos un factor de autenticación además de una contraseña, o al menos dos factor de autenticación en lugar de una contraseña, para autenticar a los usuarios.

¿Qué es el inicio de sesión único (SSO)?

SSO permite a los usuarios iniciar sesión una vez, utilizando un conjunto único de credenciales de inicio de sesión, y acceder a varias aplicaciones y servicios relacionados durante esa sesión.