Noticias

cabecera notica

null Divulgatic: Captchas y algoritmos en vivo

Divulgatic: Captchas y algoritmos en vivo

Una sección a cargo de Javier García sobre herramientas, recursos, ideas, curiosidades o novedades para creadores de contenidos, desarrolladores, y gente interesada en la tecnología en general 

javier garcía

 

Javier García

Sección de Telemática

 


¡¡RECaptchOLIs!!

Todos hemos tenido que pasar por la insufrible prueba de tener que identificar los semáforos, o señales en una foto y terminar con la sensación de dudar si uno sigue o no siendo humano. Los sistemas de CAPTCHAS surgieron de la necesidad de separar a bots automáticos no siempre con motivos honestos, de personas de carne y hueso, independientemente de sus motivos. 

 

CAPTCHA

 

El nombre de CAPTCHA, viene del acrónimo 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) y está basado en el test de Turing pero inverso, es decir, no para que un humano sepa si está tratando con una máquina, sino para que una máquina sepa si está tratando con un humano o con otra máquina.

Este término se empezó a utilizar en la Universidad Carnegie Mellon allá por el año 2000 e inicialmente eran caracteres distorsionados cuya respuesta ya era precargada y conocida.

img

 

ReCAPTCHA

La siguiente evolución del mismo autor de los captchas originales, Luis von Ahn, presentaba generalmente dos imágenes de palabras, una conocida por el algoritmo y otra desconocida fruto de la incapacidad de identificación por el software de reconocimiento de imágenes u OCR de la época y que se pretendían escanear, como por ejemplo el archivo impreso del New York Times y otras fuentes como libros antiguos.

img

Cuando había cierta evidencia de que la palabra asociada a esta imagen era la correcta, pues se le presentaba a diversas personas, se usaba para ir mejorando el software. A esta evolución se le conoció como reCAPTCHA y terminó siendo comprada por Google y usado en su proyecto de Google Books. Estos sistemas OCR llegaron a ser tan buenos, que la precisión llegó a un 99.8% para el 2014 sobre texto, y fue ese año cuando se sustituyeron las palabras por imágenes para reconocer objetos corrientes como semáforos, bicicletas, etc. El resultado como era de esperar también se venía venir, y es que las máquinas terminan haciendo casi mejor este resultado que los humanos.

img

Nos encontramos ya en esa fase, donde se apuesta por una menor interacción humana, como pueda ser marcar una casilla indicando que no soy un robot. Esta estrategia usa evidencias más sutiles, como el hecho de tener que mover un ratón para llegar a la casilla, cosa que un bot de entrada no haría, incluir campos ocultos en el formulario que un bot tratará de completar, cookies de larga duración de otras aplicaciones de Google, o en base a la reputación de la dirección IP usada para acceder.

img

Aunque Google ha sido el mayor proveedor de este tipo de soluciones, la Unión Europea ha lanzado software libre con estos fines como EU-CAPTCHA con los objetivos de ser multiidioma, amigable, etc., aunque sin la parte de inteligencia que usan los sistemas más avanzados, o la presentada recientemente por Cloudfare conocida por Turnstile, que buscan también reducir la fricción que suponen estos mecanismos.

Como vemos, esto es una carrera de armamento en la que una parte, la que propone los mecanismos de protección, frente a la otra, la que intenta sabotearlos para que los bots puedan saltárselos. Intentar hacer convivir los intereses legítimos de proveedores de servicios para evitar amenazas como DoS, inyección de spam, ataques de fuerza bruta entre otros, con futuros asistentes digitales personales que hagan la tarea de comprar una entrada por ejemplo sin que necesiten mi continua atención, será una tarea a abordar y armonizar en un futuro, y por lo que veo aún nos queda recorrido por delante.

 

Algoritmos en vivo

 

Visualgo

Hay innumerables algoritmos que intervienen en multitud de procesos de nuestro día a día, desde la búsqueda de una ruta por el navegador del coche, al que otro día le dedicaremos una entrada, u otros menos visibles, pero que están detrás de interacciones como acceder a cualquier cuenta de banco, con algoritmos como el de búsqueda en árbol balanceado usado en muchos índices de bases de datos, o la simple ordenación de los resultados de un buscador.  En esta página, el profesor Steven Halim, empezó en 2011 a mostrar cómo funcionaban de forma visual muchos de estos algoritmos mediante simulación para sus estudiantes de algoritmos y estructuras de datos y que a cualquier de nosotros nos puede ayudar a entender los mecanismos que hay detrás de ellos.

img