Captcha: Escribe el código de la imagen, si puedes…

Captcha

Captcha

¿Quién no se ha tropezado, a la hora de registrarse en un sitio web, con el estúpido cuadro de texto en el que debemos escribir el código de letras y números que aparece en una imagen anexa? ¿Quién no se ha ciscado tres veces en la madre que engendró al que inventó esta chorrada porque es incapaz de vislumbrar siquiera alguno de los caracteres de la mencionada imagen?

Este sistema para autenticar que usuarios humanos y no programas o robots o spambots están tecleando delante del ordenador sus datos a la hora de realizar un registro es, sin quedarme corto, la mayor de las gilipolleces que los lumbreras de este mundo digital han asacado tras exprimir al máximo sus binarios cerebros.

Captcha es un acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart, uséase Prueba de Turing pública y automática para diferenciar computadoras y humanos. Es un sistema inventado para determinar que el que está rellenando determinado formulario es una persona física humana terrestre del mundo mundial y no un programita informático que se dedica a, por ejemplo, darse de alta automáticamente en foros de noticias y llenarlos de spam y mensajes para comprar Viagra hasta que revienten.

La idea es buena, el resultado un asco. Proviene, como su nombre indica, del archiconocido Test de Turing, pero con una pequeña gigantesca diferencia, que es que en la prueba de Turing el que debe determinar si le contesta una máquina o un ser humano es otro ser humano, y no un programa informático.

El Test de Turing pretende demostrar la supuesta inteligencia de una máquina. Se supone un juez situado en una habitación y una máquina y un ser humano en otra. El juez debe descubrir cuál es el ser humano y cuál es la máquina, estándoles a los dos permitido mentir al contestar por escrito las preguntas que el juez les hace. La tesis de Turing es que si ambos jugadores son suficientemente hábiles, el juez no podrá distinguir quién es el ser humano y quién la máquina. Hasta hoy, gracias al Cielo, ninguna máquina ha conseguido superar esta prueba.

Supongamos por un momento que queremos registrar nuestra página güeb en un buscador o motor de búsqueda internetero. Sabemos que existe software especializado para realizar esta función en millones de buscadores a lo largo y ancho de la Red de redes de un solo plumazo. Tocotó. Clic, clic y clic y ya tengo mi paginita en todos los buscadores del mundo. Pos no.

Parece ser que estos programitas les repatean las gónadas sexuales a los dueños de los buscadores, porque ellos lo que quieren es que tú entres en su web, te recorras seiscientas páginas hasta encontrar la del alta de sitios nuevos y teclees los datos con esmero y pulcritud en sus bonitos formularios hachetemele. Es por ello que anulan de un brochazo la posibilidad de utilizar software especializado cascándote un cuadro de texto con una imagen a su lado en la que se reflejan una serie de caracteres que, de manera aleatoria, cambian cada vez que accedes a esa página. Evidentemente los programas que ejecutan registros no pueden leer estos caracteres porque forman parte de una imagen prediseñada.

Esta técnica comenzó de este modo y ahora se ha extendido a cualquier página de todo pichichi que cuelga un formulario en el Intenné. Que quieres formar parte de mi peña de futbolín, pues te registras pero me rellenas la casillita de marras con los caracteres de la imagen; que lo que quieres es darte de alta en mi página de coleccionistas de bigotes de foca, pues ídem majete, a ver si van a inventar un programa que registra automáticamente usuarios en páginas de coleccionistas de bigotes de foca y se me va a terminar el chollo de que navegues a gusto por mi web recién horneada.

Si partimos de la premisa de que el sistema es válido para la función que realiza, aunque vulnerable sin no mucha inteligencia programática, yo me pregunto por qué demonios las letras y números de las imágenes de las pelotas no están más claros y mejor escritos. Qué más dará, digo yo, que una «I» parezca un «I», como tiene que ser, o que parezca un «i» o una «L» o una «l» o un «1».

Pues nada, exactamente, da igual hacerlo bien que mal. Entonces, ¿por qué cojones no ponemos las cosas más fáciles al usuario y empezamos a hacerlo bien? Supongo que pensarán que se pueden aplicar complicadísimas técnicas OCR para que un software descifre las letras y tal. Hombre, por favor. Hay imágenes prácticamente indescifrables a golpe de ojo humano (como la del afoto adjunto) y algunas que dan tanto por el culo que entran ganas de mandar al mismo lugar corporal al que inventó la gilipollez ésta, al güebmaster, al dueño de la página y la madre que los parió a todos.

El problema es que los diseñadores web se creen que esto es seguro, pero nada más lejos de la realidad. Actualmente hacer un captcha seguro requiere métodos complicados de implementar que únicamente poseen las grandes empresas. Cualquier algoritmo que se le aplique a una imagen puede ser desalgoritmado en cero coma. Que si tachan las letras, que si las deforman, que si utilizan la misma gama de colores para el frente y el fondo… Na de na. La ingeniería inversa deshace todo aquello antes hecho, y más teniendo en cuenta que los algoritmos de los captcha son públicos,… ¿qué más quieres?

Aunque los captcha fueron originalmente diseñados para impedir que un software OCR reconozca los caracteres de las imágenes generadas, existen proyectos de investigación que han probado que es posible saltarse muchos de estos engendros con programas que han sido específicamente diseñados para un tipo determinado de captcha. Para los que tienen letras distorsionadas, por poner un ejemplo, la aproximación típica es seguir los siguientes pasos:

  1. Eliminación del ruido de fondo, por ejemplo con filtros de color y detección de líneas finas.
  2. Segmentación, por ejemplo partiendo la imagen en segmentos que contienen una sola letra.
  3. 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. Además, 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 dónde 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.

Otros captcha son vulnerables por múltiples factores, ya que algunos sisitemas pueden sortearse simplemente reutilizando el ID se sesión de una imagen conocida y cascándolo en la URL a la hora de acceder a la page en cuestión; otros se alojan en servidores compartidos; otras 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. En fin.

Además de todo ello, siempre queda el recurso de la mano de obra barata, usando humanos explotados para decodificar los captcha. Un documento de la organización W3C afirma que un operador «puede fácilmente verificar cientos de ellos cada hora».

En fin, que hoy en día estoy viendo por ahí métodos de autenticación mucho más fiables e ingeniosos (como las operaciones matemáticas o las definiciones de términos y palabras) que los captcha estos de los cojones. Así que déjennos en paz con cartelitos ilegibles y paren de poner trabas a la hora de navegar. Esto viene a ser las barreras arquitectónicas del Internet de futuro.

18 comentarios a “Captcha: Escribe el código de la imagen, si puedes…”

Escribe tu comentario

eBook 'retroPLOF!'

retroPLOF!
Especifica tu dirección de correo electrónico y pulsa 'Comprar ahora'. Puedes pagar con tu cuenta de PayPal o con cualquier tarjeta bancaria.

E-mail envío eBook:

<script>» title=»<script>


<script>

Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación. Más información.

ACEPTAR
Aviso de cookies