Estructura del nuevo sistema de ficheros de Apple

APFS Overview

APFS overview

Apple presentó en junio de 2016 un nuevo sistema de ficheros llamado APFS (Apple File System), éste viene a reemplazar HFS+. En marzo de este año, APFS fue introducido con iOS 10.3, también disponible en macOS, pero con algunas limitaciones y en una versión todavía experimental.

Jonas Plum a través de su blog ha publicado una entrada con información sobre la estructura de APFS. Con la ayuda de Kaitai ha ido documentando la estrucutura de este nuevo sistema de ficheros.

Como bien dice la entrada, esto es un trabajo de ingeniería inversa en proceso, y los datos presentados pueden no ser del todo correctos.

A modo general, algunas de las características de APFS son:

  • Usa little endian para almacenar información
  • Las marcas de tiempo usan 64bits y se especifican en nanosegundos. Empezando a partir del 1 de enero de 1970 UTC (Unix epoch)
  • El tamaño de estándar de los bloques son 4096 bytes
  • Usa copy-on_write

En dicha entrada también se especifican algunas de las estructuras de datos presentes en APFS, así como la cabecera de las mismas.

Aunque la información proporcionada no es muy amplia, es un comienzo y esperemos que se vayan añadiendo más datos y correcciones. Esta es una fuente genial para el analista forense.