Mòdul Professional 4: Anàlisi forense informàtic - Anàlisi d'Evidències en Sistemes de Fitxers de MS Windows (FAT i NTFS)

Índex

1 Conceptes generals

Un cop particionat el disc, cal organitzar d'alguna forma el seu contingut. Aquesta és la tasca dels sistemes de fitxers que bàsicament contindràn un índex de les carpetes i arxius que emmagatzema la partició a més de les seves propietats i possibles metadades.

A MS Windows normalment tenim dos sistemes principals de sistemes de fitxers: FAT (16 o 32 bits) i NTFS.

Un concepte general que és repeteix sigui quin sigui el sistema de fitxers és el cluster. El cluster és la unitat mínima d'escriptura i lectura i pot tenir mida diferents, però sempre és multiple dels sectors físics del disc (per tant, mida mínima de 512 bytes). Per tant també el podem definir com la unitat lògica d'una agrupació física de sectors. En ser una unitat bàsica, cada c/cluster/ serà assignat a un sol arxiu del sistema (no es pot compartir). Dintre d'un mateix cluster els seus sectors són sempre contigus.

2 Sistemes de fitxers a MS Windows

2.1 FAT

Com hem comentat, podem trobar FAT16 o FAT32, referint-se a la longitud de l'adreçament en memòria. Aquesta longitud determinarà quantes adreçes físiques pot referenciar el sistema d'arxius i per tant com de grans poden ser els arxius i els discos utilitzats. Lògicament el FAT16 utilitza adreçes de 16 bits i FAT32 de 32 bits.

L'estructura, per ordre de sectors, d'un sistema FAT és: Boot Record, sectors reservats, còpia de la FAT 1, còpia de la FAT 2, directori arrel _(en FAT16) i zona de dades. Com podeu veure per un costat tenim una estructura estàtica i rígida, i per l'altre tenim redundància de la FAT. Cal notar que en FAT32 es pot deshabilitar aquesta redundància fet que pot confondre.

Dins del Boot Record entre altres coses tindrem la mide del cluster que pot variar d'un sector (512 bytes) a 128 sectors (65536 bytes).

La FAT (File Allocation Table) pròpiament dita contindrà quatri possibles tipus d'entrada per cada cluster: allocated, unallocated, fi d'arxiu i sectors danyats.

El directori arrel contindrà una entrada per cada directori i arxiu del sistema, indicant nom, cluster inicial i mida. Aquest directori té un tamany fix de 512 entrades i en FAT32 pot estar emmagatzemat en qualsevol lloc de la partició.

Fat32_structure.png

Figure 1: Estructura FAT i relació entre Root Directory i taula FAT.

En sistemes FAT els arxius tenen un nom de com a màxim 8 caràcters i una extensió de 3. Notar que no diferencia majúscules de minúscules i tots els caràcters són interpretats com a majúscules.

2.2 NTFS

El sistema de arxius NTFS incorpora grans avantatge respecte el seu predecessor, les més importants són:

  • Possibilitat de recuperació d'errors físics
  • Compatibilitat per arxius i discos de major mida.
  • Incorporació de permisos, xifratge i compressió nativa.
  • Sistema de transaccions o journaling.
  • MFT (Master File Table) organitzada com a arbre binari (velocitat de consulta).

En general, l'estructura de un sistema NFTS és per ordre: Boot Partition Record, MFT, arxius del sistema (informació sobre espai lliure, sistema de journaling, etc) i àrea d'arxius.

En general, un 12% del disc queda reservat per la taula MFT i la resta per dades d'usuari.

2.2.1 MFT

És una succeció d'entrades de 1 KB de mida, on les 16 primeres fan referència al anomenats metadata files i la resta conté el nom, marca de temps i llistat d'adreçes de disc de cada directori o arxiu. Si un arxiu és molt gros pot ocupar més d'una entrada en la MFT, si això passa, la primera entrada apunta a totes les altres.

Cada entrada conté una capçalera d'atribut (atribut i longitud) i el valor que té. Alguns atributs tenen a NFTS longitud variable (com el nom de l'arxiu), si no pot encabir en una sola entrada es guarda en algun lloc del disc i l'atribut apunta allà.

mft1.jpg

Figure 2: Estructura taula MFT.

2.2.2 Els Metadata Files

Contenen l'informació del propi sistema de fitxers, i són tractats alhora com arxius. Tots ells començen amb el caràcter '$'.

mft2.jpg

Figure 3: Metadata Files.

3 Fitxers eliminats

Quan eliminem un arxiu, en realitat no esborrem les dades del disc sinó que simplement marquem o eliminem les seves entrades a la corresponent taula (FAT o MFT). D'aquesta manera l'eliminació és molt més ràpida, però les dades realment no desapareixen.

És per això que en un procés forense és molt important intentar recuperar tots els arxius eliminats i la informació complerta o parcial que pugui contenir els clusters unallocated del disc.

Aquesta informació no indexada per les taules FAT o MFT es pot presentar per varis motius.

3.1 Orphan Files

Els arxius òrfes són simplement aquells arxius on, en eliminar-los, s'han esborrat les seves entrades en les taules FAT o MFT.

3.2 Slack Space

El slack space és l'espai no utilitzat per un arxiu dins d'un cluster que ocupa. Existeixen eines que aprofiten aquest espai per a ocultar informació, i a més poden contenir informació sensible o dades parcials d'arxius prèviament eliminats. Aquest espai no utilitzat es dona en dues casuístiques:

slack.jpg

Figure 4: File Slack = Slack RAM + Drive Slack

3.2.1 Slack RAM

Quan escrivim un arxiu a disc, i com hem explicat al inici d'aquest tema, hem d'escriure com a mínim un sector (unitat mínima del disc físic). Si en l'últim sector que ocupa un arxiu, la informació que ens queda per escriure no omple el sector, el sistema "omple" l'espai restant que ha d'escriure amb informació aleatòria de la RAM. Per tant, pot quedar escrit informamció sensible com contrasenyes, etc.

3.2.2 Drive Slack

De forma semblant al Slack RAM, quan un arxiu no acaba d'omplir l'últim cluster que té assignat, les dades que hi resten queden intactes i per tant contenen informació parcial d'arxius prèviament eliminats.

3.3 Anàlisi i Carving

Amb tot l'explicat, podem veure que existeixen molts llocs en els dispositius d'emmagatzematge que poden contenir dades "no indexades", ja siguin arxius eliminats o simplement ocultats de la vista i vida normal de l'usuari del sistema.

La cerca d'aquesta informació es pot fer de forma manual, amb un objectiu pedagògic, però en una actuació forense ens veiem obligats a recorre a mètodes automàtics de cerca anàlisi i recuperació de tota aquesta informació que, a vegades, pot ser ingent.

Les tècniques relacionades en aquests processos són conegudes com Carving i podem diferenciar:

  • Basades en reconeixement de capçaleres i finals d'arxius (magic numbers).
  • Basades en estructures d'arxius (capçalera, contingut, peu, etc).
  • Basades en anàlisis de continguts: Entropia de dades, reconeixements de llenguatge, etc.

Totes elles en definitiva analitzen la informació en brut (raw) del mitjà d'emmagatzematge i intenten reconèixer arxius ignorant (o comparant majoritàriament) fins i tot el sistema d'arxius en que estàn emmagatzemats. És per aquest motiu que quan fem una recollida d'evidències d'un mitjà d'emmagatzematge necessitem realitzar-ho bit a bit.

Algunes de les eines de carving més conegudes i emprades són:

  • Foremost
  • Scapel
  • FTK
  • X-Way Forensics

3.4 SSD i Garbage Collector

Els discos SSD funcionen a nivell físic diferent als HDD tradicionals i això comporta entre altres coses que quan hi escrivim dades necessiten escriure en espais "en blanc" del disc. Per tenir pagines i blocs en blanc per escriure sempre disponibles, els SSG implementen a nivell de firmware una funcionalitat anomenada Garbage Collector que, a efectes pràctics, elimina de forma efectiva la informació esborrada del disc cada cert temps.

Per aquest motiu, en un SSD tenim molt més risc de perdre informació de forma irreversible i les tècniques de carving són menys efectives, ja que mentre el disc SSG (o memòria USB, etc) tingui corrent, aquests executarà de forma periòdica el procés de garbage collection.

Data: 2021-04-08 dj. 00:00

Autor: Raul Gimenez Herrada

Created: 2022-01-27 dj. 12:17