¿Puede simplemente descomprimir una imagen JPEG desencadenar un exploit?

99

La novela Daemon es a menudo elogiada por ser realista en su representación en lugar de simplemente combinar palabras de moda.

Sin embargo, esto me pareció poco realista:

  

El correo electrónico de Gragg contenía un JPEG envenenado del logotipo de la correduría. Los archivos JPEG fueron archivos de imagen comprimidos. Cuando el usuario vio el correo electrónico, el sistema operativo ejecutó un algoritmo de descompresión para representar el gráfico en pantalla; Fue este algoritmo de descompresión el que ejecutó el script malicioso de Gragg y lo dejó deslizarse dentro del sistema del usuario, otorgándole acceso completo. Hubo un parche disponible para la falla de descompresión, pero la gente rica y de mayor edad generalmente no tenía idea de los parches de seguridad.

¿Existe tal cosa? ¿Está esta descripción basada en algún exploit real?

Esto fue publicado en diciembre de 2006.

¿Es sensato decir que "el sistema operativo" estaba descomprimiendo la imagen para renderizarla?

Tenga en cuenta que esto no tiene nada que ver con la seguridad de los scripts de carga de imágenes PHP. Estoy preguntando sobre el proceso de decodificación de mostrar un JPEG , no los scripts que reciben información de usuarios remotos, ni los archivos con el mal nombre como .jpeg . El marcado duplicado al que estoy respondiendo parece pobre incluso para una coincidencia de buzzword; en realidad no hay nada igual, aparte de mencionar archivos de imagen.

    
pregunta JDługosz 26.08.2015 - 21:00
fuente

5 respuestas

177
  

¿Existe tal cosa?

Absolutamente. Alimentar información maliciosa a un analizador es una de las formas más comunes de crear un exploit (y, para un JPEG, "descompresión" es "analizar").

  

¿Esta descripción se basa en algún exploit real?

Puede estar basado en la vulnerabilidad de desbordamiento del búfer de Microsoft Windows GDI + :

  

Existe una vulnerabilidad de desbordamiento de búfer en la forma en que el análisis de JPEG   El componente de GDI + (Gdiplus.dll) maneja imágenes JPEG con formato incorrecto . Por   introducir un archivo JPEG especialmente diseñado en el componente vulnerable,   un atacante remoto podría desencadenar una condición de desbordamiento de búfer.

     

...

     

Un atacante remoto, no autenticado, podría ejecutar arbitrariamente   código en un sistema vulnerable mediante la introducción de un JPEG especialmente diseñado   expediente. Esta imagen JPEG maliciosa puede introducirse en el sistema a través de   página web maliciosa, correo electrónico HTML o un archivo adjunto de correo electrónico.

.

  

Esto fue publicado en diciembre de 2006.

La vulnerabilidad de análisis de GDI + JPEG se publicó en septiembre de 2004.

  

¿Es sensato decir que "el sistema operativo" estaba descomprimiendo la imagen para renderizarla?

Claro; en este caso, era una biblioteca del sistema que requería un parche del proveedor del sistema operativo para corregirlo. A menudo, estas bibliotecas son utilizadas por varios paquetes de software, lo que las hace parte del sistema operativo en lugar de ser específicas de la aplicación.

En realidad, "la aplicación de correo electrónico invocó una biblioteca del sistema para analizar un JPEG," pero "el sistema operativo" está lo suficientemente cerca para una novela.

    
respondido por el gowenfawr 26.08.2015 - 21:10
fuente
47

Estar de acuerdo con otros para decir sí, esto es totalmente posible, pero también para agregar una anécdota interesante:

Joshua Drake (@jduck), descubrió un error basado en un concepto muy similar (las imágenes están siendo interpretadas por el sistema operativo) que terminó llamándose "Stagefright", y afectó a número ridículo de dispositivos Android .

También descubrió un error basado en una imagen similar en libpng que podría causar que ciertos dispositivos se bloqueen. Él twitteó un ejemplo de la hazaña que básicamente decía "Oye, mira este genial PNG malicioso que hice, probablemente bloqueará tu dispositivo", sin darse cuenta de que Twitter había agregado la representación automática de imágenes en línea. No hace falta decir que muchos de sus seguidores comenzaron a bloquear sus máquinas en el instante en que el navegador intentó cargar la miniatura de la imagen en su fuente.

    
respondido por el Nic Barker 27.08.2015 - 05:18
fuente
10

¿No es realista? Hubo un error crítico reciente en el análisis de la definición de fuente: enlace y los cambios de libjpeg están completos de avisos de seguridad. Analizar archivos [1] es difícil: desbordamientos, subdesbordos, acceso fuera de límites. Recientemente, se desarrollaron muchas herramientas de eliminación de fallas para la detección semiautomática de entradas que pueden provocar un bloqueo.

[1] o paquetes de red, XML o incluso consultas SQL.

    
respondido por el user158037 27.08.2015 - 17:48
fuente
1

Como han señalado otros, estos ataques suelen explotar los desbordamientos de búfer.

En cuanto a las tuercas y los tornillos de cómo, se llama un ataque aplastante. Implica corromper la pila de llamadas y sobrescribir una dirección al código legítimo que se ejecutará con una dirección al código suministrado por el atacante que se ejecuta en su lugar.

Puede encontrar detalles en insecure.org/stf/smashstack.html .

    
respondido por el Emilio M Bumachar 30.08.2015 - 21:42
fuente
0

Sí, esto es posible:

  

Una nueva variante del nefario troyano bancario Zeus, denominado ZeusVM, se oculta en archivos de imagen JPG, según los hallazgos colaborativos de Jerome Segura, investigador principal de seguridad de Malwarebytes, e investigador de seguridad francés Xylitol.

     

El acto se conoce como esteganografía: oculta mensajes o imágenes en otros mensajes o imágenes.

     

En el caso de ZeusVM, el código del malware está oculto en imágenes JPG sin pretensiones, según reveló una publicación de blog de lunes por Segura. Estas fotos sirven como una dirección errónea para que ZeusVM recupere su archivo de configuración.

     

"El archivo JPG contiene el archivo de configuración de malware, que es esencialmente una lista de scripts e instituciones financieras, pero la víctima no tiene que abrirlas", dijo Segura a SCMagazine.com en una correspondencia de correo electrónico del martes. "De hecho, el propio JPG tiene muy poca visibilidad para el usuario y es en gran medida una técnica de ocultamiento para garantizar que no se detecte desde el punto de vista del software de seguridad".

Source .

    
respondido por el TheJulyPlot 26.08.2015 - 21:08
fuente

Lea otras preguntas en las etiquetas