Spambots, captchas y accesibilidad

Phentermine, Viagra, Casinos, Sex, Levitra… Splogs (weblogs de spam), Sping (pings de spam), Spag (tagging de spam)… spam, spam y spam…

Para cualquier persona u organzación que tenga presencia en la web, uno de los mayores incordios es el constante ataque de spambots, o scripts destinados a identificar formularios y enviar mensajes con en fin de conseguir enlaces, accesos a sistemas, generar más spam. Esto es normal el plataformas de publicación distribuidas como WordPress o sitios con muchas visitas a estos les añadimos los trolls y demás fauna de la red con comentarios improcedentes o fuera de tono, hace que ser webmaster tenga dos enfoques: ser una cruz o una "divertida" partida contra "los malos". Personalmente, me lo tomo por el segundo enfoque.

Captchas, ¿qué son? ¿para qué sirven?

Cualquier sistema interactivo tiene dos requerimientos de seguridad básica: dejar fuera a "los malos", sin impedir que accedan "los buenos".

Una de las soluciones diseñadas para limitar los ataques de robots son los Captchas. CAPTCHA es el acrónimo de "Completely Automated Public Turing Tests to Tell Computers and Humans Apart", traducido sería "Test de Turing Para Diferenciar Máquinas y Humanos" El concepto fue desarrolado en la universidad Carnegie Mellon y denominado así por IBM en el año 2000. Según la Wikipedia, se trata de hacer que el humano pruebe su condición. Alan Turing, fue uno de los padres de las ciencias de la computación moderna y la ingeligencia artificial y además, para los curiosos, aparte de un genio, un gran corredor de fondo. Que no se diga que los científicos suelen ser sedentarios.

Un captcha tradicional es el de barrapunto.com
"barrapunto"

Captchas y accesibilidad

Los sistemas de captcha actuales tratan de hacer probar al usuario dos cosas: que es humano, su objetivo principal. Pero su diseño, obliga a probar algo más: que no tiene discapacidades. Si un usuario no puede usar un sistema, se está negando el acceso a servicios como email gratuito por ejemplo.

El W3C, está pendiente de esta problemática buscando soluciones, como vemos Accessibility Problems with Visual Verification Systems

En A Proposal for an Accessible Captcha, se muestran posibles soluciones, incluyendo crear aternativas paralelas en formato audio.

Alzado y los spambots

En alzado, recibimos cientos de mensajes de spambots diarios con enlaces de todo tipo. Tantos, que hemos tenido que cerrar el sistema de comentarios por un tiempo. Cada iniciativa destinada a limitar su actividad es superada. Son listos los malditos…

Afortunadamente, alzado no es un banco online, o forma parte de una plataforma distribuida como WordPress. Es una vía de aprendizaje contínuo, por lo que la situación se toma como un reto divertido más que como una preocupación (de momento).

El experimento: un sistema aleatorio y basado en patrones humanos

Tras conversaciones con Eduardo Manchón, he querido hacer un experimento, inspirado en este post de mildiez y los comentarios de John Udell.

Mi idea, evitar a toda costa el tradicional CAPTCHA y dotarlo de principios más humanos. Estoy seguro de que no tardarán en saltárselo, pero al menos, durante un tiempo estaremos libres de basura.

Una de las ventajas de alzado, es que su gestión de contenidos ha sido desarrollada 100% artesanal, por lo que nos evitamos ataques masificados como los que se puedan lanzar contra sistemas de populares como MSN, Yahoo o contra plataformas de weblogs como esta (WordPress). Otros agujeros tendrá, si les interesa, que se tomen la molestia.

Los objetivos: mantener el carácter anónimo de los comentarios de los usuarios con un método sencillo, mínimamente accesible y no basado en esas combinaciones de caracteres que incluso yo mismo fallo al identificar. Por último, evitar los debates teóricos y meternos de lleno en la práctica con el fin de compartir lo aprendido.

La solución ha sido crear un sistema similar a un Trivial: el lector que quiera enviar un comentario, se encontrará con un tipo diferente de pregunta que deberá responder para que su mensaje aparezca publicado. El ejemplo en alzado, en la pantalla de debajo.

"vista

Características:

  • El sistema es artesano, desarrollado en PHP, y es conceptualmente un prototipo integrado en el gestor de contenidos de alzado
  • Evita, inicialmente, la validación manual de comentarios por parte del editor de contenidos
  • Se basa en un sistema de preguntas de características diferentes, editables manualmente, y escalable en tamaño
  • Las preguntas se realizan en el mismo momento de postear el comentario por el usuario, como un captcha tradicional
  • Estas preguntas son obvias, sencillas resultando fáciles de responder para cualquier persona con una formación o nivel cultural medio
  • Las preguntas se basan en HTML estándar, por lo que pueden aplicarse ciertos principios de accesibilidad evitando inicialmente un desarrollo paralelo en audio
  • Y lo más importante de todo, son cambiantes, es decir, se presentan diferentes tipologías de preguntas aleatoriamente. Un spambot que quiera atacar el sistema debería tener varias estrategias: coordenadas, identificar imágenes en fotos, responder a preguntas sencillas, realizar cálculos simples… o incluso remitir al usuario a otra sección del web para buscar las respuestas
  • Dándole vueltas de manera creativa, podemos conseguir que las personas que comenten a artículos sean conocedores de la materia, si se implementa un sistema de cuestionario relacionado con la temática del sitio o de artículos, elevando así la calidad de los comentarios y por tanto del sitio

Ejemplos de preguntas "humanas"

En principio han de ser sencillas y fáciles. Casi obvias. Otro tipo de preguntas, con algo de riesgo, podrían ser estas 10 cosas que todo el que tenga un graduado escolar debería saber

Ejemplos:

"captcha

Pregunta, tipo Trivial, tema, "Geografía". La imagen, lleva su correspondiente texto ALT para dar una pista a los lectores de voz.

"captcha

Otra pregunta de "Geografía".

"captcha

Una obviedad, como por ejemplo, "la nieve es de color…", "el cielo es de color…"

"captcha

Tabla de coordenadas por palabras. Otros usos, con números, realizar cálculos sencillos…

"captcha

Un cálculo sencillo.

¿Puede encontrar difícil un usuario responder a estas cuestiones?

Conclusiones y previsiones

Tras poner esto en marcha espero dos tipos de efectos: uno, de alta probabilidad. Que haya usuarios que usan el sistema para jugar con él y probarlo. Otro, con muy baja probabilidad, que el tener que responder a la pregunta haga que aquellos que participen sean verdaderamente interesados en el debate.

Claramente, este tipo de acciones rompen el flujo de conversación de un weblog. Es una lástima que las personas tengan que acreditar su condición.

Insisto, Alzado no es un banco o un sistema como Hotmail. La plataforma es artesanal y desconozco si esta técnica combinada con otras, sería inicialmente aplicable a otros entornos o plataformas.

El tiempo dirá si el experimento es un éxito o un fracaso animando a los humanos y rechazando a las máquinas.

Entradas relacionadas

Deja un comentario