Beruflich Dokumente
Kultur Dokumente
permite atender a las necesidades cambiantes, evidencias mediante los métodos anti-forenses y
solucionando problemas en los servidores como finalmente concluir sobre lo analizado desde la
instalar nuevos discos, realizar backups, agrupación perspectiva anti-forense.
del almacenamiento físico, redimensionamiento de
volúmenes lógicos, migración de datos y la II. SISTEMA DE ARCHIVOS ZFS
restauración de datos. Sin embargo, los LVM ZFS (Zettabyte File System) ha sido diseñado e
pueden ser difíciles de administrar y no satisfacen integrado desde cero para satisfacer las necesidades
las necesidades cambiantes en el contexto de la que no han podido suplir los sistemas de archivos
escalabilidad; adicionar o remover dispositivos al tradicionales. Cualquier persona ha sufrido
sistema no es tan sencillo y el límite finito en la problemas como [8]: borrado de archivos
capacidad de almacenamiento en los sistemas de importantes, quedarse sin espacio en una partición,
archivos de 64 bits será también un factor límite semanas agregando nuevo almacenamiento a
algún día [5]. servidores, intentando aumentar o reducir el tamaño
Otras tecnologías en el contexto de la seguridad de un sistema de archivos y la corrupción de datos;
de la información como los RAID2, ofrecen mayor por lo tanto, existe mucho campo a la hora de
integridad, mayor tolerancia a fallos, mayor mejorar las funcionalidades y administración de un
rendimiento y mayor capacidad; sin embargo no sistema de archivos. Entre sus características y
previenen la corrupción silenciosa de los datos, las funcionalidades más importantes encontramos [8]:
vulnerabilidades ―write-hole‖, no calculan ni Todos los datos son protegidos con sumas de
verifican sumas de comprobación (checksums) de comprobación de 256-bit para mantener la
un archivo, lo que no le permitirá detectar errores consistencia e integridad de los datos en cualquier
cuando un archivo es leído o escrito y mucho menos instante de tiempo.
subsanarlos. Los datos corruptos se identifican y se
Por estas razones y otras, observamos que existen reparan automáticamente.
retos que enfrentar, nuevas formas de utilizar la
Todos los algoritmos se han escrito teniendo
información y cómo encarar los desafíos de
en cuenta la escalabilidad, los directorios pueden
administración de la información, que llevará a las
organizaciones por el camino de la innovación para tener hasta 256 billones de entradas; no existe un
repensar sus ventajas competitivas. límite para el número de sistemas de archivos o de
Hoy por hoy, Solaris 10 es la versión más reciente archivos que puede haber en un sistema de archivos.
del sistema operativo desarrollado por Sun El modelo transaccional usa la semántica
Microsystems, el cual incluye nativamente el nuevo COW3, lo que permite generar snapshots y clones
sistema de archivos ZFS. Este sistema de archivos (copias del sistema de ficheros en un determinado
fue pensado y diseñado para cambiar la manera en momento de manera muy rápida).
que se administraban los sistemas de archivos, con Compresión transparente al usuario que
funcionalidades y beneficios que no se pueden maximiza el espacio disponible en disco.
encontrar en otros sistemas en la actualidad. Simplificación y automatización en la
A continuación el artículo se organiza de la
[6 ] [7]
administración del almacenamiento de datos. [9 ]
memoria física, permitiendo así mejor eficiencia en B. Etiquetas de un dispositivo virtual (Vdev
los dispositivos de almacenamiento. Es decir que Labels)
ZFS logra compartir espacio dinámicamente entre Son una estructura de datos de 256KB por cada uno
múltiples sistemas de archivos mediante un grupo de los dispositivos virtuales físicos en el grupo de
de almacenamiento (―storage pool‖). almacenamiento, describiendo a los dispositivos
Adicionalmente se permite agregar o remover virtuales físicos y a sus lógicos asociados. Por
dinámicamente almacenamiento físico a los grupos ejemplo en la Fig. 1, el ―vdev label” del dispositivo
de almacenamiento sin necesidad de interrumpir virtual físico C, poseerá información de los
servicios, proveyendo nuevos niveles de dispositivos virtuales C, D y M2 [10]. Los “vdev
flexibilidad, disponibilidad y desempeño [8]. A labels” cumplen con dos propósitos [10]:
continuación se revisarán los conceptos más Proveer acceso al contenido de los grupos de
importantes de la arquitectura y diseño de ZFS [10]: almacenamiento.
A. Dispositivos Virtuales (vdevs) Verificar la integridad y disponibilidad de
Los grupos de almacenamiento poseen una estos.
colección de dispositivos virtuales (vdevs). Estos Para cumplir con estos propósitos se utilizan los
dispositivos virtuales puedes ser: siguientes modelos:
1) Dispositivos virtuales físicos: Son bloques 1) Redundancia: Se realizan cuatro copias
escribibles en un dispositivo, como por ejemplo un idénticas del ―vdev label‖ cada una de 256KB y
disco. para cada uno de los dispositivos virtuales físicos
2) Dispositivos virtuales lógicos: Es un modelo que se encuentran en el grupo de almacenamiento.
para agrupar Dispositivos virtuales físicos. Por ejemplo si se agrega un dispositivo al grupo de
almacenamiento, ZFS colocará dos etiquetas (L0 y
L1) al frente del dispositivo y dos etiquetas (L2 y
L3) atrás del mismo (ver Fig. 2) con la intención de
que ante una corrupción de datos o una
sobrescritura del disco (suele ocurrir en fragmentos
contiguos del disco), exista la probabilidad de que
alguna de estas copias sea accesible. Después de las
etiquetas L0 y L1 se encuentra un espacio de 3.5MB
denominado ―Boot Block‖ que es un espacio
reservado para un uso futuro [10].
2) Actualizaciones transaccionales de dos
etapas: Cuando un ―vdev label‖ es actualizado, se
sobrescribe el contenido del mismo (no utilizan
semántica COW). Sin embargo, para evitar errores
Fig. 1 - Ejemplo de un árbol de dispositivos virtuales [10] y que ZFS siempre sea capaz de acceder a las
etiquetas se usan etapas. La primera etapa de la
Los dispositivos virtuales tienen la estructura de actualización escribe en las etiquetas L0 y L2. Si
un árbol, donde los dispositivos virtuales físicos son falla algo en esta actualización, las etiquetas L1 y
las hojas del árbol. En la Fig. 1 observamos que la L3 siguen siendo válidas, por lo que se actualizan y
raíz del árbol es el ―root vdev‖ (se encuentra por se escriben en disco. De esta manera siempre
cada grupo de almacenamiento) que agrupa un
existirá una copia válida en cualquier momento
primer espejo M1, que contiene el disco A y el
[10].
disco B y un segundo espejo M2, que contiene el
disco C y el disco D. Por lo tanto los dispositivos C. Detalles de un dispositivo virtual
virtuales físicos son: A, B, C y D; y los dispositivos
El contenido de un “vdev label” consta de cuatro
virtuales lógicos: M1 y M2 [10].
partes (ver Fig. 2):
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 4
de organizar y describir un grupo de bloques para está asociada a un clon, el propósito del DSL es
conformar un objeto. En otras palabras son básicamente gestionar esas relaciones.
metadatos usados para describir los objetos en En el DSL los grupos de objetos se representan
ZFS. Esta estructura posee unos campos de longitud por medio de un ―dataset”. El dataset gestiona el
fija y otros campos de longitud variable ya que espacio y contiene información sobre la localización
estos últimos son arreglos con tamaños variables de los grupos de objetos. Los dataset a su vez se
(ver Fig. 3). El campo dn_blkptr es un arreglo de la agrupan jerárquicamente en el ―DSL Directory”.
Este gestiona las relaciones de los grupos de
estructura blkptr_t y contiene entre uno y tres
datasets, sus propiedades y siempre existe solo un
punteros de bloque [10].
dataset activo, los demás datasets se relacionan con
el activo. Los datasets usan el objeto de tipo
DMU_OT_DSL_DATASET con la estructura
―dataset_phys_t” [10].
El DSL implementa un grupo de objetos del tipo
DMU_OST_META y lo llaman el MOS (―Meta
Object Set‖). Solo puede existir un MOS por pool y
es de gran importancia notar que el uberblock
apunta a un MOS (ver
Fig. 4).
El MOS tiene un objeto denominado: object
directory. Este objeto es del tipo
Fig. 3 – Estructura del dnode_phys_t [10]
DMU_OT_OBJECT_DIRECTORY y siempre está
2) Grupos de objetos: La unidad gestora de localizado en el segundo elemento en el bloque
datos organiza los objetos en grupos de objetos donde apunta el metadnode (ver
Fig. 4) [10]. Con el object directory podemos
relacionados (―object sets‖) para formar cuatro
localizar cualquier objeto mediante los grupos de
tipos: las instantáneas, los clones, los volúmenes y
objetos que tiene referenciados. Adicionalmente
los sistemas de archivo. Para este fin se utiliza el
también es un objeto ZAP.
metadnode que es una estructura objset_phys_t de 1
KB [10]. G. ZAP
Los objetos ZAP (ZFS Attribute Processor),
F. DSL almacenan atributos de la forma nombre-valor. El
Es la capa de las instantáneas y los grupos de datos nombre es un string de 256 bytes y el valor es un
(Dataset and Snapshot Layer) que tiene como arreglo variable de enteros. Existen diferentes tipos
función describir y gestionar las relaciones entre los de objetos ZAP y se usan para almacenar los
grupos de objetos (object sets). Estos grupos de diferentes nombres de archivo y de directorios,
objetos pueden ser [10]: propiedades de los dataset, propiedades del pool y
Sistemas de archivo: Almacena y organiza para navegar por los objetos del sistema de archivos
los objetos para su fácil acceso. [10].
Clones: Es idéntico a un sistema de archivos
con la diferencia que se originó de una instantánea III. TÉCNICAS ANTI-FORENSES
con su contenido. Luego de conocer la arquitectura, las estructuras de
Instantáneas: Es un sistema de archivos, clon datos y los métodos de almacenamiento en ZFS, nos
o volumen en un punto de tiempo con la enfocaremos en la problemática principal del
característica de solo lectura. artículo: las técnicas anti-forenses; finalizando con
Volúmenes: Es un volumen lógico un análisis de dichas técnicas en ZFS.
exportado por ZFS como un dispositivo de bloques. Para concebir la problemática anti-forense
Como un sistema de archivos, un clon o un primero hay que clarificar que la informática
volumen pueden estar asociados a una instantánea y forense aparece para enfrentar los desafíos y
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 6
Fig. 4. Estructura del Meta Object Set (MOS) en relación con el uberblock activo [10]
técnicas de los intrusos informáticos, así como análisis, para que pueda ser válida en una corte
garante de la verdad alrededor de la evidencia [14].
digital que se pudiese aportar en un proceso [13]. No obstante hay que tener en cuenta que la
Esta evidencia digital requiere de su seguridad total no es posible, pues no existe
correspondiente identificación, preservación, ningún elemento que no esté expuesto a
extracción, análisis, interpretación, situaciones no controladas o inesperadas; por lo
documentación y presentación para detallar, que estrategias como el análisis y administración
validar y sustentar las hipótesis que sobre un de riesgos nos permitirá reconocer la presencia de
evento se hayan formulado [13]. situaciones no previstas e identificar los posibles
Luego, los investigadores o profesionales de la controles que mitiguen los mismos [3].
informática forense deben estar en capacidad de Aquellos que pretendan investigar incidentes
examinar el sistema de archivos y conseguir una por medio de la evidencia, deberían tener en
lista de archivos que se encuentran en un cuenta las situaciones no previstas, como la
directorio, recuperar contenido eliminado o ver el habilidad de los intrusos en distorsionar la
contenido de un sector [2] y de esta manera lograr evidencia mediante lo que llamamos: técnicas
probar la existencia de archivos implicados (así anti-forenses. El propósito de este trabajo no
hayan sido borrados), teniendo precaución de no estará en identificar los procedimientos y técnicas
contaminar o modificar la evidencia durante el
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 7
estilo FIST (Filesystem Insertion & Subversion punto de inicio para acceder a la totalidad de los
Technique), identificamos el campo ―padding‖ datos en el pool y no tiene sumas de
que es un espacio reservado en la estructura de comprobación, tiene muchas copias debido al
datos del puntero de bloque (blkptr_t). [29]