Por más que los mecanismos de CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) han sido mejorados para que no sean fácilmente sobrepasados por algún tipo de algoritmo automático, existen varios métodos asociados a la discriminación entre humanos y computadores en la web. Algunos utilizan caracteres alfanuméricos con un fondo borroso que dificulta su lectura (incluso para los humanos). También, existe la posibilidad de reproducir un audio con el código correspondiente. Facebook por ejemplo, utiliza un CAPTCHA bastante particular, ya que solicita al usuario que reconozca sus contactos en algunas fotografías aleatorias.

Muchos investigadores, han destinado tiempo y recursos, para ver qué tan seguros son esos sistemas que brindan protección contra máquinas automatizadas para que ellas no puedan ingresar, ni abusar del sistema.

El mes pasado, investigadores de la Universidad de Standford, publicaron un paper denominado: Fortalezas y debilidades del CAPTCHA basado en texto. En ese artículo, el equipo de investigación aplicó una metodología de evaluación sistemática a 15 CAPTCHAS de sitios conocidos, entre ellos CNN, Megaupload, eBay, Google y Wikipedia; y obtuvieron resultados exitosos en 13 de ellos. Es importante aclarar que Google y reCAPTCHA fueron los únicos dos sistemas que se resistieron a los ataques del algoritmo creado.


Para descifrar los CAPTCHAS, los investigadores se valen de un mecanismo de cinco fases. La primera etapa es la de preprocesamiento, que sirve para eliminar los patrones de fondo que causan ruido. Luego, viene la etapa de segmentación que separa la secuencia de caracteres en caracteres individuales. Una vez que la secuencia de caracteres se encuentra segmentada se puede realizar la postsegmentación, que consiste en la última etapa del denominado proceso matricial y que dejará lista la secuencia para identificar los caracteres. En la fase siguiente se realizará dicha tarea, que es la de reconocimiento, en donde se busca enseñar al clasificador cómo lucen los caracteres luego de la segmentación. Por último, se realiza el postprocesamiento para mejorar y hacer más clara la salida.

Este proyecto permitió a los investigadores observar aspectos interesantes a tomar en cuenta a la hora de diseñar CAPTCHAS para volverlos más seguros. Una breve reseña de los mismos, se la pasamos a continuación:

  • Utilizar letras de diferentes tamaños
  • Formar palabras de longitudes aleatorias
  • Hacer uso de esquemas diferentes

Para aquellos interesados, les sugerimos leer el artículo completo (enlace más arriba) dado que estas recomendaciones son muy interesantes para aquellos que tengan intención de crear un sistema seguro y capaz de identificar los casos en donde máquinas estén realizando usos abusivos sobre los sitios.

Raphael Labaca Castro
Especialista en Awareness & Research