martes, noviembre 08, 2011

Metadatos e información oculta en Apple iWork (4 de 4)

************************************************************************************************
************************************************************************************************

Esta última parte de la serie se centra en los metadatos y la información oculta que se encuentra dentro del fichero maestro index.xmlindex.apxl de los documentos .pages, .numbers y .key. Me gustaría recordar que por información oculta entendemos todo aquel dato que tiene relación directa con el usuario que crea el equipo y que la aplicación de manipulación del documento no permite editar mediante el uso de alguna opción. 

Objeto Metadata

Dentro de los ficheros maestros, que recordemos están creados en formato XML, hay un objeto específico para los metadatos. Es decir, para los datos que el usuario puede manipular con la aplicación de Apple iWork concreta. Curiosamente, casi todos los documentos disponibles en Internet aparecen con este objeto vacío, lo que hace pensar que el usuario, explícitamente, ha eliminado esta información, - a pesar de que luego aparezcan en los archivos Preview.pdf -.

Figura 13: Objeto Metadata

Como se puede ver, en el caso de que no se haya limpiado de metadatos el documento, es posible acceder a la información habitual en metadatos, entre la que se encuentran los autores del documento. No existe una herramienta especial de limpieza de metadatos, solo existe el inspector de documentos, donde el autor escribe o no esos datos.

Figura 14: Metadatos en Inspector de Documentos

Información Oculta

Dentro de la parte de información oculta, podemos encontrar un montón de objetos dentro de los archivos maestros con información jugosa, como rutas locales, versiones de sistema operativo, impresoras configuradas en el equipo o fechas de versiones. Vamos a ello:

Rutas locales en atributos path

Dentro de muchos de los atributos, como son imágenes incrustadas, plantillas, gráficos, etcétera, es posible encontrar el atributo path, con información relativa a rutas locales de la máquina del usuario que creo el documento.

Figura 15: Atributo path con ruta local y displayname con ruta interna al documento

Versiones y fechas del documento

Para gestionar la lista de versiones, es posible encontrar un objeto llamado version-history, en el que se identifican todas las versiones que se han creado del documento.

Figura 16: Elemento Version-history

Además, hay dos objetos concretos como son LastModifiedDateProperty y CreationDateProperty, que identifican cuándo se modificó por última vez el documento y cuándo se creo.

Figura 17: Fecha de última modificación

Figura 18: Fecha de creación
Evidentemente, cualquier información relativa a fechas en un documento es de suma importancia tanto para un análisis forense, ya que permitiría establecer una línea temporal de los hechos, como para un pentester, ya que le permitiría discernir que información es "fresca y jugosa" de la "caducada".

Información de impresoras

Dentro de los documentos, dependiendo de la aplicación que lo creó, hay un objeto llamado doc-info o print-info, que guardan el nombre de la impresora que el usuario tiene configurada.

Figura 19: Información de impresora en doc-info
Figura 20: Información de impresora en print-info

Versión del sistema operativo

Una de los objetos que contiene información más jugosa sobre la máquina del usuario es el que contiene la versión concreta de la versión del sistema operativo.

Figura 21: Documento creado desde un Mac OS X Leopard

Control de Cambios

Como en casi todas las herramientas de edición de documentos hoy en día, también es posible activar el control de cambios, para saber qué usuarios han ido modificando el documento a lo largo de su vida. Así, si este está activo, será posible acceder a esta información a través del objeto: change-tracking

Figura 22: Control de cambios

Conclusión

Este tipo de datos son los más significativos, pero los documentos maestros tienen mucha más información que la que pensaba al principio y, visto lo visto, parece que no hay una buena solución de limpieza de metadatos e información oculta en la aplicación, ya que, a pesar de encontrar el objeto metadatos vacío, es posible encontrar un montón de información dentro de él.

También hay que recordar el riesgo que supone la creación de archivos PDF a partir de estas aplicaciones utilizando herramientas de terceros, que, como sucedió con el caso del PDF de la Cenatic apoyando el SW Libre en la educación, puede mostrar datos de la aplicación Apple iWork que lo creo. Esto es así, porque cuando se genera un PDF desde Apple iWork hay una nueva sección de configuración de metadatos que no tiene nada que ver con los metadatos originales de la figura 13.

Figura 23: Metadatos de PDF generado desde impresión de documentos

Por último, tras ver la información que se puede extraer de este tipo de documentos, intentaremos añadir un módulo a MetaShield Protector, nuestra solución que evita la fuga de datos a través de documentos publicados en aplicaciones web, y al mismo tiempo añadiremos estos tipos de documentos a FOCA, nuestra herramienta que recopila fugas de información por medio de documentos publicados en servidores web que no han tomado protecciones. Ironía de la vida.
  
************************************************************************************************
************************************************************************************************

1 comentario:

Anónimo dijo...

HOYGAN!
CHEMA S LE HAUTOR DEL DOCUMETO O DLE POST?

GRASIAS.

Entradas populares