Formato APFS iOS

El formato APFS (Apple File System) es el nuevo estándar del sistema de ficheros de Apple. Este formato sustituyó al antiguo HFS+, desde la versión 10.3 del sistema operativo de los chicos de la manzana; o lo que es lo mismo, desde 2017. No os cuento nada nuevo, para quienes ya sabéis de este tema. Fue implementado -en un principio- en el sistema operativo iOS de iPhone y posteriormente en MacOS.

Quizá, el mayor cambio de este sistema operativo APFS, es la forma que tiene de estructurar la información, eliminando la clásica Tabla de Partición, mediante la cual se dividían los espacios de almacenamiento, cada uno con su propio sistema de ficheros. En el nuevo sistema operativo, se utiliza el espacio de almacenamiento, como si se tratara de un contenedor, en el cual se almacenarán los diferentes tipos de metadatos, como los del propio contenedor, los volúmenes, así como los propios bloques de datos.

Si leemos la imagen de un sistema operativo de iOS, en hexadecimal, podremos encontrar fácilmente la marca de contenedor, dentro de ese fichero de imagen. el GUID (Identificador único global del sistema operativo) comienza en la secuencia de bytes «0800 0000 0000 0000» y el elemento «Contenedor» en la secuencia «4300 6f00 6e00 7400 6100 6900 6e00 6500 7200»

El sistema APFS utiliza varios tipos de «super bloques» siendo el primero, el denominado «Superblock CSB). El comienzo de este super bloque lo localizamos gracias a la cadena «NXSB» de la imagen (4e58 5342). La siguiente cadena hexadecimal (0010 0000) indicará el tamaño de bloque usado. En nuestro ejemplo estaríamos usando bloques de 4096 bytes (0x1000). Finalmente, tenemos que identificar un campo de 8 bytes, el cual indica cuántos bloques contiene el contenedor; en nuestro ejemplo (0x1dcd640) estaríamos usando 31249984 bloques.

Así pues, si queremos saber el tamaño en Gigabytes que ocupa este espacio, habría que calcularlo de las siguientes tablas:

Si queremos localizar el final del super bloque, tendremos que buscar el Offset «0x70» (0100 0000 0000 0000)

No quiero marearos mucho con tablas hexadecimales, pero sí quería que supierais cómo identificar el comienzo y el final de un super bloque de datos.

Continuando con la estructura de «Contenedor» del sistema operativo APFS, podríamos subdividir el sistema de particiones de Apple, en la siguiente estructura:

En función de cómo se guarden los diferentes objetos en la zona de almacenamiento, éstos pueden tener algunas diferencias. Hay tres métodos principales:

  1. Ephemeral Objects (Objetos efímeros): Este tipo de datos se almacenan en la memoria de un contenedor previamente montado; su principal característica es que éstos persisten incluso cuando el contenedor es desmontado. Estos objetos pueden ser modificados mientras se encuentren en la memoria, volviéndose a escribir en el disco como parte de un nuevo elemento.
  2. Physical Objects (Objetos físicos): Estos objetos se almacenan en una dirección de bloque conocida en el disco. La forma de guardarse no es otra que la de escribir la copia en una nueva ubicación del disco.
  3. Virtual Objects (objetos virtuales): Al contrario de los anteriores, se almacenan en el disco, en una dirección de bloque existente en un mapa de objetos, asociada directamente a ese objeto. Es decir: que cuando se modifican y posteriormente se guardan, el nuevo objeto sigue teniendo el identificador original con el que fue creado.

Existen multitud de tipos de objetos. A continuación, os reproduzco los más importantes:

Como veis, la estructura APFS de iOS es muy compleja, e intentar explicar cada una de sus partes, me llevaría a escribir un libro completo.

Espero que esta introducción al sistema APFS os sirva -al menos- para haceros una idea de cómo funciona este sistema operativo.

Recordad que -como siempre ocurre en informática- todo es infinitamente diferente, dependiendo de si es cero, o es uno.

José Aurelio García

Auditor y Perito Informático-Perito en Piratería Industrial e Intelectual-Informático Forense

Co-Director del Título Propio «Derecho Tecnológico e Informática Forense», impartido por la UnEx dtif.unex.es

Profesor en el «Máster de Abogacía Digital», impartido por la USAL

Profesor en el «Grado en Ciencias Policiales», impartido por la USAL para Policía Nacional. 

Socio Fundador Asociación Nacional de Ciberseguridad y Pericia Tecnológica – ANCITE

Prueba Electrónica – El Blog de Auditores y Peritos Informáticos

[email protected] 

 

 

0
Convertir Ficheros de Imagen «img»

No hay comentarios

Aún no hay comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *