CAPTCHAS [CHWonders]

CAPTCHAS [CHWonders]

por

Bastante molestosos al momento de navegar por las paginas web, pero bastante útiles como método para evitar spam y bots en foros.

A quién no le ha sucedido que mientras trata de descargar algún archivo, registrarse en alguna página o comprando algo por internet, se encuentra con esos desagradables textos que parecen jeroglíficos y hay que descifrarlos para poder continuar con lo que estemos haciendo.

Estos se llaman CAPTCHA y es el acrónimo para “Completely Automated Public Turing Test to Tell Computer and Humans Apart” en resumen simplemente es un test para diferenciar computadores de humanos al momento de realizar alguna acción en la página web.

Y ¿por qué alguien querría utilizar esto en su página? La razón es simple, existe un grupo menor de personas que utiliza programas para generar automáticamente cuentas en determinadas páginas, y así usar esas cuentas para postear o mandar spam masivamente.

A pesar que también existen programas para descifrar estos CAPTCHAS, los creadores de estos no se preocupan, porque modificar un CAPTCHA no cuesta nada, y en cambio generar un programa que los descifre cuesta bastante, y por lo demás contribuye a la inteligencia artificial.

Test de Turing

La tecnología de los CAPTCHA proviene de un experimento llamado Test de Turing. Alan Turing, a veces llamado el padre de la computación moderna, propuso un test  de manera de ver si las maquinas podían pensar o no. El test es básicamente un juego de imitación, en donde un interrogador pregunta a dos participantes una serie de preguntas. Uno de los participantes es una máquina y el otro es un humano. El interrogador no puede ver u oír a los participantes de manera que no pueda saber cuál es cual. Si el interrogador no logra distinguir a la máquina del humano luego de ver las respuestas, entonces la maquina pasa el test de Turing.

Claro que a diferencia del test de Turing, el uso del CAPTCHA pretende que los humanos puedan pasar fácilmente la prueba y que la maquina falle al intentarlo. También es importante que el sistema de CAPTCHA muestre distintas variantes cada vez que un usuario nuevo entre al sitio, sino no habría gracia y sería cosa de tiempo para que alguien creara un programa que respondiera lo mismo siempre.

La mayoría de los CAPTCHA son visuales, y es por lo cual aprovecha la capacidad que tenemos los humanos de los sentidos para ponernos a prueba. Es así como podemos ver una imagen a pesar que esta esté distorsionada o difusa. Esto es debido a un efecto sicológico llamado pareidolia, el cual es culpable de que a veces veamos figuras o formas en otras cosas, como cuando vemos las nubes en el cielo.

Pero no todos los CAPTCHA son visuales, también existen algunos que usan audio, sobre todo para aquellos usuarios con alguna discapacidad visual. Y en donde uno debe repetir o responder a lo que suena.

Uso del CAPTCHA

Un uso común para los CAPTCHA es cuando se realizan encuestas online. De hecho una encuesta realizada en 1999 por Slashdot demuestra lo que podría suceder si es que estos filtros de bots no se aplicaran. Sucede que Slashdot publico una encuesta que preguntaba a sus visitantes sobre cual universidad tenía el mejor programa escolar para computación, y es así como estudiantes de dos universidades (Carnegie Mellon y MIT) crearon un bot, para votar de manera reiterativa por sus respectivas escuelas. Mientras esas dos universidades tenían miles de votos, las otras tenían tan solo unas pocas. Entonces es así como en la actualidad para todas las encuestas online hay que pasar una serie de pruebas y registros para evitar los posibles fraudes.

Otro de los usos que se le da al CAPTCHA es para el registro de los servicios gratuitos de mensajería como lo son Hotmail, Yahoo o Gmail. Aquí la filtración es importantísima porque es mediante estos servicios el envió del molestoso SPAM, y muchos Spammers suelen crearse cuentas con nombres de empresas o de gente importante para engañar al resto de los usuarios.

En las ventas de ticket vía internet, también se usan los CAPTCHA, para que así no exista la posibilidad de que un revendedor compre automáticamente todos los tickets disponibles y luego los revenda a través de otro sitio.

Creando un CAPTCHA

El primer paso para crear un CAPTCHA es mirando las diferentes maneras en la cual los humanos y las maquinas procesan la información. Las maquinas por un lado siguen instrucciones, y si algo ocurre fuera del rango de esas instrucciones, la maquina no es capaz de resolver la problemática. A pesar que uno pueda crear un CAPTCHA bastante complejo, uno nunca debe incluir información en el archivo correspondiente a la imagen a mostrar, porque de esa manera es cosa de tiempo para crear una base de datos con la serie de distintas imágenes que se muestran y sus respectivas respuestas. Por ejemplo si al CAPTCHA que dice 3eP0n le ponemos como nombre del archivo captcha1.jpg un programador inteligente se dará cuenta de esto y programara de rápida manera al bot para responder.

Una manera de crear un CAPTCHA es predeterminando las imágenes y las soluciones que se van a utilizar. Esta aproximación requiere una base de datos que incluya todas las soluciones. Pero el problema de este método es que si un spammer logra descifrar las posibles soluciones del CAPTCHA, solo le basta generar un bot que bombardee con fuerza bruta todas las respuestas que tiene, y así en algún momento le acertara de cierta manera.

En cambio otras aplicaciones utilizan líneas y caracteres aleatorios cada vez que nos equivocamos, y estas no están dentro de una base de datos. Es por esto que este sistema de CAPTCHA es más seguro que el anterior. Al usar el factor de aleatoriedad elimina la posibilidad de un ataque por fuerza bruta.

Los CAPTCHA utilizan distintas maneras para distorsionar las letras. Algunos estiran y tuercen las letras en raras formas, otros ponen las letras detrás de una serie de rayas o barras para tapar la forma real que tienen. Y otros pocos usan puntos y colores para lograr el mismo efecto. Al final no importa como lo hagamos, porque la meta es solo una: evitar que los bots puedan descifrar lo que nosotros si podemos.

Actualmente vemos CAPTCHAs cada vez más complejos, en donde más allá de descifrar una imagen, debemos pensar y utilizar nuestra lógica para responder.

A pesar que sea un método bastante desagradable de utilizar mientras navegamos, no podemos evitar decir que es un invento bastante novedoso y efectivo para evitar correos spam, y bots posteando por todos los foros sobre viagra o páginas de p0rn.

Al pasar de los años he visto como cada vez se están poniendo más difíciles de descifrar incluso para mí, y en verdad créanme que a veces he estado varios minutos tratando de responderlos, y todo porque a veces no sé si lo que ponen es un 0 o una o; si es un 1 o una l, un 6 o una G y así podría seguir con muchas coincidencias. ¿Y ustedes se han enfrentado a CAPTCHAS difíciles? ¿En qué paginas?