Blogs Teoriza
Acceder · Crear usuario
Anunciarse
Canal Personal   GONZO · Mia

Animal Captcha 1.4

DEBILIDAD A FUERZA BRUTA

animal captcha 14 fuerza brutaHace un par de semanas (erlang y compañía) me ayudaron a comprender que las versiones de Animal Captcha hasta la 1.3 son débiles frente a un ataque de fuerza bruta.

Es decir, a diferencia de los captchas alfanuméricos, Animal Captcha por su naturaleza tiene un numero reducido de respuestas posibles. Tantas como animales. Hasta el momento 30 animales.

Esto significa que creando un bot de fuerza bruta que haciendo peticiones de forma automática, de cada 30 peticiones acertará una de media. Esto es una debilidad que en algunos casos merecerá la pena explotar (no en todos).


LA SOLUCIÓN

Tras un momento de desconcierto, se pudo pensar que se había tumbado el concepto de Animal Captcha. Pero he desarrollado una batería de soluciones que mitigan el problema hasta su mínima expresión.

El problema de la fuerza bruta se ha resuelto con los siguientes cambios:

  1. En cada intento se elimina la variable de sesión. Esto significa que para hacer un intento válido hay que hacer 2 peticiones (obligatoriamente): una a la imagen del animal (el captcha) y otro al script comprobador.
  2. Se permite configurar el numero de animales mostrados. Por defecto 2. Es flexible, cambiando un parámetro se puede cambiar a 1 animal o a 8, dependiendo del industrial strength que se necesite. Por ejemplo en Blogs Teoriza he configurado 1 solo animal, hasta que surja algún problema, si Google lo implementase en Gmail, aconsejo 3 animales o incluso 4, con un repertorio inédito y no publico (hipotéticamente hablando).

¿Qué hemos conseguido? Pues multiplicar exponencialmente el número de respuestas posibles, mitigando drásticamente la eficacia de un ataque por fuerza bruta (el único ataque con eficacia demostrada hasta ahora).

Cálculos teniendo en cuenta que hay un repertorio de 30 animales (estoy preparando la próxima versión 2.0 que se ampliará a objetos).

  • Versión antigua (hasta 1.3)
    30 respuestas posibles = 30 peticiones por acierto.
  • Animal Captcha 1.4
    Mostrando 2 animales: (30^2)*2 = 1.800 peticiones por acierto.
    Mostrando 3: (30^3)*2 = 54.000 peticiones por acierto.
    Mostrando 4: (30^4)*2 = 1.620.000 peticiones por acierto.

Como se puede ver, se ha aumentado drásticamente el numero de peticiones con el mismo numero de imágenes. El numero de imágenes será elevado al menos a 60, incluyendo objetos y animales, en la próxima versión 2.0.

  • Animal Captcha 2.0 (versión futura incluyendo objetos)
    Mostrando 2: (60^2)*2 = 7.200 peticiones por acierto.
    Mostrando 3: (60^3)*2 = 432.000 peticiones por acierto.
    Mostrando 4: (60^4)*2 = 25.920.000 peticiones por acierto.

Con esto intento mostrar que el aumento de la seguridad frente a fuerza bruta es exponencial.


CONCLUSIÓN

Con esta versión 1.4 doy por resuelto el ataque de fuerza bruta simple (salvo que me corrijan, claro). Y por lo tanto en mi opinión es "invulnerable" hasta que se demuestre lo contrario.

Me temo que ahora el caballo de batalla de Animal Captcha es el ataque por identificación de animales analizando patrones del repertorio de im´genes (que es publico y abierto, aunque cada webmaster puede hacerse el suyo particular).

En esta linea veo extremadamente difícil encontrar una vulnerabilidad, ya que desde la versión 1.2 se fusiona una imagen de fondo aleatoria, con transparencia aleatoria y orientación aleatoria. Todos los bytes, pixeles, histogramas y colores estadísticos cambian aleatoriamente en cada imagen, siendo todas únicas.

Además continua activa la opción de añadir polígonos aleatorios (desactivada por defecto ya que sobra seguridad en este aspecto).


CONCLUSIÓN BREVE

Animal Captcha 1.4 es invulnerable y más seguro que cualquier captcha alfanumérico, hasta que se demuestre lo contrario (como de costumbre agradecerá que se ponga a prueba este sistema).


 

Español | Inglés

Animal Captcha

animal captcha 14
DEMO ONLINE

[Español e Inglés]


Introducción:

Animal Captcha es un pequeño programa en lenguaje PHP, orientado para su uso en páginas web, que permite adjuntar a un formulario una imagen aleatoria de un animal que cualquier humano conoce, y sin embargo un robot es incapaz de identificar.


Ventajas:

  1. Seguridad: esta es la razón principal, en Internet hay desarrollos que consiguen resolver algunos captchas de códigos alfanuméricos, con creciente éxito. Sin embargo, ojalá pudiese una máquina identificar a un animal! Es imposible teóricamente.
  2. Belleza: es más agradable ver una foto de un animal que un código alfanumérico.
  3. Rapidez: los usuarios ahorran tiempo, ya que se tarda menos en identificar y escribir un animal que introducir un código aleatorio.
  4. Efectividad: los usuarios aciertan con más probabilidad en comparación con los últimos captchas seguros.


Descargar:

Publicado bajo licencia Creative Commons, siendo esta página la fuente original. Cedo al interés común todos los derechos de utilización y modificación, como mejor se considere. El único derecho que quiero preservar es el de autoría y citación.


Versiones y cambios:
  (changelog):

  • 2.0 - Futura versión...
    Ampliaré las imágenes tambien a objetos. Aumentando el repertorio al menos a 60 entre animales y objetos.
  • 1.4 - 2009/11 - Invulnerable
    Caduca la sesion en cada intento obligando a pedir el captcha. Configuracion opcional del numero de animales por prueba, esto aumenta exponencialmente el numero de respuestas posibles migitando drásticamente la eficacia del ataque por fuerza bruta.
  • 1.3 - 2009/10 - Débil a fuerza bruta por erlang
    Permite añadir varias imágenes para un mismo animal añadiendo _2.jpg en la imagen. La imagen de fondo se orienta incorrectamente para mitigar la confusión con la imagen principal que es la corecta. Desactivado por defecto los polígonos y giros aleatorios ya que no hace falta tanta seguridad. Mejorada la calidad de la imagen. Refresca otro animal al hacer clic en la imagen.
  • 1.2 - 2008/12 - Débil a fuerza bruta por erlang
    Avance importante en la aleatorización de imágenes mediante una tecnica de fusión de dos imagenes transparentes aleatorias. Corrección de pequeños bugs. Optimización mejorada, genera imágenes más rápido.
  • 1.1 - 2008/06 - Vulnerado por movzx
    Avance en la aleatorización para dificultar la obtención de patrones que identifiquen la foto original del animal. Invulnerable al test de bits y test de histograma.
  • 1.0 - 2008/04 - Vulnerado por NachE
    Versión inicial. Vulnerable a los test de bits y test de histogramas.

(Invulnerable quiere decir que es seguro y hasta el momento nadie ha logrado crackeado, ánimo hackers!)

 


Implementación:

Animal Captcha está compuesto de 2 archivos PHP y 1 carpeta con imágenes de animales.

  • animal-captcha.php - Devuelve una imagen aleatoria de un animal, y guarda en una sesión PHP el nombre del animal para comprobarlo posteriormente.
  • animal-captcha-check.php - Define esta función PHP animal_captcha_check() que devuelve true si se ha acertado y false si es errónea, respecto a la sesión previamente creada al imprimir la imagen captcha.
  • Imágenes: las fotos deben estar en formato .jpg, medir 120px y representar un animal común, fácil de identificar (de nivel de preescolar). El nombre está formado por una serie de palabras sin espacios, una palabra por intento, separadas por guiones "-". Todas las estas palabras son las respuestas correctas. Ejemplo, cerdo-gorrino-pig.jpg Admite las respuestas: cerdo, gorrino o pig. Cada imagen ocupa 4kb tan solo. Está optimizado su consumo al mínimo, listo para usarse en sitios web con alto tráfico.

De esta forma se puede internacionalizar fácilmente o se pueden solventar animales que pueden ser nombrados de varias formas.

Cada imagen es difuminada aleatoriamente, de forma que cada imagen presentada es única.


Problemas conocidos:

  • Si el lector no conoce alguno de los idiomas del captcha, no podrá resolverlo.

0 GONZO 20-11-2009
+2

Nano SSD, la miniaturización de los discos sólidos

La internacional ELECOM ha lanzado un nuevo dispositivo de almacenamiento.

Todo indica que será el prematuro sustituto de los discos sólidos que dieron el remate tecnologico al los antiguos discos duros.

Los Nano SSD tienen caracteristicas muy similares a los discos solidos de tamaño normal, pero su tamaño es ridiculo.

Son tan pequeños que se conectan tal cual en un conector SATA2. Que solo almacenen 16 GB es lo menos importante, ya que cada mes aumentará la demanda y la capacidad.

nano ssdnano ssd elecom

Quien lo habria dicho en la epoca en la que los discos duros pesaban 6 kilos.

[Nota: en la primera imagen se nota que han tirado un poco de Photoshop para ajustar el prototipo en el conector SATA2. Como prueba de concepto lo dejamos pasar.]

0 GONZO 05-11-2009
+2

Las últimas publicaciones de Blogs Teoriza a vista de águila

Esta mañana he programado una aplicación que extrae las imagenes de los ultimos artículos publicados en toda nuestra red de blogs.

El resultado es bastante interesante. Un poco rudo, pero muy eficaz por lo visual que es. Es como echar un vistazo de águila para cazar el post más interesante.

Lo mejor es verlo directamente. Ver Nube de Imagenes.

Se actualiza en tiempo real, una imagen por post si la hay, al hacer click lleva al artículo.

0 GONZO 05-11-2009
+0

Te ha tocado un AUDI! tragicomedias de Internet

telon teatro tragicomediaContra todo pronostico proliferan los anuncios que exclaman al inocente navegante asegurando que le ha PODIDO tocar un coche de alta gama. Pero con las mayusculas en orden inverso.

Estos "anuncios" que bailan en la linea de la etica (claquet supongo) no solo consiguen empeorar la imagen de Internet en general, si no que deben resultar rentables.

En fin, quien iba a decir que saliese rentable este tipo de publicidad engañosa. Por lo visto deben ser muy rentables, aunque no lo sé por experiencia, que el Monstruo Espagueti me libre.

Así que ahi va el web-consejo de hoy:

No, en Internet no regalan coches por la cara. Ni es casualidad que seas el visitante 1.000.000 cada dos por tres. Te estan tomando el pelo, así que caso omiso en adelante ¿de acuerdo? :)

 

0 GONZO 02-11-2009
+0

Extraño fenómeno de telarañas en Ajo (Cantabria)

Durante la mañana del 27 de Octubre en Ajo, Cantabria, España (aquí lugar exacto).

Se han formado en pocas horas, de forma repentina, una espesa capa de telarañas, que ha cubierto algunos campos de hierba, casas, cables, incluso altos postes de telefonía.

Nadie del lugar dice haber visto algo así. Mejor ver las fotos que me ha enviado un familiar.

Segun cuentan testigos presenciales las arañas destacan por ser ágiles y sus telarañas muy resistentes.

Sobre las teorías sobre este extraño fenómeno hay rumores de todo tipo. Algunos dicen que vienen del mar (está muy cerca, a un kilometro). Pero realmente no hay una explicación.

0 GONZO 29-10-2009
+2

La utopía realizada, VirtualPOL es liberado como Software Libre

Prólogo:

He dedicado algo más de un año a un proyecto llamado VirtualPOL (o POL a secas).

Podría considerarse un año sabático de programación, porque la viabilidad de este proyecto como negocio siempre ha sido una incógnita sin resolver. De hecho el retorno ha sido... ninguno.

Sin embargo algo hace que merezca la pena con creces. El ser un proyecto especial.


Introducción:

VirtualPOL es especial porque es un desafío, una revolución en la forma de auto-gestionar una comunidad de Internet. Mediante la democracia.

Defino VirtualPOL como una plataforma de auto-gestión democrática

  • Plataforma: porque es un sistema web flexible. Pretende permitir cuantas más configuraciones, mejor. Actualmente dispone de Chat, Foro, notas, Wiki básico, mapa, economía, votaciones, elecciones, cargos, exámenes...
  • Auto-gestión: esto da para varios post, pero resumiendo. VirtualPOL permite a un grupo de personas auto-gestionarse a sí mismas formando una comunidad. Todo el control de configuración queda en sus manos de forma solida y organizada, no de cualquier manera.
  • Democrática: VirtualPOL es justo. La única comunidad de Internet que trata a todos sus usuarios de igual a igual. No hay administrador. Los privilegios se ganan periódicamente en las urnas (hay elecciones cada 2 semanas).

Resumiendo. VirtualPOL es una completa democracia en Internet, pero es tan real como las personas que lo componen.


El Desarrollo:

Todo este sistema no nace de la nada, hace falta alguien que lo desarrolle.

Aunque esto parezca una obviedad, es necesario recalcarlo, pues desde los inicios ha habido controversia con este asunto. Y es normal, cuando se proclama que VirtualPOL no tiene admins y se descubre que alguien es el desarrollador algunos sienten contradicción, pero no es más que la realidad.

Pues bien, yo he sido el Desarrollador Fundador, y nada más que eso. Procuré no interferir solo desarrollar, con mayor y menor acierto.

Pero VirtualPOL necesitaba otra evolución. La utopía de la auto-gestión no iba a completarse hasta que desapareciese hasta el ultimo atisbo de privilegio no democrático.


La liberación como Software Libre:

El 6 de Octubre del 2009 liberé el código completo de VirtualPOL, lo subí a un servidor SVN y di los accesos necesarios al pueblo.

Desde ese momento, mis funciones como Desarrollador terminaron. De hecho mi estatus cambió a Ciudadano, como todos los demás.

Aunque pasase desapercibido, en mi opinión se ha alcanzado un hito en Internet. La primera comunidad de usuarios que auto-gestionan y auto-desarrollan su propia comunidad. De forma ordenada y sólida. Gracias a los principios democráticos y al núcleo del sistema VirtualPOL, pero sobre todo... gracias a ellos.

El futuro de VirtualPOL está en las mejores manos posibles, sus propios usuarios. Ellos determinarán el camino a seguir, no solo en la auto-gestión, elecciones y cargos. Si no, ahora también, en el desarrollo web.


La hazaña:

He aquí la hazaña perpetrada por un puñado de usuarios de Internet, que sin conocerse de nada y sin obtener nada a cambio han logrado, gracias a su empeño, lo que muchos creían una utopía. La primera Comunidad de Internet Auto-gestionada democráticamente.

POL: POL - Simulador Politico VULCAN: VULCAN - Simulador Politico Hispania: Hispania - Simulador Politico

Estos son los valientes (en orden de antiguedad):

PabLo1, InNaT, drosan, Mia, ksogui, selvatgi, Carlos_Crespo, Rsvcap, JAPdeRivera, slimedition, Naaram, Tommy, Gioser, ErCarlos, al00, oskarone, more99, Sanchez, Corocotta, Zokaar, Carliues, Anto, zorion, superfilo, orxona, JordiMasdeu, djbauti, Sacul, dukis, fran, 11m11, Jazunzu, born, fermuned, frandi, dannnyql, shinchandmc, almaguer, Wilhelm, persona, POL, bradduk, arquitecto, San_Ipolitas, Artemis, elanciano74, iluvatar, pepebustos, aechira, kevinkuja, oportunista, ccortesi, bandida, peregrinov, yolovi, Fray, Mixalberto, criogenio, Iris, Tomate, viki, pedrojo, teoriapoetika, Alexsc_91, Chavez, len98, alsirio, Algien12345678, kimico, Chronos, Perdiz, Cucuta, mivida, Johnny_Palillo, Juaquin, majo, y_adios, Biba, b_neruca, osvaldocangas, Eyeshield21, sfb, Hayter, xabio, Nick, osmiglesias, Taud, WarMaster, sofista, security_bot, Juan_Carlos, santi_ago_m, davs, rojiblanko, Vasili, alpha__60, Dani_iii, Pedro_Jose, Keith, Aeldim, Yaguemadrid, Jambi, scipion, obama, Bakarinho, pais5555, acoevil, mortiprogramad, Baldor, Lonchex, ibeccaz, soyi, juliankapolio, Amarbon, HanzCordoba, Ramirez, Master, Solenno, rita, Utopo, Campeador, ivan, nixs, ruben12a...
Sin olvidar los que ya no estan, pero contribuyeron.

2 GONZO 25-10-2009
+2
Página siguiente ►◄ Página anterior
Blogs Teoriza
Ocio Tecnología Cuidarse Informática Contactos Cultura Vacaciones Interesante Místico Personal
Ocio Alarmas Intimidades Hosting Chat Poesías Hoteles CompraVenta Tarot GONZO
Juegos Tecnología Salud Adsl Messenger Mundo Viajes Videos Videncia Mia
CineTV Inventos Internet Música EnCrucero Polémicas
Deportes Virtual Seguridad ComoHacer Turismo Legalidad
Motor Ubuntu Actualidad
Hardware
Enlaces: MovilZona

Creative Commons License
Blogs Teoriza™ · Red de Blogs · · Aviso Legal · 2003-2010