Captcha
Ir a la navegaci�nIr a la b�squeda
smwm
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
CAPTCHA son las siglas de Completely Automated Public Turing test to tell Computers
and Humans Apart (prueba de Turing completamente autom�tica y p�blica para
diferenciar ordenadores de humanos).1? Son pruebas desaf�o-respuesta controladas
por m�quinas (no es necesario ning�n tipo de mantenimiento ni de intervenci�n
humana para su realizaci�n, y es implementado en un ordenador) que son utilizadas
para determinar cu�ndo el usuario es un humano o un programa autom�tico (bot). Es
similar a una test de Turing pero con la diferencia de que en los test de Turing el
juez es un humano. Por ello, a los captchas a veces se les llama test de Turing
inverso o prueba de Turing inversa;2? 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 pasa a ser un problema de inteligencia artificial y no la ruptura de un
algoritmo secreto.
�ndice
1 Motivaci�n
2 Historia
3 Tipos
4 Aplicaciones
5 Servicios de resoluci�n de CAPTCHA
5.1 Basados en soluciones automatizadas
5.2 Basados en el trabajo humano
6 Controversias
6.1 Accesibilidad para personas con discapacidad
6.2 Debilidades del sistema
6.3 Implementaciones inseguras
6.4 Reconocimiento de caracteres por ordenador
7 V�ase tambi�n
8 Referencias
9 Enlaces externos
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 usuario 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 basadas en la web 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.3?
Historia
El t�rmino se empez� a utilizar en el a�o 2000 por el guatemalteco Luis von Ahn,4?
as� como por Manuel Blum y Nicholas J. Hopper5? de la Universidad Carnegie Mellon,
junto a John Langford de IBM.1?6?
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.1?7?
Poco a poco, los programa han ido aprendiendo a resolver este tipo de problemas.
Esto ha obligado al CAPTCHA a evolucionar dando lugar a distintos tipos de
CAPTCHAs.8?
Tipos
Las propiedades principales que tiene que cumplir un CAPTCHA son:3?
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.3? A partir de
2017 se desarrollaron sistemas sistemas 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.9?10? 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. 11?
Basados en c�lculos matem�ticos. En ellas el usuario debe resolver problemas
matem�ticos sencillos.12? 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�.8?
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.12?
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?8?
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).12?
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.12?
Basados en campos ocultos. En ello, nos encontramos una serie de campos o celdas,
algunos de los cu�les 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.12?
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.12? 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.8?
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.8?
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 puzzle y decir donde hay que encajarla, o rotar una imagen hasta que
est� correctamente orientada.8?
Basados en v�deos.9?
Basados en an�lisis de conducta o comportamiento. Por ejemplo las versiones 2 y 3
de reCAPTCHA siguen esta estrategia.8?
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 obliga al usuario a pasar el
test).13?
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. 3?
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.3?
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.3? Las t�cnicas
usadas para resolver este tipo de problemas son de la Inteligencia Artificial. Por
ejemplo el aprendizaje autom�tico8? y las redes neuronales14?.
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. 8?
Basados en el trabajo humano
El uso de mano de obra humana para resolver CAPTCHA efectivamente esquiva su punto
de dise�o. Adem�s, la combinaci�n de acceso a Internet barato y la naturaleza de
los productos b�sicos de los CAPTCHA de hoy en d�a ha globalizado el mercado de
soluci�n; de hecho, el costo mayorista ha disminuido r�pidamente a medida que los
proveedores han reclutado trabajadores de los mercados laborales de menor costo.
Hoy en d�a, hay muchos proveedores de servicios que pueden resolver grandes
cantidades de CAPTCHA a trav�s de servicios a pedido con precios tan bajos como 1
d�lar por mil.3?
Controversias
Accesibilidad para personas con discapacidad
Cualquier problema de dif�cil soluci�n del campo de la inteligencia artificial
puede ser utilizado como, por ejemplo, reconocimiento de caracteres/im�genes (OCR)
o reconocimiento de voz. Sin embargo, estas soluciones impiden a personas con
deficiencias visuales o auditivas acceder a los recursos protegidos.15? Adem�s,
debido a su naturaleza y misi�n, algunos asistentes para discapacitados (como los
lectores de pantalla) no pueden interpretarlos, quedando bloqueado el acceso al
recurso.16?
En algunos sitios se permite elegir entre la validaci�n visual o sonora. En la
actualidad, el desarrollo de captchas basados en sonidos est� muy por detr�s de los
visuales y no son tan eficientes. Existe un proyecto en desarrollo llamado Captcha
Accesible que trata de crear un catpcha orientado a lectores de pantalla para
personas invidentes.
Debilidades del sistema
Hay algunas aproximaciones a c�mo se puede romper CAPTCHA: usando humanos como mano
de obra barata o involuntaria para reconocerlos, explotando bugs en la
implementaci�n que permitan a un atacante saltarse el reconocimiento, y finalmente
mejorando el software de reconocimiento �ptico de caracteres. Proyectos como
reCAPTCHA han intentado en los �ltimos tiempos mejorar la eficacia del sistema
CAPTCHA para evitar completamente el reconocimiento por parte de programas OCR.
Actualmente hacer un captcha seguro requiere m�todos complicados de implementar que
�nicamente poseen las grandes empresas. Pero hay m�todos para dificultar a los
programas OCR. Uno de estos m�todos es el �m�todo del tachado�. Este m�todo
consiste en tachar las letras del captcha de manera que un humano sepa
identificarlas pero un software OCR no pueda separar las unas de las otras. Para
este m�todo es importante utilizar un mismo color de letra (realmente modificar el
color de poco sirve ya que para reconocerlas convierten la imagen a color negro) y
tachar con el mismo color que las letras, a ser posible, una l�nea que no sea recta
y de m�s de un p�xel de grosor.
Es posible resolver los CAPTCHAs usando humanos explotados como mano de obra barata
para decodificar CAPTCHAs. Un documento de la organizaci�n W3C afirma que un
operador �puede f�cilmente verificar cientos de ellos cada hora�. Por otro lado,
hay quien afirma que esto no es econ�micamente viable. Una t�cnica de crackeo usada
con el sistema consiste en usar un script que muestre un CAPTCHA de un sitio
atacado como un CAPTCHA en un sitio que pertenezca al atacante, en el que humanos
desprevenidos visitan y correctamente resuelven estos CAPTCHAs.
Implementaciones inseguras
Howard Yeend ha identificado algunos problemas de implementaci�n con CAPTCHAs
pobremente dise�ados:
Algunos sistemas de protecci�n CAPTCHA pueden sortearse sin usar un sistema de
reconocimiento �ptico de caracteres (OCR) simplemente reutilizando el ID de sesi�n
de una imagen conocida.
Los CAPTCHAs que est�n alojados en servidores compartidos tambi�n presentan un
problema: una incidencia de seguridad en otro alojamiento virtual, podr�a dejar el
sistema CAPTCHA vulnerable.
Algunas veces, si parte del software de generaci�n del CAPTCHA se realiza en el
lado del cliente (la validaci�n se hace en el servidor, pero el texto que el
usuario tiene que identificar es renderizado en el lado del cliente), los usuarios
pueden modificar el cliente para que muestre el texto sin renderizar. Algunos
sistemas usan hashes MD5 almacenados en el lado del servidor, que a menudo pueden
ser crackeados.
Reconocimiento de caracteres por ordenador
Aunque los CAPTCHA han sido originalmente dise�ados para impedir que el software
OCR reconozca los caracteres de las im�genes generadas, existen proyectos de
investigaci�n que han probado que es posible saltarse muchos CAPTCHA con programas
que han sido espec�ficamente dise�ados para un tipo determinado de CAPTCHA. Para
CAPTCHA con letras distorsionadas, la aproximaci�n t�pica es seguir los siguientes
pasos:
Eliminaci�n del ruido de fondo, por ejemplo con filtros de color y detecciones de
l�neas finas.
Segmentaci�n, por ejemplo partiendo la imagen en segmentos que contienen una sola
letra.
Identificar la letra de cada segmento, y as� utilizar la informaci�n extra�da de la
imagen.
El paso 1 es t�picamente muy f�cil de automatizar. En 2005, se mostr� que un
algoritmo de una red neuronal tiene un menor margen de error que los humanos
resolviendo el paso 3. La �nica parte donde los humanos superan a las m�quinas es
en el paso 2. Si el ruido de fondo consiste en formas similares a letras y las
letras est�n unidas a este ruido, la segmentaci�n se hace casi imposible con el
software actual. Por lo tanto, un CAPTCHA efectivo deber�a enfocarse en el paso 2,
la segmentaci�n.