alt=smwm|miniaturadeimagen|Prueba CAPTCHA para la secuencia «smwm» que dificulta el reconocimiento OCR por parte de los bots, distorsionando las letras y añadiendo un degradado de fondo
Un CAPTCHA (siglas en inglés de Completely Automated Public Turing test to Tell Computers and Humans Apart, en español: «prueba de Turing completamente automática y pública para diferenciar ordenadores de humanos») es un sistema de desafío-respuesta utilizado en informática para determinar si el usuario es una persona o un bot (programa automático).
Estos sistemas se implementan automáticamente en servidores o aplicaciones web sin necesidad de intervención humana directa en cada prueba. Su funcionamiento se basa en tareas que resultan sencillas para los humanos pero difíciles de resolver para los algoritmos informáticos, como identificar letras distorsionadas, seleccionar imágenes específicas o resolver pequeños problemas lógicos.
Es similar a un test de Turing con la diferencia de que son jueces humanos. Por ello, a los captchas a veces se les llama Test de Turing inverso o prueba de Turing inversa;Charles Naut, David Chung, Maurizeio Calo, Reverse Turing Test, espacio digital 'SlideShare', 1 de julio de 2010.esta denominación es un tanto ambigua, ya que eventualmente puede significar que los participantes o usuarios tratan de convencer a alguien (humano o autómata) de que ellos no son humanos.
Lo ideal es que el algoritmo utilizado sea público. De esta forma la ruptura de un captcha requiere la solución a un problema difícil, en lugar de solo el descubrimiento del algoritmo (secreto) que podría obtenerse mediante ingeniería inversa u otros medios.
Motivación
En Internet se ofrecen varios servicios de forma gratuita con la esperanza de que los ingresos publicitarios o la venta de los datos de los usuarios generen ganancias.
La suposición clave detrás de los modelos de negocio empleados por estos sitios es que los ojos humanos están viendo esos anuncios. Sin embargo estos servicios los pueden usar programas automáticos para obtener dinero. Por ejemplo, las cuentas de correo electrónico se pueden usar para enviar correo no deseado o se pueden usar servicios de redes sociales o servicios que permiten publicar contenidos para servidores de comando y control para una botnet.
Los CAPTCHA se desarrollaron como un medio para limitar la capacidad de los atacantes de escalar sus actividades utilizando medios automáticos.Understanding CAPTCHA-Solving Services in an Economic Context. Marti Motoyama et ali. 2010
Historia
El término se empezó a utilizar en el año 2000 por el guatemalteco Luis von Ahn,El inventor del código Captcha ¡es guatemalteco! , sitio digital 'Yahoo! Noticias en español', 23 de septiembre de 2014. así como por Manuel Blum y Nicholas J. HopperNicholas J. Hopper : Research interests; Education; Publications; Academics honors and Awards; Teaching experience; Academics and Professional Service; Conference and Workshop Presentations; Other Professional Experience; Abstracts of accepted and submitted papers, sitio digital 'Computer Science Department / Carnegie Mellon University'. de la Universidad Carnegie Mellon, junto a John Langford de IBM.
Inicialmente los captcha consistían en que el usuario introducía correctamente un conjunto de caracteres que se muestran en una imagen distorsionada que aparece en pantalla. Se supone que una máquina no es capaz de comprender e introducir la secuencia de forma correcta, por lo que solamente el humano podría hacerlo.
Poco a poco, los programas han ido aprendiendo a resolver este tipo de problemas. Esto ha obligado al CAPTCHA a evolucionar dando lugar a distintos tipos de CAPTCHAs.
Tipos Las propiedades principales que tiene que cumplir un CAPTCHA son: Facilidad de resolver por humanos. Facilidad de generar y evaluar la solución proporcionada Dificultad para ser resuelto por máquinas
Se han desarrollado varias técnicas diferentes para generar CAPTCHA, cada una de las cuales satisface las propiedades descritas anteriormente e diferentes grados. Los más habituales son: Basados en texto o CAPTCHAs textuales. Consisten en un desafío visual en forma de caracteres alfanuméricos que están distorsionados de tal manera que los algoritmos de visión por computadora disponibles tienen dificultades para segmentar y reconocer el texto. Al mismo tiempo, los humanos, con cierto esfuerzo, tienen la capacidad de descifrar el texto y responder correctamente al desafío. A partir de 2017 se desarrollaron sistemas de software basados en inteligencia artificial que han conseguido resolver fácilmente este tipo de CAPTCHAS. De esta forma ha sido necesario rediseñar los CAPTCHAS para desarrollar sistemas más idóneos y modernizados.La inteligencia artificial aprende a engañar a los ‘captcha’. Francesco Rodella. elpais.es. 14 de diciembre de 2018Las CAPTCHAs basados en textos ya no son fiables. Francisco R. Villatoro. La ciencia de la mula Francis. 8 de diciembre de 2017 Los CAPTCHAs de texto se pueden aprovechar para la digitalización de partes de documentos que el OCR es incapaz de distinguir. Por ejemplo, Google colocaba dos palabras en sus pruebas de Captcha. De esas dos palabras una era conocida por el sistema y la otra no. El sistema pedía al usuario, quien desconoce qué palabra es conocida y cuál no lo es, que introdujera ambas palabras como texto. Si la palabra conocida por el sistema es introducida correctamente por un humano, el sistema asumía que hay probabilidades altas de que el usuario también haya introducido la palabra desconocida correctamente. Si la palabra desconocida recibe en múltiples ocasiones la misma transcripción humana (traducción de imagen a texto) se considera que esa transcripción es correcta.CAPTCHAS. DEBILIDADES Y FORTALEZAS. Patricia Román Escabias. Trabajo Fin de Grado en Ingeniería Informática. Universidad Carlos III de Madrid. 24 de junio de 2013. Basados en cálculos matemáticos. En ellas el usuario debe resolver problemas matemáticos sencillos.Qué es un Captcha, todo lo que necesitas saber. Raul Garcia Calvache. Desafío Hosting. 28 de octubre de 2019 Para dificultar la resolución del problema por software, es habitual introducir texto que complique la interpretación del problema. Por ejemplo, “Multiplica 7 y 7, y escribe la primera cifra del resultado en el campo de respuesta”. Basados en juegos de palabras. En ellas al usuarios se le da una palabra y se le pide que la escriba de nuevo, o una serie de ellas en la que tiene que repetir la última. O mostrar un color y pedirle que escriba cómo se llama. Basados preguntas lógicas, de cultura general o exigiendo cierto grado de conocimiento en la materia de la que trata la aplicación en cuestión. Por ejemplo, ¿De qué color es el caballo blanco de Santiago?, ¿En qué ciudad se encuentra el Coliseo? Basados en redes sociales. Consiste en pedir al usuario que se registre mediante alguna de sus cuentas en redes sociales. En general, es bastante segura a la hora de distinguir la presencia de un humano o un robot, pero muchas personas dudan a la hora de dar esta información relevante ya que facilita modelizar el comportamiento de un usuario a través de distintas plataformas (perfilar usuarios). Basados en límite de tiempo. Este tipo de CAPTCHA cuenta el tiempo que le lleva a un usuario rellenar un formulario. Se entiende que el humano necesitará algo de tiempo mientras que el bot lo hará de forma casi automática. Aunque se puede entrenar a un bot para que espere un tiempo determinado, si no está específicamente entrenado para esto, será detectado al momento. Basados en campos ocultos. En ello, nos encontramos una serie de campos o celdas, algunos de los cuales son visibles para el humano y otros no. Sin embargo, para el software todos los campos son visibles porque pueden leer el contenido de las celdas. De esta forma, caerán en la trampa rellenado todos los campos y no solo los que estaban visibles para las personas. CAPTCHAs visuales o gráficos. En ellos se nos presentan una serie de imágenes y debemos hacer clic en todas aquellas que contengan un elemento determinado como semáforos o escaparates de tiendas. Actualmente tiene una tasa de éxito bastante elevada. Sin embargo, la aparición de los algoritmos de reconocimiento de imágenes está poniendo en peligro su efectividad. Google también utiliza captchas compuestos por una imagen cuadriculada donde el usuario ha de hacer clic sobre áreas determinadas, por ejemplo, en los campos donde se visualiza una señal de tráfico.Captcha: cómo diferenciar a los humanos de los robots. Digital Guide Ionos. 22 de agosto de 2018 Basados en audio o CAPTCHAs auditivos. Suele consistir en un botón con el cual el usuario puede alternar a la versión sonora de una secuencia de cifras que a continuación puede escribir en el campo para la respuesta. Es importante que la grabación sea comprensible y adaptada al idioma del usuario, algo que no siempre sucede. Este tipo de captchas se suele usar como alternativa a los captchas basadas en la vista, para permitir el acceso a personas que tienen dificultades de visión. Captchas lúdicos. Cada vez es necesario CAPTCHAS más complicados lo que para ciertos servicios espantan a los usuarios. Una nueva tendencia consiste en la gamificación, es decir convertir la resolución del CAPTCHA en un juego más entretenido que los CAPTCHAs complejos. Proveedores como SweetCaptcha o FunCaptcha ofrecen juegos entretenidos que pueden integrarse en captchas. Por ejemplo tener una pieza de puzle y decir donde hay que encajarla, o rotar una imagen hasta que esté correctamente orientada. Basados en vídeos. Basados en análisis de conducta o comportamiento. Por ejemplo las versiones 2 y 3 de reCAPTCHA siguen esta estrategia.
Aplicaciones Los captchas son utilizados para intentar evitar que programas automatizados, puedan utilizar ciertos servicios. Por ejemplo, para que no puedan participar en encuestas o foros de discusión, registrarse para usar cuentas de correo electrónico o enviar correo basura (para enviar un correo se obligaal usuario a pasael test hum).
Servicios de resolución de CAPTCHA Para paliar la funcionalidad de los CAPCHAs se han creado servicios de resolución de CAPTCHA de pago. Dichos servicios son de dos tipos: Los basados en soluciones automatizadas y los basados en el trabajo humano.
El coste asociado a cada servicio determina el grado de utilización del mismo. Ya que para que sea utilizado un servicio es necesario que el valor de los activos asociados (por ejemplo, una cuenta de correo electrónico) valga más que el costo de resolver el CAPTCHA.
Basados en soluciones automatizadas
Con este enfoque se desarrolla una competición técnica entre aquellos que desarrollan algoritmos de resolución y aquellos que desarrollan desafíos cada vez más confusos en respuesta. Sin embargo, hay que considerar que la estructura de costos subyacente favorece al defensor constructor de los desafíos. Las técnicas usadas para resolver este tipo de problemas son de la inteligencia artificial. Por ejemplo el aprendizaje automático y las redes neuronales.Reconocimiento de CAPTCHAs con redes neuronales. Alejandro León Fernández. Trabajo de Fin de Grado. Escuela Superior de Ingeniería y Tecnología. Universidad de la Laguna. 10 de junio de 2019
La investigación en el sector de la inteligencia artificial avanza a paso seguro y la habilidad de los programas especializados para interpretar los CAPTCHAs mejora a una velocidad de vértigo. Numerosos proveedores de captchas intentan compensar los avances con métodos cada vez más complejos de verificación, llegando a rozar a menudo la frontera de lo factible. Ya en 2010 los investigadores de la Universidad de Stanford) señalaron que en muchos casos los captchas constituyen un gran desafío incluso para los internautas.
Basados en el trabajo humano