¿Es posible almacenar datos arbitrarios en un archivo de imagen?

25

¿Es posible almacenar datos arbitrarios como documentos o un programa en forma de archivo de imagen, como una imagen PNG? Mi preocupación es que alguien pueda codificar datos para su uso por malware en una imagen y subirlos a un sitio como Flickr.

bwDraco
fuente
3
Echa un vistazo a la hazaña de MICE que hizo que Microsoft tuviera un ojo morado hace un par de años.
Synetech
1
Sí, eso estaba entre los enlaces en la página MICE. Si agrega enlaces arbitrariamente desde esa página, entonces también puede agregar esto , esto , esto , esto , esto , esto y, sobre todo, todo esto .
Synetech
@Synetech: Lo siento; El enlace en el comentario (ahora eliminado) era de una búsqueda de Google, no del artículo de Wikipedia.
bwDraco
Ah, vale; sin preocupaciones. El artículo de Wikipedia tiene algunas especificaciones técnicas excelentes (vinculé la mayoría de las mejores de Microsoft, Sysinternals y GRC). Esa cosa realmente causó más exageración que daño real por lo que recuerdo. El último enlace en mi comentario fue el parche de terceros que alguien se encargó de hacer hasta que Microsoft lanzó y la actualización oficial de Windows para parcharlo. :-P
Synetech

Respuestas:

22

Para la mayoría de los formatos de archivo, sí. Por ejemplo, los archivos PNG están compuestos de fragmentos escritos, por lo que puede agregar un fragmento denominado aAAAo lOLZcon datos arbitrarios. JPEG tiene segmentos "específicos de la aplicación" ; las etiquetas Exif en JPEG son en realidad una estructura TIFF completa dentro de dicha etiqueta. Otros formatos como GIF no son extensibles, pero a menudo tienen un campo para comentarios textuales; Esto ya ha sido abusado .APPn

Sin embargo, hay formas de protegerse contra esto; por ejemplo, sitios web como Imgur procesan automáticamente todas las cargas con pngcrushherramientas similares, que eliminan todo lo que no es absolutamente necesario.

Pero al final, el intercambio de datos no se puede evitar. Además de la esteganografía de imágenes antes mencionada, tienes Twitter y sus clones, docenas de pastebins (en los que las publicaciones incomprensibles se consideran bastante normales), formas de comentarios de publicaciones antiguas de blog (todavía estoy tratando de recordar el libro en el que se sugirió), ... de manera más realista, la mayoría del malware simplemente se pondrá en contacto con sus "propios" servidores.

Gravedad
fuente
19

No existen los datos maliciosos. Los datos no se vuelven maliciosos hasta que se ejecutan, momento en el que ya no son datos. El problema con este tipo de cosas no sería la imagen, sería el software (Windows, Photoshop, lo que sea) que contiene un error que hace que se ejecuten los datos. Obviamente, esta es una preocupación importante de los principales proveedores de software, y puede estar bastante seguro de que solucionarán estos errores poco después de que se hayan descubierto.

Dicho esto, como se indica en las otras respuestas, es posible agregar al archivo datos que no son parte de la imagen misma. Sin embargo, esto es a menudo útil o incluso una práctica estándar. Creo que es mucho más importante tener cuidado con los ejecutables que con las imágenes aleatorias que encuentras en Internet. El riesgo aquí no es tan grande.

Jouke van der Maas
fuente
"los datos no pueden ser maliciosos" ¿qué pasa con el malware que usa esteganografía para enviar información como el número de su tarjeta de crédito a través de canales inocentes?
rr-
12

Los archivos de imagen, incluido PNG, tienen un formato específico. La parte del encabezado del archivo describe la imagen, y los siguientes datos se interpretarán como datos de la imagen (basados ​​en los encabezados).

Sin embargo, puede agregar datos arbitrarios al final de un PNG, más allá de los datos de la imagen, que luego se pueden leer más tarde. Esto sería bastante fácil de detectar: ​​no debería haber ningún dato más allá del final de los datos de la imagen.

Alternativamente, puede codificar datos arbitrarios en la imagen misma, usando esteganografía . Esto altera sutilmente la imagen de una manera que es en gran medida indetectable, a menos que sepa exactamente qué buscar (a menudo se requiere conocimiento previo del método de codificación).

Paul
fuente
Sé que Adobe Fireworks en realidad almacena datos adicionales en archivos png (eso no es parte de la imagen).
Jouke van der Maas
Esteganografía: stegosploit.info obviamente
Mars Robertson