viernes, 7 de diciembre de 2012

Metadatos

1  ¿Qué son los Metadatos?
Los metadatos son información relativa a un documento, tales como el autor, el programa utilizado o la catalogación que el usuario ha hecho del mismo, y que existen para enriquecer la información que proporciona el documento.
Por ejemplo, es habitual que las cámaras fotográficas o los programas de tratamiento de imágenes almacenen en los metadatos información del modelo de la cámara, la hora de realización de la fotografía o el programa utilizado para su tratamiento.
Son muchas las aplicaciones que almacenan metadatos junto con los documentos, ya sean archivos de audio, video, textos, presentaciones, bases de datos u hojas de cálculo. Entre ellas, por supuesto, se cuentan las aplicaciones que forman parte del paquete Microsoft Office.

2  ¿Qué información guardan los documentos de Office?
Hablaremos de Office ya que un elevado porcentaje de los documentos que se generan y distribuyen por la red son realizados con dicho paquete, seguidos en popularidad por los ficheros en formato PDF.
Los tipos de datos que podemos encontrarnos en los metadatos son los siguientes:
-          Propiedades del software
Cuando instalamos Office por primera vez el programa solicita introducir un nombre de usuario. En cambio en una red empresarial es habitual que un mismo producto sea utilizado por varias cuentas de usuario distintas de un mismo ordenador. A cada uno de estos usuarios de empresa, la primera vez que use Office, le aparecerá un cuadro de diálogo para rellenar esta información. Y los valores que introduzca figurarán en todos los documentos que dicho usuario genere a partir de ese momento desde ese ordenador.
La Figura 2 muestra la pantalla de introducción de datos de Microsoft Office 2003
-          Propiedades del documento.
Los datos que componen las propiedades del documento pueden ser modificados de forma manual y sencilla por el usuario, tal como muestra la Figura 3.
-          Ficheros incrustados
Cuando se agrega a un documento una imagen externa, una tabla, gráficos que proceden de otros documentos, etc.… los metadatos asociados a ello se incrustan en el nuevo documento. De esa manera los ficheros de Word o Excel se van convirtiendo con el paso del tiempo en una fuente de metadatos de distintos orígenes.
           
-          Revisiones y modificaciones
Una de las características más apreciadas de los usuarios de Microsoft Office que trabajan de forma colaborativa en un documento son las opciones de revisión.
Con estas herramientas, múltiples usuarios pueden realizar cambios al documento, de manera que siempre quedarán almacenadas las versiones anteriores del documento, siendo posible recuperar el estado anterior asociado a dichas versiones.
Todas estas revisiones y estados anteriores se incluyen por defecto en el documento de trabajo. La Figura 4 muestra un ejemplo de datos de revisión a almacenar en el fichero. En concreto, en el ejemplo se puede apreciar cómo en versiones anteriores del fichero la empresa a la que hace referencia el ejemplo se encontraba en números rojos.
-          Notas, encabezados y pies de página.
Toda la información que contengan dichos apartados también está incluida en los metadatos. En muchos casos esta información se oculta a la vista y se utiliza sólo como información  interna o como anotaciones para el autor.
-          Información oculta.
En ocasiones al insertar una imagen, al superponer una capa de texto, cambia el color de las fuentes,  o simplemente por olvido hay información que deja de ser visible y no está a la vista del que accede al documento de forma simple. Sin embargo, esta información sí queda guardada u puede ser recuperada por otro usuario.
La Figura 5 muestra un ejemplo de texto que ha quedado oculto al utilizar una fuente de texto del mismo color que el fondo, pero que al ser seleccionado aparece a la vista. Algo así no quedaría nada bien si este fuera un documento de la empresa y llegara a manos de un cliente curioso.
-          Información GPS
La información de localización no es propia de un documento de Office pero sin embargo es cada vez más habitual en el caso de imágenes, sobre todo aquellas realizadas con móviles.
Dado el elevado número de fotografías que se hacen con el móvil y se cargan en la nube, es fácil imaginar la gran cantidad de información que está disponible a través de estos metadatos.
-          Metadatos ocultos
Office también guarda información para optimizar si propio uso, desde versiones del software con el que se ha realizado y modificado el documento, impresoras asociadas, fechas de creación y modificación, nombre del autor y autores que lo han podido  modificar, la última vez que se imprimió el archivo, el tiempo total que se ha estado trabajando con ese documento, información sobre el tamaño del documento y hasta un identificador único del archivo que se creaba en los documentos generados en algunas versiones de Microsoft Office las cuales utilizaban información del equipo para generar el identificador, lo que podría ser usado para seguir un documento hasta el equipo desde el que fue creado. 
Toda esta información puede permitir rutas a servidores internos de la organización, nombres de usuario, los autores del documento y si éste fue posteriormente modificado o no, quién lo modificó, desde dónde, etc.… 
En algunos casos también pueden obtenerse datos de conexiones a bases de datos. En la Figura 6, por ejemplo, aparece una consulta SELECT, los nombres de los drivers ODBC usados, el servidor de bases datos, el nombre de la base de datos e incluso la cuenta de acceso con su correspondiente contraseña.
Todos estos datos se pueden obtener analizando el documento con un editor hexadeciman, pero es posible obtener muchos más datos utilizando herramientas específicas para esta tarea. Una de dichas herramientas, desarrollada en España.
Es considerada como lo mejor que existe hoy en día en análisis de metadatos: la FOCA.

1.2.3  El peligro real de una mala gestión de los metadatos en la web. Usando la FOCA

Como ha sido comentado anteriormente, una mala gestión de los metadatos en los documentos publicados en la nube puede exponer información sensible, aunque el proceso para recabar y organizar esta información puede ser largo y tedioso. Por ello, un grupo de informáticos españoles crearon la herramienta FOCA, que recaba toda la información con un único click. La Figura 7 muestra la pantalla principal de la herramienta FOCA.
Para desarrollar el análisis de la web del Ministerio de Cultura, mostrado en la Figura 7 se ha realizado una búsqueda en Google, Bing y Exalead, encontrándose 1385 documentos.
De ellos se han descargado 257 documentos, en los que la herramienta, ha detectado 186 nombres de usuario, 113 carpetas, 29 impresoras, 1 dirección de correo y 3 sistemas operativos.
Siguiendo con el ejemplo, si ha sido posible obtener toda esa información con tan sólo 257 documentos, es posible imaginar la cantidad de información que se podría obtener al analizar los 1385 documentos que hay disponibles en la red. Con esos datos es posible realizar un mapa de su red con servidores, con información de direcciones IPs y sistemas operativos, de manera que una persona con malas intenciones podría comenzar a personalizar su ataque buscando los exploits y agujeros conocidos para esos sistemas en esas versiones. La Figura 8 muestra precisamente el esquema de red obtenido con la FOCA.

1.2.4  ¿Cómo protegernos?

Protegerse de un análisis de metadatos pasa por tener una correcta gestión de los mismos, es decir, en una red empresarial hacer una limpieza de los metadatos de los documentos que estén expuestos a la nube.
Para hacer esta limpieza existen diversos programas, de entre ellos destaca Doc Scrubber () ya que puede analizar y eliminar metadatos de gran cantidad de documentos al mismo tiempo y de forma automática.
De este modo si la empresa tiene un servidor que alberga documentos con tan solo pasar este programa por la carpeta principal de dichos documentos el ya irá pasándose por las subcarpetas, buscando los documentos que existen y dentro de los mismos los metadatos. De este modo limpiar los metadatos de un volumen importante de documentos se hace cómodo.

jueves, 6 de diciembre de 2012

Fingerprinting

1- ¿Qué es?

Este método, cuya traducción sería “huella dactilar a nivel web”, es utilizado para obtener información de un determinado servidor. Al igual que cada persona tiene distintas huellas dactilares, lo mismo ocurre en los sistemas informáticos, donde cada servidor tiene una forma diferente de responder a ciertas peticiones, pudiendo distinguir de ese modo, por ejemplo, un servidor Apache de un servidor Cherokee.

2- ¿Cómo funciona?

El fingerprinting se consigue a través del análisis del sitio web a atacar y de la “basura” del mismo recolectando información para hacernos una mejor idea sobre qué plataformas trabaja y otra información será de gran ayuda para poder personalizar posteriormente el ataque.

A continuación se incluye una lista con los principales tipos de de datos que son posibles analizar, junto con la información que se puede obtener mediante esta técnica:


a) Errores 404:

En algunas ocasiones veces los webmasters se olvidan de cambiar el archivo error404.php/html/… que traen por defecto los scripts y éstos normalmente nos brindan una amplia información como por ejemplo: el tipo de software y versión del servidor web, versión de su php, sistema operativo, etc.


b) Puertos/Servicios:
Es posible realizar un escaneo del puerto 80 y con ello determinar qué servidor web es utilizo (Apache, Cherokee, IIS, etc.), su versión y, en muchos casos, si hay otros programas corriendo por dicho servicio.


c) Headers o cabeceras de la web:
De manera similar al caso de los errores 404, algunas webmasters dejan los archivos que trae el script por defecto, por ejemplo el fichero headers.php donde se podría encontrar también información relevante.

d) Firmas digitales:
Se utilizan cuando la web está utilizando la seguridad que proporciona SSL (Secure Socket Layer), siendo responsables de mantener la integridad de los datos. Partiendo de dichas firmas podemos saber qué tipo de aplicación web está siendo utilizada.

La Figura 1 muestra dos ejemplos, uno de una máquina que nos informa que está trabajando sobre IIS 4.0 y otro de una máquina corriendo bajo un servidor IIS 5.0. Una vez que un atacante posee esta información puede buscar en las bases de datos de agujeros se seguridad y exploits para ya poder lanzar un ataque totalmente personalizado para dicha máquina.

Figura 1: Ejemplo de muestras de IIS 4.0 e IIS 5.0


e) TTL(Time To Live):

En sistemas Windows el elemento TTL tiene un valor de 128 mientras que en sistemas Linux su valor es igual a 64. De este modo al hacer el ping al TTL ya podemos determinar con facilidad qué sistema operativo está funcionando.

Para modificarlo es necesario utilizar el regedit de manera que en la cadena “ HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\” se cree o se modifique una nueva variable DWORD con el nombre DefaultTTL que incluya el valor deseado.

f) Paquetes ICMP Redirect:
Estos paquetes también indican de una forma sencilla qué sistema operativo está siendo utilizado.

Para desactivar este elemento se puede utilizar de nuevo el regedit donde tendremos que buscar la cadena “HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\” y crear o modificar la variable DWORD con el nombre EnableICMPRedirects introduciendo el valor 0 (por defecto está a 1).



3- Como protegernos.

Se ha de cambiar todos estos datos analizados para que si un atacante está analizando nuestro sitio no pueda obtener información útil.

El webmaster ha de modificar el archivo error404 y las cabeceras para que no se muestren los datos que vienen que configurados.

También es recomendado cambiar el valor del TTL y desactivar el ICMP Redirect ya que no influye en el correcto funcionamiento y sí es un problema para el atacante ya que de este modo no tiene información correcta de forma sencilla.

Empezando

Hace años ya que no tengo ningún blog entre mis manos, desde que empecé la carrera tuve que dejar de escribir en mi viejo blog, el cual con el tiempo terminó por desaparecer.
No hace ni un año que ya terminé la carrera y me incorporé al mundo laboral (de nuevo) con el digno estatus de Becaria pero ni aún así, sin nada que estudiar al llegar a casa tuve el rencuentro con mis ganas de escribir.
Y ahora ya me teneis de vuelta, justo cuando menos tiempo tengo ya que el estatus Becaria se quedó en el pasado y he vuelto a estudiar.
Creo que el estudiar ha sido lo que me ha reactivado las ganas de aprender y volver al cacharreo informático así que, con el tiempo del que vaya disponiendo, espero poder escribir por aquí.
¿Que os vais a encontrar en este blog?
Para empezar algunos trabajillos que hice en la facultad de temáticas tan variados como auditar y asegurar páginas web, data mining, programación en general...
Pero sobretodo quiero ir dejando aquí guardado un inventario/resumen/expansión de todos esos artículos que voy leyendo casi todos los días. Nunca se donde guardarlos luego o que hacer con eso que he aprendido, así que voy a tratar de irlo plasmando aquí y ya de paso tener un poco de información en castellano, que cada día es mas difícil de conseguir, de no ser que te guste leer cosas de hace cinco años....
Lo dicho, ya esta lo mas complicado echo, la introducción y esa primera página en blanco.
Gracias por venir ;)