Análisis forense de Volume Shadow Copy Service (Shadow Copy, VSS)

Hola,

Una de las cosas más interesantes que pude revisar en el reciente curso 508 de SANS es cómo tratar el Volume Shadow Copy Service (VSS), más comunmente conocido como Shadow Copy. Aprovechando que tengo aquí una licencia de Windows 7 Professional, me he decidido a explorar un poco este servicio y a relataros desde el punto de vista forense sus implicaciones.

Introducción

Volume Shadow Copy Service, en adelante VSS, es una tecnología de Microsoft que opera a nivel de bloque, es decir, en el sistema de ficheros. Por poner un ejemplo, mediante esta tecnología los usuarios, usando el botón derecho el ratón, pueden recuperar versiones anteriores de un determinado fichero con extrema comodidad. Desde el punto de vista del usuario, VSS es como una pequeña máquina del tiempo integrada en el sistema que permite retroceder y obtener información generada en el pasado.

shadow copy forensics

Esto es posible ya que VSS ejecuta copias en un determinado volumen, en un momento específico del tiempo a intervalos regulares, permitiendo que el usuario restaure versiones previas con suma comodidad. Aunque, desde el punto de vista forense, VSS podría ser mirado con otros ojos: el analista forense, en caso de querer recuperar material, no necesita realizar carving del espacio no asignado, ni reconstrucciones específicas de bloques del sistema de ficheros, ni nada parecido. Podría bastarle con acceder a una shadow copy determinada, y recuperar allí cómodamente lo que se anda buscando.

Estos servicios se implementaron originalmente en Windows XP SP2, si bien en aquel entonces el concepto era totalmente distinto, habida cuenta que las copias que se producen en dicho sistema no son persistentes. Las primeras funcionalidades de copia persistente, es decir, la que no desaparece aunque se reinicie el sistema, se remontan a Windows 2003, y desde entonces todas las versiones, Vista, Windows 7 y 2008 han ido añadiendo soporte a los servicios VSS no persistentes, con ligeras variaciones. Windows 7 es el primer sistema que además de incorporar servicios nativos VSS, dispone de un interfaz gráfico para su gestión.

Determinación del proveedor de servicio VSS y presencia de copias shadow

Para identificar la presencia de VSS recurrimos al comando vssadmin, que permite enumerar los proveedores existentes:

shadow copy forensics

Perdonad que el tamaño de las capturas invadan parte del contenido dinámico a la derecha, pero quizás de este modo se lean mejor los comandos. Como se puede apreciar, esta máquina dispone de servicios VSS, con lo que el siguiente paso sería determinar si VSS ha generado copias, para lo cual también usaremos vssadmin:

shadow copy forensics

En la última captura, el sistema me informa de la existencia de dos copias shadow en mi sistema. Existirá siempre una traducción entre el volumen original y la shadow copy correspondiente, en este caso, el volumen original es (C:)\\?\Volume{b072baad-d0ae-11df-ae4c-806e6f6e6963}\ y dicho volumen tiene asociadas dos copias, \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1 y \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2

Extracción forense de las copias shadow

Para ilustrar cómo se analizan las copias vamos a ejecutar la extracción en el sistema en ejecución. Por favor, tened en cuenta que cuando se hace una adquisición en un sistema que está en ejecución, cualquier cosa que ejecutemos provocará cambios en el sistema, especialmente si traemos herramientas externas al sistema. No perdáis esto de vista, y tratad siempre de extraer desde un volumen externo evitando alterar el sistema a analizar instalando herramientas. En este caso, para simplificar el proceso, emplearemos dd.exe para Windows desde el propio sistema, aunque esta operación es posible realizarla por ejemplo, desde una máquina Unix de análisis forense conectada en red con la máquina a analizar. Al ser volúmenes, desde un punto de vista de dd, es posible realizar una copia bit a bit de dichos volúmenes al igual que las haríamos en otro volumen convencional. El único requisito que tenemos que tener presente es que las copias sólo son accesibles con el sistema en ejecución, es decir, los volúmenes no pueden ser consultados si el sistema que las genera no está cargado.

Para realizar la copia, necesitaremos recordar la nomenclatura de los dispositivos que hemos identificado anteriormente. Tampoco perdáis de vista que al extraer una copia shadow, obtendremos una imagen del sistema a analizar, independientemente de que el método de conservación se base en detecciones incrementales de cambios, con lo que es de esperar un tamaño elevado, especialmente en las versiones modernas de Windows, que suelen tener un tamaño base importante. Y tamaño elevado siempre implica tiempo elevado, especialmente en unidades de disco que no son de estado sólido:

C:\forensics>dd if=\\.\HarddiskVolumeShadowCopy2 of=c:\forensics\shadow.dd

Esta copia puede ser después montada en la estación forense para realizar las tareas habituales, tales como generación de una línea temporal, búsqueda de cadenas, y carving de ficheros eliminados. Una vez extraída no sufriremos la dependencia del sistema operativo que las ha generado, y podemos aplicar las técnicas de análisis que estimemos oportunas.

Examen mediante enlaces simbólicos

Es posible realizar un examen en el sistema en ejecución mediante enlaces simbólicos. Este método puede ser útil si lo que se desea es acceder a los contenidos de la copia shadow para una inspección visual rápida. Para esta operativa se emplea el comando nativo mklink con la opción -d que indica que queremos realizar un enlace mediante un directorio:

C:\windows\system32>mklink /d c:\copiashadow \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\
symbolic link created for c:\copiashadow < <===>> \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\

No olvidés cerrar el volumen con \, de lo contrario, no podréis acceder a los contenidos. Una vez creado el enlace se puede analizar cómodamente. Aquí se muestra un ejemplo de la segunda copia shadow, que además, incluye otros enlaces simbólicos creados anteriormente. Este directorio es totalmente navegable, y por defecto, montado en sólo lectura.

shadow copy forensics

Implicaciones forenses

Las implicaciones prácticas de las shadow copies son inmediatas. Puedo eliminar un fichero del sistema, e instantáneamente, recuperarlo de la copia. En este ejemplo eliminamos el fichero Thumbs.db en el volumen anfitrión, pero ese fichero está disponible en la shadow copy que hemos enlazado:

shadow copy forensics

Planteamientos como la extremadamente fácil recuperación forense de información en volúmenes de este tipo, cabe preguntarse si merece la pena emplearlos o no. Desde el punto de vista del usuario en la mayoría de las ocasiones sólo se apreciará lo cómodo que es recuperar un fichero borrado o sobreescrito accidentalmente, pero no todo el mundo es consciente de la cantidad de trazas que están dejando tras de sí, lo que pone en bandeja al analista forense la recuperación de información. Ni que decir tiene que ese analista forense podría ser también un usuario malicioso con acceso al disco.

Disyuntivas como estas sugieren que el tratamiento de VSS requiere un estudio particular para cada caso. En algunas ocasiones no habrá importancia en el hecho de ir dejando copias incrementales de todo lo que hacemos con el sistema, pero también es lógico pensar que algunos usuarios quizás prefieran no dejar esas trazas. Un debate abierto en el que es difícil alcanzar consenso, especialmente si añadimos el impacto a los recursos de almacenamiento que provocan las copias shadow y las más que obvias implicaciones en la privacidad, especialmente en entornos empresariales donde los usuarios empleen la máquina para almacenar efectos personales, como documentos, fotografías y claves, por poner alguos ejemplos.

Quiero imaginar que a medida que las organizaciones que actualmente operan en XP vayan migrando a Windows 7, este problema empezará a ser tratado con regularidad y los usuarios y administradores comenzarán a tener un conocimiento más preciso de lo que son las copias shadow, su utilización y los impactos en la privacidad y el rendimiento de los sistemas. Independientemente de lo que se termine realizando, la presencia de estas tecnologías en el sistema base debe conducir inexorablemente al análisis desde todos los puntos de vista, no sólo en cuanto a la funcionalidad técnica y a la seguridad, sino incluso a la legal que deriva de la realización de copias que podrían ser desconocidas para los usuarios, y que podrían contener información personal que el usuario cree haber eliminado.

Ni que decir tiene que las copias shadow se pueden desactivar. Consulta la documentación de tu sistema operativo si crees conveniente su eliminación.

Un saludo,