Dosya sistemleriİleriDosya sistemi zaman damgaları

NTFS $STANDARD_INFORMATION ve $FILE_NAME

Her NTFS MFT girdisi $SI ve $FILE_NAME içinde iki ayrı dörtlü FILETIME kümesi tutar; bunları karşılaştırmak zaman damgası oynamasına karşı temel kontroldür.

01Konum

  • $MFT entry: $STANDARD_INFORMATION (type 0x10) and one or more $FILE_NAME (type 0x30) attributes; copies of $FILE_NAME also appear in parent $I30 index entries

02Yanıtladığı sorular

  • Bir dosyanın kullanıcıya görünen zaman damgaları oluşturulduktan sonra değiştirildi mi?
  • Dosya adı ne zaman oluşturuldu veya en son değişti (yeniden adlandırma, taşıma)?
  • Kısa (8.3) ve uzun adlar veya sabit bağlantılar tutarlı zamanlar taşıyor mu?

03Biçim ve sürümler

Biçim$SI (yerleşik, 48 veya 72 bayt): oluşturma, son değiştirme, MFT girdisi değiştirme, son erişim; ofset 0, 8, 16, 24. $FILE_NAME (yerleşik): 0'da üst klasör başvurusu, ardından 8, 16, 24, 32'de aynı dört zaman, sonra boyutlar, bayraklar ve UTF-16LE ad.
Geçerli olduğu sürümlerTüm NTFS sürümleri; $SI, NTFS 3.0'dan itibaren 72 bayttır. Zamanlar UTC FILETIME değerleridir.

04Temel alanlar

AlanNe anlatır
$SI Creation / Modified / MFT modified / AccessedDosya sistemi görünümünde kullanıcıya gösterilen zamanlar; zaman damgası oynamasının yaygın hedefi.
$FN Creation / Modified / MFT modified / AccessedHer dosya adı özniteliğindeki zamanlar; bunları değiştirmek genellikle çekirdek etkileşimi veya dosyayı taşıma ya da yeniden adlandırma gerektirir (MITRE).
$FN parent file referenceO ad için üst klasörün MFT başvurusu.
$FN namespacePOSIX, Windows (uzun), DOS (8.3) veya birleşik; bir girdi, her sabit bağlantı için bir tane dahil birden fazla $FILE_NAME özniteliği tutabilir.

05Zaman damgaları

AlanKodlamaNot
All eight valuesFILETIME: 64-bit count of 100 ns intervals since 1601-01-01 UTCNTFS zamanları UTC olarak kaydeder; son erişim güncellemeleri bir saate kadar ertelenebilir.

Ham değerleri Zaman damgası çözücü, yerel saatleri ise Yerel saatten UTC'ye ile çözün.

06İnceleme akışı

  1. MFT girdisini ayrıştırın ve $SI ile her $FILE_NAME özniteliğini tam 100 ns hassasiyetle çıkarın.
  2. $SI oluşturmanın $FN oluşturmadan önce olduğu veya $SI ile $FN değerlerinin birlikte ayarlandığını düşündürecek biçimde aynı olduğu girdileri işaretleyin.
  3. $SI MFT değiştirme zamanını diğer $SI değerleriyle karşılaştırın: SetFileTime yalnızca oluşturma, son erişim ve son yazmayı ayarlar.
  4. Sonuca varmadan önce USN günlüğü, $LogFile, kısayol dosyaları ve olay günlükleri gibi bağımsız kaynaklarla doğrulayın.

07Yorum tuzakları

  • $SI/$FN uyuşmazlıkları meşru işlemlerden de (kopyalama, arşiv açma, yeniden adlandırma) doğar; uyuşmazlık kanıt değil, göstergedir.
  • MITRE, her iki özniteliği de ayarlayan 'çifte zaman damgası oynamasını' tanımlar; bu basit karşılaştırmayı etkisiz kılar.
  • MFT özniteliklerindeki $FILE_NAME boyut alanları her zaman doğru değildir (libyal, Carrier'a atıfla).
  • $STANDARD_INFORMATION içermeyen ancak $FILE_NAME içeren MFT girdileri gözlemlenmiştir; eksik öznitelikleri açıkça ele alın.

09Kaynaklar

  1. libfsntfs — New Technologies File System (NTFS) format documentation Joachim Metz (GitHub) · erişim 2026-10-14
  2. Indicator Removal: Timestomp (T1070.006) MITRE ATT&CK · erişim 2026-10-14
  3. FILETIME structure Microsoft Learn · erişim 2026-10-14
  4. SetFileTime function Microsoft Learn · erişim 2026-10-14
  5. File Times Microsoft Learn · erişim 2026-10-14