¿Cómo "limpiar" los gráficos de las vulnerabilidades incrustadas?

2

No estoy totalmente seguro de la terminología, pero escucho bastante sobre imágenes en sitios web que de alguna manera se aprovechan de los errores en el software que se pueden usar para comprometer un sistema. No me queda claro si están en los metadatos o incrustados de alguna otra manera. Mi pregunta es, ¿cómo puede estar seguro de que un gráfico no está compuesto? y / o ¿cómo "limpiar" un gráfico? Si está en los metadatos, supongo que algo así como el Kit de herramientas de anonimización de metadatos (MAT) podría funcionar. ¿O algo más laborioso como tomar una captura de pantalla del gráfico? (pero eso sería un PITA si tuviera un lote de imágenes).

    
pregunta rick94 03.12.2017 - 20:34
fuente

2 respuestas

1

No está en los metadatos. El código se inserta en la imagen que el visor de imágenes procesa.

Eso significa que la opción más fácil es corromper el código. Hay muchas maneras de hacer esto:

  • comprime la imagen (es probable que el código no pueda sobrevivir)
  • convierta la imagen a otro formato (que es un poco como "tomar una captura de pantalla", pero más escalable)
  • componer datos adicionales sobre la imagen (como una marca de agua)

O puedes:

  • escanear la imagen en busca de códigos maliciosos

Comprimir se convierte en la opción más fácil, ya que tiende a cubrir todo el archivo y da como resultado un archivo más pequeño, que es una ganancia para la administración de recursos.

    
respondido por el schroeder 03.12.2017 - 21:23
fuente
4

De un comentario en la otra respuesta:

  

Wow, gran explicación. ¡Y me alegra saber que la conversión es una opción razonable!

Desafortunadamente, la otra respuesta actual es incorrecta, y las sugerencias allí, como el uso de la conversión, no mejoran la seguridad cuando se presenta un archivo de imagen malintencionado con un exploit incorporado, e incluso pueden empeorar las cosas.

Problemas con la conversión

No hay forma de garantizar que el archivo esté limpio. Si bien otros han sugerido la conversión de un formato a otro, es probable que esta no sea una solución segura debido al hecho de que todos usan las mismas bibliotecas, con pocas excepciones. Si hay un exploit incrustado en las imágenes PNG, es probable que se dirija a libpng. Si está en una imagen TIFF, se dirigirá a libtiff. Estas bibliotecas se utilizarán si está utilizando un visor de imágenes o un convertidor de imágenes. Esto significa que una vulnerabilidad que afecta a un visor de imágenes afectará, con alta probabilidad, a un convertidor de imágenes.

Problemas con la compresión

La compresión de imágenes a menudo no toca ciertas partes del archivo. Si está realizando una compresión sin pérdida "sobre" la imagen, como comprimirla con un archivador, se conservará cualquier vulnerabilidad. Si lo comprime con herramientas dedicadas como optipng o pngcrush, ciertas partes de la imagen se comprimirán, mientras que otras partes no lo estarán. Esto significa que no hay garantía de que destruirá los componentes maliciosos.

Problemas con el antivirus

Escanear la imagen en busca de códigos maliciosos solo funciona para explotaciones con firmas conocidas. A diferencia de los archivos ejecutables, un IPS / AV no puede ejecutar la detección heurística en dichos archivos, ya que cada método de explotación se comporta de manera diferente.

Conversión en caja de arena

Una solución potencial pero parcial sería utilizar una utilidad de conversión con un espacio de arena muy alto, como la magia gráfica en un espacio de arena compacto de SECCOMP. Úselo para convertirlo en algo como PPM o BMP, que son extremadamente simples y no conservan más que los datos de imagen sin comprimir sin procesar. Esto se puede convertir más tarde a cualquier formato que desee. Esta no es una solución perfecta porque, en teoría, la utilidad de conversión podría verse comprometida para intentar generar un archivo de salida malicioso. Esto requeriría encadenar ataques y no es probable que sea un problema realista, por lo que debería ser lo suficientemente bueno.

    
respondido por el forest 04.12.2017 - 08:39
fuente

Lea otras preguntas en las etiquetas