¿Qué es la vulnerabilidad de la imagen dañada? ¿Como funciona?

21

¿Qué sucede exactamente cuando alguien inyecta un código binario malicioso en un archivo de imagen (en Windows)? ¿Cómo se hace eso?

    
pregunta Moshe 21.11.2010 - 01:30
fuente

4 respuestas

12

Un ataque de este tipo se basa en el analizador de imágenes que contiene un error que permite la ejecución de lo que de otro modo sería una imagen un poco rara.

Por ejemplo, en lugar de que "rojo" se interprete como un color, la computadora puede intentar interpretarlo como un comando de shell.

    
respondido por el Zian Choy 21.11.2010 - 04:05
fuente
8

Mucho más común que un error de tipo de desbordamiento de búfer que menciona @Zian (aunque creo que hubo una vulnerabilidad WMF de este tipo en Windows hace tan solo 4-5 años), es algo así como GIFAR (también busque en SO):
un archivo que es tanto un archivo de imagen válido (por ejemplo, GIF) como un archivo ZIP válido (por ejemplo, JAR (código de bytes java compilado)).
Esto es posible debido a la forma en que estos formatos almacenan sus encabezados: específicamente, no se excluyen mutuamente.

Entonces, puedes tener un archivo que pasa todas las comprobaciones de validez que haces y, sin embargo, cuando se muestra en el navegador, se ejecuta el código Java (porque, bueno, acabas de descargar un archivo JAR válido, dincha?)

Según mi conocimiento, esto ha sido corregido por los principales proveedores, pero admito que no estoy realmente actualizado.
(El descubridor original de GIFAR se puede encontrar aquí .)

    
respondido por el AviD 21.11.2010 - 13:06
fuente
5

Supongo que cuando dices "imagen" te refieres a algo como un JPEG o un GIF.

La respuesta es que el software anterior tiene errores, de modo que cuando muestran la imagen, pueden confundirse. Por ejemplo, las imágenes tienen campos de comentarios dentro de ellos que generalmente no se muestran, pero pueden contener cosas como las coordenadas GPS de la cámara del iPhone que tomó la foto. El software típico espera que estos comentarios nunca superen los 100 caracteres, pero un pirata informático puede hacer algo ridículo como hacer un comentario de 10,000 caracteres. El software debería rechazar esto de manera segura, pero algunos no, tienen un error por el cual estos caracteres inesperados se desbordan en otras áreas de la memoria. Si el pirata informático crea esos 10.000 bytes de forma correcta, puede hacer que el software con errores ejecute el código.

Solo porque los humanos esperamos que esos comentarios sean cortos, el texto en inglés no impide que el pirata informático introduzca un código largo y ejecutable en esos campos.

Hay muchos fragmentos de código diferentes que pueden tener estos errores, desde MSPaint, a Internet Explorer, a Microsoft Word. Todos usan códigos diferentes para hacer lo mismo, y todos tienen errores diferentes. Es por eso que debes mantener tu software actualizado, de modo que cuando se descubran nuevos errores, estas imágenes dañadas no te afecten.

    
respondido por el Robert David Graham 02.11.2011 - 22:41
fuente
3

De los comentarios a la pregunta, entendí que uno podría estar interesado en obtener detalles de imágenes ejecutables (oops, "imagen" colisiona con una copia de un disco, por ejemplo, imágenes que son excutables / scripts o programas ejecutables) que consideran a los seres humanos como imágenes (imágenes) y a la computadora como scripts ejecutables (programas):

Actualización:
Aquí hay una referencia más sobre cómo incrustar un código de virus (PHP, JavaScript, ActionScript, etc.) en una imagen:

respondido por el Gennady Vanin Геннадий Ванин 30.10.2011 - 14:06
fuente

Lea otras preguntas en las etiquetas