Está en la página 1de 12

Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses.

ZFS: Algunas Consideraciones Anti-Forenses


Cifuentes, Jonathan y Cano, Jeimy.
{jonathan.cifuentes, j.cano}@javeriana.edu.co
Departamento de Ingeniería de Sistemas, Pontificia Universidad Javeriana
Bogotá, Colombia

almacenamiento que utilizan los diferentes sistemas


Resumen— Los sistemas de archivos proporcionan un de archivos para identificar los procedimientos y
mecanismo para que los usuarios almacenen sus datos a largo técnicas [2] necesarias para extraer datos y obtener
plazo. Razón por la cual los investigadores o profesionales de evidencia válida para una determinada investigación
la informática forense estudian detalladamente los sistemas de
archivos con el fin de recolectar y analizar evidencia digital forense.
que se pueda aportar a un determinado proceso. Sin embargo y Sin embargo, la constante habilidad de los
a medida que pasa el tiempo, cualquier persona decidida a intrusos por manipular, confundir o eliminar las
comprometer la disponibilidad o utilidad de la evidencia evidencias relacionadas con un incidente;
digital, podría invalidar con herramientas especializadas que desconcierta a los profesionales de la seguridad al
pueden alterar, destruir, ocultar o inhabilitar la generación de
los rastros en la máquina. ver como estos son capaces de alterar o desafiar el
ZFS es un nuevo sistema de archivos que trae funcionamiento de sus herramientas, dejando entre
funcionalidades y beneficios basados en una fácil dicho las respuestas a los interrogantes: qué, quién,
administración y en un diseño robusto. La investigación porqué, dónde, cuándo y cómo. Esta realidad nos
forense en este sistema de archivos ya ha comenzando y en muestra que la inseguridad de la información se
este artículo vamos a presentar algunas consideraciones anti-
forenses, pensando que la solución a estos problemas se matiza en habilidades que llamaremos anti-forenses
encuentra en la comprensión de los detalles propios de este [3].
sistema de archivos. Hoy por hoy, donde tantas cosas parecen
disminuir en respuesta a la crisis económica
Índice de Términos— Sistema de archivos, ZFS, anti- mundial, el ―universo digital‖ continúa con su
forense, copia por escritura, slack space. desbordante crecimiento. La gente continúa
tomando fotos, enviando e-mail, escribiendo en
blogs, posteando videos, etc. Una investigación de
I. INTRODUCCIÓN IDC patrocinada por EMC, denominada: ―The
Cualquier ordenador debe tener instalado un sistema Diverse and Exploding Digital Universe: An
operativo, permitiendo así las diferentes Updated Forecast of Worldwide Information
interacciones entre el usuario y la máquina. Este Growth Through 2011‖ [4], revela que el universo
sistema operativo es instalado en un dispositivo de digital en el año 2007 ha sido de 281.000 millones
almacenamiento secundario, el cual tiene como de gigabytes (281 exabytes) o lo que es equivalente
función principal registrar los datos e información. a casi 45 gigabytes de información por cada persona
Para lograr este objetivo es necesario concebir una del planeta, con una tasa de crecimiento anual del
estructura que nos permita representar los datos. 60%, es decir que el universo digital alcanzaría los
Esta estructura se denomina sistema de archivo y 1.8 zettabytes (1.800 exabytes) para el año 2011.
varía dependiendo del sistema operativo, por Es decir que el crecimiento del universo digital se
ejemplo: Windows usa el sistema de archivo NTFS, ha multiplicado por 10 en cinco años, por lo que las
Linux usa EXT3, MacOS usa HFS, Unix usa UFS y organizaciones necesitan encontrar nuevas formas
Solaris recientemente usa ZFS [1]. de utilizar y administrar la información que les
Estos sistemas de archivo son de gran importancia permita adquirir ventajas competitivas notables.
en un proceso forense ya que la mayoría de la Por ejemplo, tecnologías como los LVM 1,
evidencia digital se encuentra registrada en estos. herramienta que ofrece flexibilidad en la gestión y
En este sentido, los investigadores o profesionales
1
de la informática forense deben conocer las Significa gestor de volúmenes lógicos (Logical Volume Manager). Es un
método de localización del espacio del disco duro en volúmenes lógicos que
estructuras de datos y los métodos de pueden ser fácilmente redimensionados en vez de particiones [6].
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 2

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 ]

siguiente manera; primero en estudiar el sistema de


archivos ZFS (Zettabyte File System), con el ánimo Para lograr estas funcionalidades, se realizaron
de conocer las estructuras de datos y los métodos de nuevos aspectos de diseño y arquitectura. El
almacenamiento para poder identificar donde se concepto central de la arquitectura en ZFS, es el
aloja la evidencia, para luego analizar teóricamente grupo de almacenamiento virtual (―virtual storage
como manipular, confundir o eliminar estas pool‖), que permitiría desacoplar el sistema de
archivos del almacenamiento físico, de la misma
2
manera que lo hace la memoria virtual con la
Significa matriz redundante de discos independientes (Redundant Array
of Independent Disks). Es un método de combinación de varios discos duros
3
para formar una única unidad lógica en la que se almacenan los datos de Significa copia por escritura (Copy On Write), donde los datos nunca se
forma redundante. Ofrece mayor tolerancia a fallos y altos niveles de sobrescriben y ninguna secuencia de operaciones se compromete. Es decir que
rendimiento que un sólo disco duro o un grupo de discos duros independientes siempre se escribe en áreas libres lo que asegura que los datos se guarden
[7]. confiablemente [9].
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 3

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

verifica los datos en disco [10]. Es decir son


punteros a los bloques de datos. El diseño de esta
estructura de datos (blkptr_t) principalmente costa
de los campos [10]:
1) vdev: Identifica el ID del dispositivo virtual.
2) offset: Dirección que representa donde se
encuentran los datos en un dispositivo; comenzando
a contar después del Boot Block.
3) DVA (Data Virtual Address): Identificar la
dirección del bloque donde apuntan los datos
mediante la combinación del vdev y el offset. Por
Fig. 2 - Dispositivo virtual, vdev label y
ejemplo el vdev1 y offset1 forman el dva1. ZFS
uberblock activo [10]
puede almacenar tres copias idénticas (dva1, dva2,
1) “Blank Space”: ZFS soporta etiquetas de dva3) formando el DVA. El número de DVAs que
disco VTOC (tabla de contenidos del volumen) y se pueden usar en la estructura blkptr_t son: 1-
EFI, como métodos validos para describir el diseño sencillo, 2-doble o 3-triple. Estas copias son los
del disco. Las etiquetas EFI tienen su propio ―Ditto blocks", funcionalidad de ZFS que permite
espacio reservado, las VTOC necesitan 8K al establecer políticas para la protección de los datos.
comienzo del disco, para soportar esto se dejan 8K La política actual es: sencillo para datos de usuario,
vacios para prevenir una sobrescritura de la etiqueta doble para metadatos del sistema de archivos y
[10]. triple para metadatos globales para todos los
2) “Boot header”: Los siguientes 8K se sistemas de archivos en el pool [11].
reservan para un uso futuro [10]. 4) GRID: Información acerca del diseño de
3) Pares de Nombre-Valor: Los siguientes Raid-Z4
112KB son una colección de pares nombre-valor, 5) cksum: Para identificar el algoritmo
que describen el dispositivo virtual y todos sus (fletcher2, fletcher4, SHA-256) que se va usar para
dispositivos virtuales asociados al subárbol que los la suma de verificación.
contiene menos el dispositivo virtual raíz (root 6) checksum: Tiene el algoritmo computado
vdev) [10]. identificado en cksum.
4) Arreglo de “uberblock” (uberblock_t): 7) comp: Identifica el algoritmo (lzjb) de
Contiene información necesaria para acceder al compresión.
contenido del pool. Solo un uberblock es activo en 8) padding: Espacio reservado para uso
cualquier instante de tiempo. Este será el que tiene futuro.
el número del grupo de transacción más alto y una
suma de verificación válida (SHA-256) de la E. Unidad gestora de datos (DMU)
totalidad del pool. El uberblock activo nunca es Los bloques y grupos de bloques llegan a la unidad
sobrescrito asegurando siempre acceso a esté. Para gestora de datos (Data Management Unit) en
esto cualquier actualización de un uberblock, se unidades llamadas objetos, para que esta los
realiza siguiendo el modelo COW, escribiendo en organice en agrupaciones de objetos relacionados
otro uberblock del arreglo incrementando el número [10]. [12]
del grupo de transacción, convirtiéndolo en el 1) Objetos: En ZFS todo se trata como objetos.
uberblock activo [5] [10]. Los bloques y grupos de bloques conforman
objetos. Los objetos se definen con la estructura de
D. Punteros de bloque (blkptr_t)
datos dnode_phys_t de 512 bytes. Esta se encarga
Para transferir datos entre el disco y la memoria
principal se utilizan unidades llamadas bloques. Los 4
ZFS ofrece soluciones para la auto-reparación de datos. ZFS permite
punteros de bloque (―Block Pointers”) son una distintos niveles de redundancia de datos en los grupos de almacenamiento
estructura de 128 bytes que describe, localiza y (storage pool), incluida la duplicación (RAID-1) y una variación de RAID-5
(RAID-Z) [12].
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 5

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

necesarias para obtener evidencia digital, sino en B. Ocultar la evidencia


los métodos anti-forenses. El objetivo es lograr hacer la evidencia lo menos
Para lograr materializar las estrategias anti- visible para el examinador, para que sea menos
forenses profundizaremos en los métodos probable que se incorporen en el proceso forense,
propuestos por los investigadores en la materia; como renombrar archivos para confundir o
Ryan Harris propone la siguiente clasificación: colocarlos en lugares inusuales para evadir el
A. Destrucción de la evidencia software forense [15].
Sin embargo, ocultar la evidencia no garantiza
Este método pretende evitar que la evidencia sea
éxito, ya que se basa en buscar puntos ciegos del
encontrada por los examinadores forenses
investigador [15].
destruyéndola de tal manera que sea inútil para el
Entre las técnicas más usadas para ocultar
proceso de investigación. Además no busca que
información son:
la evidencia sea inaccesible si no que sea
1) Áreas del disco: Existen diferentes áreas
irrecuperable [15].
en la que está organizado el disco, que se pueden
Este es el método más fácil de ejecutar por su
aprovechar para ocultar material [17] [18] [21].
simplicidad [16]. Sin embargo cuando se ejecutan
2) FIST (Filesystem Insertion & Subversion
estos procesos de destrucción, se puede crear
Technique): Inserta datos donde no pertenecen,
nueva evidencia [15].
más exactamente en áreas que no son usadas que
Luego, para eliminar archivos sin dejar trazas o
contengan estructuras de datos, como por ejemplo
rastros, se debe revisar el proceso de eliminación,
en archivos metadatos, journals, entradas de
para identificar las trazas y posteriormente
directorios, etc [16] [19].
limpiar éstas. Ese proceso de limpieza es
3) Slack space: Área al final de los archivos
denominado ―wiping‖ y consta básicamente de
que puede ser usada para almacenar información
dos cosas [16] [17] [18]:
oculta [17] [18].
1) Sobrescribir: El objetivo es sobrescribir
4) Esteganografía: Escribir mensajes
los datos con fines destructivos, reemplazándolos
ocultos, es decir esconder información en un
con ceros, números y caracteres aleatorios, etc;
archivo sin cambiar su comportamiento [21] [22].
logrando de esta manera que ningún software 5) Cifrados y comprimidos: El cifrado es el
pueda lograr recuperar la información en proceso de transformación de la información para
cuestión. que sea ilegible con excepción de la persona o
2) Borrar huellas: Las herramientas de personas que posean la clave. El cifrado
borrado seguro en sistemas de archivos Unix solo normalmente también se combina con la
remueven el contenido de los data blocks, compresión de los datos, lo que significa que hay
dejando los Inodes y las entradas de directorios un proceso adicional para descomprimirlos [16]
intactas. En NTFS se realiza de manera similar, [17]. Muchos autores incluyen el cifrado de datos
se desasigna la entrada en la Master File Table como un método aparte, sin embargo teniendo en
(MFT), eliminando la bandera de indicación ―en cuenta los métodos propuestos por Harris, el
uso‖. Sin embargo, estas huellas dejadas por los cifrado clasificaría aquí por ser una técnica con el
archivos se pueden borrar [16] [19] [20]: propósito de esconder información.
 Necrofile (Unix): Localiza y erradica los 6) Ads (Alternate Data Streams): Es una
―dirty‖ Inodes. característica en NTFS, que permite mantener
 Klismafile (Unix): Localiza directorios información asociada del fichero (meta
que posean entradas borradas para erradicarlas. información) sin requerir de espacio adicional, lo
 SDelete (NTFS): No solamente que permite incluir archivos a un archivo sin que
sobrescribe los archivos, sino también llena se sospeche de éstos. Ideal para esconder
cualquier parte libre existente de la MFT con logfiles, keyloggers o denegación de servicios
en el sistema [16] [17].
archivos que se ajusten dentro de un registro
MFT.
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 8

C. Eliminación de las fuentes de la evidencia irrumpiendo en el proceso forense cuando el


Es el acto de no crear evidencia para evitar tener analista examine las marcas de tiempo. En
que destruirla [19]. sistemas Unix y Mac se utiliza el comando
Se debe tener en cuenta: nunca escribir el disco, ―touch‖ y en sistemas de archivo NTFS
nunca abrir un puerto, nunca abrir un archivo, encontramos la herramienta ―Timestomp‖ [16]
nunca crear un proceso nuevo y demás [23]. [17] [21] [23] [27].
Generalmente lo que se suele hacer es 2) File carving: Refiere a la búsqueda bit a
deshabilitar el registro (log) del sistema o ejecutar bit de encabezados de tipos de archivos en el
binarios en un sistema remoto sin crear archivos disco. La anti-técnica consta de cambiar el
en el disco [24]. encabezado y la extensión. Si un archivo es
Este último se logra interactuando con el manipulado para alterar su encabezado y su
sistema operativo de la siguiente manera [24]: extensión para que coincidan en un formato de
1) Operar únicamente en memoria: De esta archivo especifico, podríamos cambiar un archivo
manera se previene que los datos se almacenen de formato texto a formato ejecutable logrando
en el disco. Se requiere que un programa en la así vencer las firmas de archivo vulnerando el
máquina objetivo actué como un servidor para de software forense que lo reconocerá
esta manera lograr interactuar con el sistema equívocamente [23] [16].
operativo. 3) Colisiones hash: tiene por objetivo lograr
2) Usar herramientas comunes antes que las que dos archivos diferentes posean la misma
personalizadas: Esto significa que no existe nada función hash, por lo que se le podría dar una hash
de valor que el analista pueda recuperar, correcto a un archivo malicioso. Se han logrado
reduciendo la efectividad de la investigación generar colisiones hash en MD4, MD5 y en
forense. Por ejemplo escribir un backdoor usando SHA1 [23].
gawk5. 4) Rooted Box: Los buenos hackers no solo
Si lo anterior se logra con éxito, se procede en se centralizan en realizar ataques a la máquina
tiempo de ejecución y manipulando la memoria a objetivo y en su defecto en la preocupación por
que un proceso existente realice acciones como no dejar evidencia, sino también a realizarlos
acceder a recursos del sistema o robar datos [16]. desde máquinas controladas remotamente. Estos
Entre las diferentes técnicas y herramientas que hackers pueden tener en el peor de los casos, una
se usan con estos fines encontramos [16] [19] serie de máquinas infectadas y preparadas para
[23] [24] [25] [26]: SAM Juicer, Syscall proxying, realizar nuevos ataques.
Rexec, XSH, Ftrans, Bootable live cd & usb, etc.
IV. ANÁLISIS DE TÉCNICAS ANTI-FORENSES
D. Falsificación de la evidencia EN ZFS
Es la modificación o edición de la evidencia
ZFS fundamentalmente cambia la manera en
existente o la creación de evidencia inválida con
que se administraban los sistemas de archivo. Su
el fin de engañar y confundir a los investigadores
diseño mediante objetos, el pool de
[15]. Este método no destruye la evidencia sino
almacenamiento común, la localización y método
que invalida la verdadera evidencia.
para llegar al contenido del disco son nuevas
Por ejemplo usar cuentas de otras personas o
nociones que lo convierte en un nuevo paradigma
lanzar ataques desde máquinas remotas que
para el diseño de sistemas de archivos.
impliquen a otras personas [15]. Entre las
Las técnicas anti-forenses entre sistemas de
técnicas más conocidas encontramos:
archivos suelen diferir en herramientas y
1) Cambiar marcas de tiempo: Atacar los
métodos, pero siempre conservan los mismos
atributos de tiempo de los archivos, logrando objetivos y principios. Si lo anterior es correcto,
colocar una fecha y hora diferente a la actual, intentar aplicar estos objetivos y principios será
5
Herramienta del sistema Unix utilizada para manipular ficheros de
texto.
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 9

un nuevo desafío para la investigación forense en (offset) donde se encuentra el archivo,


ZFS. reemplazando los datos con ceros, números,
Para realizar un estudio de las técnicas anti- caracteres aleatorios, etc. Es decir, empleando
forenses en un sistema de archivos, vemos que lo algún método o estándar para la destrucción de
primordial es organizar y categorizar todas las datos como lo son: Quick Erase, Peter Gutmann,
técnicas conocidas para que de alguna manera DoD 5220.22-M y Pseudo Random Number
sean tangibles. A continuación comenzaremos Generator, entre otros [17] [16] [18].
analizando como podrían concebirse las técnicas 3. Identificar cuáles son las trazas que deja
anti-forenses en general y relacionándolas con el el archivo: Revisando cual es el procedimiento
nuevo paradigma, diseño y arquitectura de ZFS.
para llegar a un archivo en el disco, identificamos
A. Destrucción de la evidencia que este es referenciado por el puntero de bloque
En este método lo primero que se debe analizar, del directorio raíz (dnode_phys_t), que se
es dónde se encuentra la evidencia en el disco, encuentra en el objeto ZAP del Master Node
para luego accederla sin usar la capa del sistema (dnode_phys_t) [28] [14]. Luego, estos objetos
de archivos y finalmente eliminarla son trazas que deja el archivo sobrescrito.
completamente de tal manera que el investigador 4. Eliminar las trazas que deja el archivo.
y los programas forenses no encuentren rastro Esto se completa en la medida que las trazas
alguno de esta evidencia. Identificamos que el identificadas (objetos de tipo dnode_phys_t) sean
proceso en general constaría de cuatro pasos: destruidas con éxito.
1. Identificar dónde se encuentra el archivo
objetivo en el disco: El ZFS debugger (ZDB) nos B. Ocultar la evidencia
permitirá examinar estructuras como el Este método busca los puntos ciegos del
uberblock, el puntero de bloque, objetos, grupos investigador sin comprometer el sistema de
de objetos y objetos ZAP, entre otros; que nos archivos. Estos puntos ciegos se reflejan
proporcionarán la información necesaria para básicamente en las áreas del disco como el slack
determinar la dirección física (offset) en términos space, los espacios no asignados y en general las
de sectores (bloques de 512 bytes) de los áreas que no son usadas y que contengan
contenidos de un archivo en el disco [28]. Con estructuras de datos, como archivos metadatos,
esta herramienta también podemos obtener journals, entradas de directorios, espacios
fragmentos de datos del disco con contenido de reservados, etc.
un archivo, sin modificar datos y metadatos de En ZFS las unidades lógicas de asignación6 son
este. Lo cual es muy útil para el investigador que manejadas mediante los FSB (―File System
desee examinar el disco evitando que el sistema Blocks‖) que proporcionan tamaños dinámicos.
de archivos modifique los metadatos del archivo Los archivos más pequeños que el tamaño del
[14]. Para el caso del atacante, esta herramienta registro del FSB (128 KB por defecto) poseen un
será útil para llegar a los datos en los sectores del slack space casi inútil además de suponer que está
disco. ocupado de ceros; para los archivos más grandes
Por otro lado, el paradigma COW es el en muchos de los casos, presentaran una cantidad
responsable de las instantáneas, los clones, los significativa de slack space que no será tan
―Ditto blocks‖ y en general de crear copias de amplia como en otros sistemas de archivos [5].
metadatos y datos en espacios asignados y no Con respecto a las áreas en las que ZFS
asignados, lo que significa que al identificar organiza el disco, encontramos el ―Boot Block‖ y
dónde se encuentra el archivo objetivo, también el ―Blank space” como espacios reservados (ver
será necesario identificar si existen más copias de Fig. 2) que podrían usarse para ocultar
este en diferentes instantes de tiempo. información. Asimismo, examinando áreas al
2. Sobrescribir el archivo con algún
algoritmo destructor: Esto se realiza accediendo 6
Sector lógico, o bloque o cluster o unidad de asignación. Es una
agrupación de sectores contiguos y es el espacio mínimo que va a ocupar
directamente al disco mediante la dirección física un fichero. Lo "dibuja" y maneja el S.O. Su tamaño depende del sistema de
archivos [29].
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 10

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]

modelo COW y a las copias de las etiquetas en el


Por otro lado, una característica y novedad en dispositivo virtual (ver Fig. 2). Luego, un análisis
ZFS es la compresión transparente al usuario, que del uberblock aportaría información relevante
tiene como propósito maximizar el espacio para el investigador, que de ser modificada
disponible en disco, lo que significa un desafío en desviaría la dirección de las pruebas. Por ejemplo
la indexación de datos para su posterior análisis modificar el campo ―ub_timestamp” que provee
por parte de la investigación forense [5]; de igual
al investigador información acerca de la última
manera si ZFS comienza a soportar cifrado
escritura en el uberblock.
transparente de datos, se convertiría en otro
2. Incriminar a una persona específica: En
desafío más para los investigadores, ya que la
compresión y el cifrado de datos se pueden usar ZFS todos los objetos contienen la estructura
con propósitos para ocultar la evidencia. ―znode_phys_t” en el campo ―dn_bonus” del
dnode (ver Fig. 3), la cual almacena los atributos
C. Eliminación de las fuentes de la evidencia del objeto como: marcas de tiempo, tamaño,
La eliminación de las fuentes de la evidencia lo propietario, privilegios de acceso del usuario, etc.
que pretende básicamente es no crear evidencia. Para el investigador estos atributos son de utilidad
En ZFS el ZIL (“ZFS Intent Log”) registra todas en el momento de analizar la evidencia, sin
las transacciones del sistema de archivos, lo que embargo no es tan confiable ya que se podría
debe ser muy útil para el investigador. El atacante falsificar por ejemplo la identidad del usuario
que pretenda no crear evidencia deberá cambiando el propietario del archivo con la
deshabilitarlo o intentar operar en memoria
intención de inculpar a una persona por medio de
ejecutando binarios remotamente sin almacenar
evidencia falsa.
datos en el disco.
3. Atacar al analista: Este enfoque intenta
D. Falsificación de la evidencia dificultar el trabajo del investigador de tal manera
Por último, este método pretende engañar y que se tome mucho más del tiempo reglamentario
confundir a los investigadores por medio del para realizar un análisis. La gran capacidad de
ingenio y la creatividad de los atacantes. Así almacenamiento en ZFS, puede repercutir en la
pues, existen diferentes propósitos para efectuar generación de grandes cantidades de material que
este método: dificulte el examen forense.
1. Tratar de desviar la dirección de las
pruebas: Esto es la edición y modificación de las V. CONCLUSIONES
pruebas para invalidar la verdadera evidencia. En ZFS trata los importantes problemas de integridad
ZFS se efectúan sumas de comprobación y seguridad, escalabilidad y dificultad de
(fletcher2, fletcher4 o SHA256) para garantizar la administración; que a menudo perjudicaban a
integridad de los datos y metadatos. Lo que otros sistemas de archivos. En ese sentido, la
significa que la modificación de metadatos y aplicación de las técnicas anti-forense en este
encabezados de los archivos o en general sistema de archivos es de mayor complejidad,
cualquier cambio efectuado directamente en el debido a sus nuevas políticas de integridad,
disco, será identificado automáticamente por seguridad y diseño. Esto se puede comprobar
ZFS. Luego, si se desea atacar los atributos de mediante el análisis de los métodos anti-forenses
tiempo de un archivo por ejemplo, primero se en este sistema de archivos.
debe encontrar la manera de vulnerar las sumas Por el lado de la destrucción de la evidencia
de comprobación para poder realizar resumimos que el atacante que desee eliminar y
modificaciones en los metadatos sin ser sobrescribir un archivo sin dejar trazas o residuos,
identificados. Por otro lado, el uberblock es el tendrá que identificar si existen más copias de los
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 11

datos y de los metadatos, para posteriormente Emergentes en Seguridad de la Información. [Online].


destruir estas. Esto es debido al paradigma de www.virusprot.com/art47.html [Oct 23, 2009]
copia por escritura (COW), lo que implica un [4] John F Gantz et al. (2008, Marzo) The Diverse and
trabajo de mayor cautela para el atacante, si desea Exploding Digital Universe: An Updated Forecast of
Worldwide Information Growth Through 2011.
que el examinador forense no consiga detectar y [Online]. http://www.emc.com/collateral/analyst-
recuperar numerosas copias de metadatos y reports/diverse-exploding-digital-universe.pdf [Ene
bloques de datos. Lo que no sucedía en sistemas 20, 2010]
de archivos tradicionales (FAT, NTFS, EXT2/3, [5] Nicole Lang Beebe, Sonia D. Stacy, and Dane
UFS, HFS+, etc.). Stuckey, "Digital forensic implications of ZFS,"
Por otro lado, en ZFS se reduce la posibilidad Science Direct, journal homepage:
www.elsevier.com/locate/dii n, vol. 6, pp. S99-S107.
de utilizar el slack space como se hacía por
[6] Red Hat Enterprise Linux. Manual de administración
ejemplo en NTFS, debido a los FSB (―File
del sistema, Qué es LVM? [Online].
System Blocks‖). Sin embargo para los archivos http://web.mit.edu/rhel-doc/3/rhel-sag-es-3/ch-lvm-
más grandes, en algunos de los casos presentarán intro.html [Oct 14, 2009]
una cantidad significativa de slack space con la [7] SM Data. (2009) ¿Qué es RAID? [Online].
posibilidad de ocultar información. http://www.smdata.com/queesraid.htm [Oct 14, 2009]
Adicionalmente funcionalidades como el ZIL [8] Sun Microsystems, Inc. (2008) Solaris™ ZFS. Better,
(“ZFS Intent Log”) y las sumas de comprobación safer way to manage your data. [Online].
(fletcher2, fletcher4 o SHA256), serán http://www.opensolaris.com/learn/features/solariszfs.
pdf [Oct 30, 2009]
interesantes fuentes de evidencia para los
[9] Pawel Jakub Dawidek. Porting the ZFS file system to
investigadores, por lo que los atacantes cautelosos
the FreeBSD operating. [Online].
tendrán presentes a la hora de modificar http://2007.asiabsdcon.org/papers/P16-paper.pdf [Oct
metadatos y datos. 14, 2009]
Sin embargo, funcionalidades como la [10] Sun Microsystems, Inc. (2006) ZFS On-Disk
compresión transparente y posiblemente en un Specification. [Online].
futuro el cifrado transparente, pueden ser http://hub.opensolaris.org/bin/download/Community+
utilizadas por los atacantes con el fin de ocultar Group+zfs/docs/ondiskformat0822.pdf [Oct 29, 2009]
información y dificultar el trabajo del [11] blogs.sun.com. (2006, Mayo) Ditto Blocks - The
Amazing Tape Repellent. [Online].
investigador. http://blogs.sun.com/bill/entry/ditto_blocks_the_amaz
Recapitulando, se preverá que la próxima ing_tape [Dic 23, 2009]
generación de sistemas de archivos, le apostarán [12] Sun Microsystems, Inc, Solaris ZFS Administration
al almacenamiento, a la seguridad y a la Guide. Santa Clara, U.S.A, 2009.
administración de la información de maneras [13] Jeimy Cano. (2006) Introducción a la informática
similares a ZFS. Por lo que comenzar a aprender forense. [Online].
de la inseguridad utilizando a la computación http://www.acis.org.co/fileadmin/Revista_96/dos.pdf
anti-forense como estrategia técnica, nos [May 16, 2010]
permitirá atacar el problema de raíz y avanzar en [14] Andrew Li. Zettabyte File System Autopsy: Digital
Crime Scene Investigation for Zettabyte File System.
la generación de investigaciones, estrategias y [Online].
procedimientos forenses más confiables. http://web.science.mq.edu.au/~rdale/teaching/itec810/
2009H1/WorkshopPapers/Li_Andrew_FinalWorksho
REFERENCIAS pPaper.pdf [Dic 18, 2009]
[1] ComputerForensics1. (2006) Importancia de Sistema [15] Ryan Harris, "Arriving at an anti-forensics consensus:
de Archivo en Ordenador Forensics. [Online]. Examining how to define and control the anti-
http://www.computerforensics1.com/spanish/Importa forensics problem," Science Direct, journal
ncia-de-Sistema-de-Archivo-en-Ordenador- homepage: www.elsevier.com/locate/diin, vol. 3S, pp.
Forensics.html [Oct 24, 2009] S44-S49, 2006.
[2] Brian Carrier, File System Forensic Analysis, 1st ed.: [16] Tom Van de Wiele. (2006, November) Uniskill – ICT
Addison Wesley Professional, March 17, 2005. Anti-Forensics. [Online].
[3] Jeimy Cano. (2007) Inseguridad Informática y http://www.bcie.be/Documents/BCIE_Training03_IC
Computación Anti-forense: Dos Conceptos T_Anti-Forensics_291106_TVdW.pdf [Ene 22, 2010]
Pontificia Universidad Javeriana. Cifuentes, Cano. ZFS: Algunas Consideraciones Anti-Forenses. 12

[17] BJ Bellamy. (2007, Mayo) Anti-Forensics and


Reasons for Optimism. [Online].
http://www.nasact.org/conferences_training/nsaa/conf
erences/ITWorkshopConferences/2007ITWorkshopC
onference/PresentationsHandouts/bellamy.ppt [Ene
20, 2010]
[18] Charles Williford. (2007, November) Computer Anti-
Forensics. [Online].
http://www.fis.ncsu.edu/csd2007/Files/antiforensic.pd
f [Ene 20, 2010]
[19] grugq. (2004) The art of defiling: Defeating forensic
analysis on Unix file systems. [Online].
http://www.packetstormsecurity.org/hitb04/hitb04-
grugq.pdf [Ene 26, 2010]
[20] Mark Russinovich. (2006, Noviembre) SDelete v1.51.
[Online]. http://technet.microsoft.com/es-
es/sysinternals/bb897443.aspx [Dic 23, 2009]
[21] Vincent Liu and Francis Brown. (2006, April)
Bleeding-Edge Anti-Forensics. [Online].
http://www.metasploit.com/data/antiforensics/InfoSec
World%202006-K2-
Bleeding_Edge_AntiForensics.ppt [Ene 29, 2010]
[22] Paul Henry. (2007, Oct) Anti - Forensics. [Online].
http://www.thetrainingco.com/pdf/Tuesday/Tuesday
%20Keynote%20-%20Anti-Forensics%20-
%20Henry.pdf [Feb 2, 2010]
[23] Vincent Liu and Patrick Stach. (2006, May)
Defeating Forensic Analysis CEIC. [Online].
http://www.metasploit.com/data/antiforensics/CEIC2
006-Defeating_Forensic_Analysis.pdf [Ene 28, 2010]
[24] grugq. FIST! FIST! FIST! Its all in the wrist: Remote
Exec. [Online].
http://www.phrack.com/issues.html?issue=62&id=8&
mode=txt [Feb 4, 2010]
[25] Maximiliano Caceres. (2002) Syscall Proxying -
Simulating remote execution. [Online].
download.coresecurity.com/corporate/attachments/Sy
scallProxying.pdf [Feb 5, 2010]
[26] Max. (2009, February) Leave No Artifacts Behind –
Linux Live CDs. [Online]. http://www.anti-
forensics.com/leave-no-artifacts-behind-linux-live-
cds [Feb 7, 2010]
[27] University of Edinburgh. (2008, October) touch -
change file timestamps. [Online].
http://unixhelp.ed.ac.uk/CGI/man-cgi?touch [Feb 5,
2010]
[28] Max Bruning, "ZFS On-Disk Data Walk (or: Where's
my Data?)," 2008. [Online].
http://www.bruningsystems.com/osdevcon_draft3.pdf
[Dic 9, 2009]
[29] Informática IES Virgen de la Paloma. Disco duro
(visión software). [Online].
http://www.palomatica.info/juckar/sistemas/hardware
/perifericos/disco_duro_sfw.html [Feb 9, 2010]