it-swarm-es.com

¿Cuál es la vulnerabilidad de imagen corrupta? ¿Como funciona?

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

22
Moshe

Tal ataque 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 loca.

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

12
Zian Choy

Mucho más común que un error de tipo desbordamiento de búfer que @Zian menciona (aunque creo que hubo una vulnerabilidad WMF de este tipo en Windows tan recientemente como hace 4-5 años), es algo así como GIFAR (también buscar en SO):
un archivo que es a la vez un archivo de imagen válido (por ejemplo, GIF) y un archivo Zip válido (por ejemplo, JAR (compilado Java bytecode)).
Esto es posible debido a la forma en que estos formatos almacenan sus encabezados: específicamente, no son mutuamente excluyentes.

Por lo tanto, puede tener un archivo que pase todas las comprobaciones de validez que haga y, sin embargo, cuando se muestre en el navegador, se ejecutará el código Java (porque, bueno, acaba de descargar un archivo JAR válido, dincha?)

Que yo sepa, esto ha sido solucionado por los principales proveedores, pero admito que no estoy realmente actualizado.
(El descubridor original de GIFAR se puede encontrar aquí .)

8
AviD

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

La respuesta es que el software anterior tiene errores tales que cuando muestran la imagen, pueden confundirse. Por ejemplo, las imágenes tienen campos de comentarios dentro de ellas 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 excedan los 100 caracteres, pero un hacker puede hacer algo ridículo como hacer un comentario de 10,000 caracteres. El software debería rechazar esto con seguridad, pero algunos no, tienen un error en el que estos caracteres inesperados se desbordan en otras áreas de la memoria. Si el pirata informático crea esos 10.000 bytes correctamente, puede hacer que el software con errores ejecute el código.

El hecho de que los humanos esperemos que esos comentarios sean cortos, en texto en inglés, no impide que el hacker ingrese un código largo y ejecutable en esos campos.

Hay muchos códigos diferentes que pueden tener errores de este tipo, desde MSPaint hasta Internet Explorer y Microsoft Word. Todos usan códigos diferentes para hacer lo mismo, y todos tienen errores diferentes. Es por eso que debe mantener su software actualizado, para que cuando se descubran nuevos errores, estas imágenes corruptas no lo afecten.

5

De los comentarios a las preguntas, entendí que uno podría estar interesado en entrar en detalles de imágenes ejecutables (Uy, "imagen" choca con una copia de un disco, digamos, imágenes que son scripts o programas ejecutables/ejecutables) que se ven a los humanos como imágenes (imágenes) y a la computadora como scripts ejecutables (programas):

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