~/sibercrew
Adli Bilişim

Dosya Sistemi Analizi: NTFS ve MFT Yapısının İncelenmesi

Windows dosya sisteminin adli bilişim açısından en değerli bileşeni olan Master File Table'ın anatomisi.

NTFS (New Technology File System), Windows'un varsayılan dosya sistemidir ve adli bilişim açısından son derece zengin bir meta veri kaynağıdır. Bu makale, NTFS'in kalbi olan Master File Table (MFT) yapısına ve zaman damgalarının (timestamps) analiz değerine odaklanır.

Master File Table (MFT) Nedir?

NTFS'teki her dosya ve dizin, MFT içinde bir giriş (entry) olarak temsil edilir. Her MFT girişi genellikle 1024 byte'tır ve dosyanın adı, boyutu, zaman damgaları, izinleri ve (küçük dosyalar için) hatta içeriğinin tamamı gibi bilgileri "attribute" (öznitelik) adı verilen bloklar hâlinde saklar.

Önemli MFT öznitelikleri:

  • $STANDARD_INFORMATION: Oluşturma, değişiklik, MFT değişikliği ve son erişim zaman damgalarını (bilinen kısaltmasıyla MACB — Modified, Accessed, Changed, Born/created) tutar.
  • $FILE_NAME: Dosya adını ve AYRICA kendi MACB zaman damgası setini tutar — bu, aşağıda açıklanan "timestomping" tespitinde kritik bir noktadır.
  • $DATA: Dosyanın gerçek içeriği (küçük dosyalarda MFT girişinin içinde "resident" olarak, büyük dosyalarda diskte başka bir yerde "non-resident" olarak).

Timestomping Tespiti: İki Zaman Damgası Setinin Karşılaştırılması

Saldırganlar bazen bir dosyanın zaman damgalarını değiştirerek (timestomping) izlerini gizlemeye çalışır — örneğin bir zararlı yazılımın oluşturulma tarihini sistem kurulum tarihiyle aynı gösterip "hep buradaydı" izlenimi vermek gibi. Ancak Windows API'leri genelde sadece $STANDARD_INFORMATION özniteliğini değiştirir, $FILE_NAME özniteliğindeki zaman damgasını değiştirmeyi atlar. Bir adli bilişim uzmanı, bu iki öznitelik setini karşılaştırarak tutarsızlık bulursa (örneğin $STANDARD_INFORMATION'da "2019" yazarken $FILE_NAME'de gerçek oluşturma tarihinin "2024" olduğunu görürse), bu dosyanın zaman damgalarıyla oynanmış olabileceğinin güçlü bir göstergesidir.

$LogFile ve $UsnJrnl: Dosya Sistemi Aktivite Geçmişi

NTFS, kendi bütünlüğünü korumak için $LogFile (transaction log) ve $UsnJrnl (Update Sequence Number Journal) adlı özel sistem dosyalarını tutar. Bu dosyalar, dosya sisteminde yapılan işlemlerin (oluşturma, silme, yeniden adlandırma, taşıma) bir kaydını tutar ve genelde kullanıcının doğrudan erişemediği, ama adli bilişim araçlarının (örneğin Sleuth Kit, MFTECmd) ayrıştırabildiği zengin bir aktivite geçmişi sunar — bir dosya silinmiş ve MFT girişi başka bir dosya tarafından üzerine yazılmış olsa bile, bu journal'larda o dosyanın var olduğuna dair izler kalabilir.

Pratik Senaryo

Bir iç soruşturmada, bir çalışanın hassas bir belgeyi belirli bir tarihte oluşturduğu iddia ediliyor ama çalışan bu tarihte işe henüz başlamadığını savunuyor. Adli bilişim uzmanı, dosyanın MFT girişini inceliyor: $STANDARD_INFORMATION özniteliği dosyanın "oluşturma tarihi"ni çalışanın iddia ettiği daha sonraki tarih olarak gösteriyor, ancak $FILE_NAME özniteliğindeki zaman damgası gerçek oluşturma anını (çalışanın işe başlamasından ÖNCEKİ bir tarihi) gösteriyor — bu tutarsızlık, dosyanın zaman damgalarının değiştirildiğini (timestomping yapıldığını) ortaya koyuyor ve soruşturmaya yön veriyor.

Slack Space'in Değeri

Bir dosya bir NTFS cluster'ının (küme) tamamını kaplamıyorsa, o kümenin kalan kısmı (file slack) önceki dosyanın kalıntı verisini içerebilir. Bu, silinmiş veya üzerine yazılmış dosyaların parçalarının kurtarılabildiği önemli bir kaynaktır.

Bu makale, NTFS dosya sistemi analizinin orta-ileri seviye teknik bir özetidir; SiberCrew ekibi tarafından hazırlanmış özgün içeriktir.