ADVERTENCIA: Señores robots de
Google, la repetición de ciertos vínculos en este post no deben ser tomados como
spam. Son la consecuencia inevitable de utilizar como referencia, dos artículos publicados por el mismo sitio. Muchas gracias.
Yendo directamente al tema,
Zona Firefox:
En
Sobre el gif que mata a Firefox se reproduce un caso curioso informado por
SecurityFocus sobre una nueva vulnerabilidad en
Firefox que consiste en un archivo
GIF de proporciones desorbitadas que provoca el cierre inmediato del navegador. El tema, también es comentado en
Kriptopolis que incluye un enlace a la imagen para comprobarlo:
http://www.kriptopolis.org/images/crash.gifContinuando con el tema, en
Sobre el gif que mata a Firefox (2) analizan el comportamiento de ese
GIF en diferentes programas y bajo diferentes plataformas.
El informe de seguridad es el siguiente:
Firefox is prone to a remote denial-of-service vulnerability.
An attacker may exploit this vulnerability to cause the application to crash, resulting in denial-of-service conditions.
Little is known regarding this vulnerability; this BID will be updated when more information is disclosed.
Firefox 2.0.0.2 is prone to this issue; other versions may also be affected.
GIMP version 2.2.12 is also reported vulnerable; a segmentation fault occurs when the application processes a malicious GIF image.
Debo confesar que suelo pasar por alto los artículos que tienen como tema las vulnerabilidades de tal o cual
software. Muchos de ellos sólo son advertencias que no hacen otra cosa que generar miedo ya que no muestran soluciones que los usuarios "normales" podamos aplicar o, se producen frente a situaciones tan específicas que ni vale la pena tenerlas en cuenta. Se me ocurre compararlos con alguna noticia de medicina que titulara "se descubre una nueva enfermedad, no se conoce la cura, no hay manera de prevenir su contagio". Ah, gracias por arruinarme el día. La verdad, preferiría no saberlo y pasar el fin de semana en paz.
En este caso en particular, me llamó la atención el hecho que el villano fuera una imagen
GIF. Me empecé a acordar de experimentos que había hecho con mi vieja
286 y el aún más viejo
QBasic. No entendía de qué manera, un formato tan documentado podía provocar un fallo de seguridad.
Los
GIFS son un formato bastante antigüo (se crearon allá por
1987) y se hicieron muy populares. Hasta hace poco tiempo, cualquier
web era adornada con
gifs animados y, aún hoy son un tipo de imagen muy utilizado. Su estructura es bastante simple, posee un
header con una firma (GIF87a, GIF89a), un bloque de datos llamado
Logical Screen Descriptor y el
stream de los gráficos comprimidos con un algotimo llamado
LZW (Lempel Ziv Welch). Muchos sólo contienen un bloque pero otros poseen varias imágenes e incluso paletas de colores diferenciadas.
Cualquier persona con conocimientos mínimos de programación, puede decodificarlos, no tiene grandes secretos ¿y entonces?
La explicación es simple y es en la que
Zona Firefox hace hincapié.
Esa vulnerabilidad no existe, se trata de una imagen corrupta que posee datos ambiguos y, dependiendo del software que se use, se produce ese
crash. Aparentemente, en
Linux colapsan los navegadores pero no lo hacen en
Windows (ni
Firefox ni
Internet Explorer). En mi caso, algunos editores de imágenes logran abrirlo y otros no; en
GIMP se produce una catarata de errores. En términos generales, los resultados son aleatorios.
¿Por qué? la imagen está corrupta, los datos son erróneos, los programas hacen lo que pueden para interpretarla y muchos, sucumben en el intento. Hagan un experimento, tomen los primeros bytes de un
GIF y agréguenle el contenido de otro archivo. El resultado será o una imagen absurda o que el programa con el que intenten abrirlo, se cuelgue.
¿Cuántas veces me ha pasado que han desaparecido partes del
blog porque puse códigos erróneos en la plantilla o en un
post? ¿cuántas veces he abierto una página y el navegador se ha colgado porque no pudo lidiar con un archivo de
Flash o de
Shockwave?
¿Esto es bueno? no, claro que no, pero es inevitable, difícilmente haya un programa a prueba de todo, casi sería milagroso, es difícil controlar las miles de posibilidades "normales", ni hablemos de las millones de "anormalidades" que pueden generarse por errores externos.
Obviamente, la caza de brujas de las
vulnerabilidades de tal o cual navegador está de moda, demuestra "preocupación", da "cierto nivel", nos presenta frente a los demás como "
geeks" preocupados. Llamar fallos de seguridad a cosas como esta es una irresponsabilidad sin importar si la intención es generar noticias sensacionalistas o llevar agua para tal o cual molino. Tarde o temprano, los usuarios se cansarán de escuchar tantas falsas alarmas y terminarán dejando de escuchar las verdaderas.