← Torna al blog

I quattro timestamp dell'MFT e l'impronta del timestomping

· 2 min di lettura

Ogni record MFT memorizza quattro timestamp in due attributi distinti — $STANDARD_INFORMATION e $FILE_NAME. Entrambi registrano gli stessi quattro momenti:

  • Creazione — prima scrittura del file sul volume
  • Modifica — ultima modifica del contenuto
  • Accesso — ultima lettura del file
  • Modifica MFT — ultimo aggiornamento del record stesso

Sono otto valori per record. Non sempre sono sincronizzati.

Perché esistono due insiemi

$STANDARD_INFORMATION (SI) viene aggiornato a ogni operazione di file di routine. $FILE_NAME (FN) è stato aggiunto in origine per la compatibilità POSIX e viene aggiornato molto meno spesso — tipicamente solo alla creazione, al rinomina o allo spostamento tra cartelle.

In pratica i timestamp SI cambiano in continuazione mentre quelli FN restano stabili.

Il timestomping lascia un'impronta

Gli strumenti che alterano i timestamp di solito chiamano l'API di Windows SetFileTime. Questa scrive in SI. Non tocca FN.

Dopo un timestomping, SI mostra ciò che l'attaccante ha scelto — spesso retrodatato di anni — mentre FN continua a riflettere la vera data di creazione, a volte con uno scarto considerevole.

Due pattern da osservare in triage:

  1. Creazione SI precedente alla creazione FN. Un file non può esistere prima di essere stato nominato: impossibile in modo naturale.
  2. SI e FN modifica differiscono di più di pochi secondi per un file che chiaramente non è stato né rinominato né spostato.

Entrambi sono forti indicatori di manomissione dei metadati.

La granularità racconta di più

NTFS memorizza i timestamp con risoluzione di 100 nanosecondi, ma molti strumenti di timestomping arrotondano al secondo. Un timestamp che termina con .0000000 UTC è sospetto — l'attività naturale di Windows lascia di solito intatta la precisione al di sotto del secondo.

Risorse esterne