Disk Scan (OR) Low Level Enumeration (FAT File System)

    Disk Scan Or Low Level Enumeration  ပြုလုပ်တယ်ဆိုတာက Recovery ပြုလုပ် တဲ့နေရာ Forensics ပြုလုပ်တဲ့နေရာတွေမှာ အရင်ဆုံးပြုလုပ်တဲ့ အလုပ်ဖြစ်ပါ တယ်။ Recovery လုပ်တော့မယ်ဆိုရင် Recovery Application ကနေ အရင်ဆုံး Storage ကို Low Level Enumeration ပြုလုပ်ပါတယ်။ နောက်ကွယ်မှာ အလုပ်လုပ်တဲ့အတွက် ဘယ်လိုလုပ်ပြီးတော့ Delete လုပ်တဲ့ File တွေကို ပြတယ်ဆိုတာ မသိနိုင်ပါဘူး။

    FAT16, FAT32 File System အတွက်ဆိုရင် Root Directory Folder မှာဖျက်ထားတဲ့ Entry တွေရှိမရှိ သိအောင် အရင်ဆုံး Low Level Enumeration ပြုလုပ်ပါတယ်။ NTFS File System ဆိုရင် Master File Table ထဲမှာ ပြုလုပ်ပါတယ်။ အသုံးပြုထားတဲ့ File System အလိုက် Delete လုပ်တာကို သတ်မှတ်တဲ့ Entry ‌ပုံစံတွေကွဲပြားပါတယ်။File System ‌တွေကွဲပြားပေမဲ့ File System တိုင်းမှာ  Basic Information တွေဖြစ်တဲ့ Attributes ‌တွေပါ၀င်ပါတယ်။ 

Attributes  တွေက  - 

File Created - Modified - Accessed Date/Time 

File Name, File Size, Attributes

File Deleted or Exiting Status 

FAT File System အတွက်ဆိုရင် Delete ပြုလုပ်ထားတဲ့ File Folders တွေကို (0xE5) ဆိုပြီး File System ကနေ မှတ်သားထားလိုက်ပါတယ်။ 

Entry မှာ (0xE5) ရှိတာတွေကို Low Level Enumeration ပြုလုပ်တဲ့အချိန်မှာ ရှာဖွေပြီး ဖျက်ထားတဲ့ File Folder တွေကိုပြသပါတယ်။ Recover (Or) Forensics Analysis ပြုလုပ်ဖို့အတွက် ဖျက်ထားတဲ့ File, Folder ကိုပြသပြီးတဲ့နောက်မှာ ကျန်တဲ့ Concept တွေအတွက်လိုအပ်တဲ့ သီအိုရီပိုင်းကိုထပ်ပြီးဖော်ပြပါမယ်။ 


Deleted File Example 




FAT File System 



 Example File 


FAT Directory Entries

Directory Entries 

    Directory Entries ကတော့ Data Structure တစ်မျိုးဖြစ်ပြီး File/Folder တိုင်းအတွက် ရှိပါတယ်။  Directory Entries က 32 Bytes Size ရှိပါတယ်။ သူ့မှာ File Attributes, File တည်ရှိနေတဲ့ Starting Cluster, File Date & Time တို့ပါရှိပါတယ်။ Directory Entries က File  Metadata နဲ့ File Name အတွက်အရေးကြီးတဲ့နေရာမှာပါဝင်ပါတယ်။ Storage တိုင်းမှာ ရှိတဲ့ File/ Folder တိုင်းအတွက် Directory Entries တွေက  FAT File System မှာဆိုရင် Root Directory  (Cluster No 2 ) မှာရှိပါတယ်။ Directory Entries မှာ သက်ဆိုင်ရာ Attributes တွေရှိပေမဲ့ အရေးကြီးတဲ့ Attributes တွေကိုသာ Operation System နဲ့ Recovery or Forensics Tools တွေကထုတ်ပေးပါတယ်။ 


Cluster Chain 

    Data တွေကို Storage ပေါ်မှာ Sector (Sector အစုအဝေးဖြစ်တဲ့ Cluster) တွေပေါ်မှာ သိမ်းဆည်းထားရှိပါတယ်။ ဘယ် Cluster တွေမှာ Data တွေရှိနေတယ်။ မည်သည့် Cluster တွေကတော့ Data မရှိပဲလွတ်နေတယ်။ ဘယ် Data က Cluster ဘယ်လောက် ကနေ ဘယ်လောက်အထိ ရှိတယ်ဆိုတာကို File Allocation Table (FAT) မှာ သိမ်းဆည်းထားရှိပါတယ်။ 

    Directory Entries မှာ File ကဘယ် Cluster မှာစတင်တယ်ဆိုတာ ကိုဖော်ပြထား ပါတယ်။  FAT Entry က Zero ဖြစ်နေရင် Cluster မှာ Data မရှိပါဘူး Unallocated ဖြစ်နေပါတယ်။ Zero မဖြစ်နေဘူးဆိုရင် Cluster မှာ Data ရှိတဲ့အတွက် Allocated ဖြစ် နေပါတယ်။ Allocated ဖြစ်နေရင် File Size အရ Cluster ဘယ်လောက်ကနေ ဘယ်လောက်အထိရှိတယ်။ Cluster ဘယ်လောက်မှာဆုံးတယ်ဆိုတာကိုဖော်ပြပါတယ်။ 

Cluster Chain Example 

    File 1 ရဲ့ Size အရ Cluster 10 ကနေစပြီး Cluster 13 မှာအဆုံးသတ်မှာဖြစ်ပါတယ်။ File 1 ကိုကြည့်ချင်တယ်ဆိုရင် Directory Entries မှာဖော်ပြထားတဲ့ Starting Cluster ကိုအရင်ကြည့်တဲ့အခါ Cluster - 10 ကနေစတယ်ဆိုတာကို တွေ့ရမှာဖြစ်ပါတယ်။ File -1 Size အရ File-1 ရဲ့ Data က Cluster -  11 မှာရှိကြောင်းထပ်ပြီးညွှန်ပြပါမယ်။ Cluster 11 ကလဲ Data က Cluster - 12 မှာကြောင်းထပ်ပြီးညွှန်ပြပါမယ်။ Cluster - 12 ကနေလဲ Data က Cluster -13 မှာရှိကြောင်း ညွှန်ပြပါတယ်။ Cluster 13 မှာ End Of File (EOF) Signature ရှိနေတဲ့အတွက် File-1 ရဲ့ Data က Cluster-13 မှာဆုံးသွား မှာဖြစ်ပါတယ်။ ဒါကို Cluster Chain ပြုလုပ်တယ်လို့ခေါ်ပါတယ်။ Free Cluster နဲ့ Storage Disk Fragement  ဖြစ်တဲ့အပေါ်မူတည်ပြီး Cluster Number တွေက အစဉ် အတိုင်းဖြစ်ချင်မှ ဖြစ်ပါမယ်။ 


MAC Time Changed Docx File က Cluster-6 မှာစတင်ပြီး Cluster 103 မှာအဆုံး သတ်သွားတာကိုမြင်ရမှာ ဖြစ်ပါတယ်။ 

Docx File - File Allocation Table (FAT) 



Deleted File Example 

    အခုအချိန်မှာ Directory Entries, Cluster Changed, File Allocation Table (FAT) အကြောင်းကိုသိပြီးပါပြီ။ FAT File System ကနေလဲ Delete ပြုလုပ်လိုက်တဲ့ File, Folder ကို (0xE5) ဆိုတဲ့ Signature နဲ့ပြသထားပြီးပါပြီ။ အခုဖျက်ထားတဲ့ MAC Time Change.docx ဆိုတဲ့ File ကို Recovery ပြန်လည်ပြုလုပ်မှာဖြစ်ပါတယ်။

 MAC Time Change.docx File ရဲ့ Directory Entries ကနေ File ရဲ့ Size နဲ့ File က ဘယ် Cluster ကနေစတင်လဲဆိုတာကိုရှာဖွေကြည့်ပါမယ်။ 

Box အမည်းရောင်နဲ့ပြထားတဲ့ နောက်ဆုံး bytes 4 လုံးကို Decimal ပြောင်းပါမယ်။ 

Deleted File Size 

871E0600 (061E87) = 401031 Bytes (Deleted File Sizes) 

Box အမည်းရောင်နဲ့ပြထားတဲ့ နောက်ဆုံး bytes 2 လုံးကို Decimal ပြောင်းပါမယ်။ 

First Cluster 

0600 (06) = 6 (Deleted File Start from Cluster Number 6) 


    အခုဆိုရင် Directory Entries ကနေ ဖျက်ထားတဲ့ File ရဲ့  File Size နဲ့ File စတင်တဲ့ First Cluster ကိုရှိပါပြီ။ နောက်တစ်ဆင့်အနေနဲ့ File Allocation Table (FAT), FAT Entry  မှာ ခုနက ဖျက်ထား တဲ့ ဖျက်ထားတဲ့ File ရဲ့ Cluster နေရာတွေမှာ အခြား File တွေရောက်ရှိနေသလား (Overwrite) ဖြစ်နေသလားဆိုတာကိုကြည့်ပါမယ်။  


File Allocation Table (FAT Entry) 


    Cluster Number 6 မှာ 0 ဖြစ်နေတဲ့အတွက် Cluster 6 မှာ အခြား Data တွေ Overwrite မဖြစ်သေးပါဘူး။ Overwrite မဖြစ်သေးတဲ့အတွက် ဖျက်လိုက်တဲ့ File ကို Recovery or Forensics Purpose အတွက် ပြန်လည်ရယူနိုင်ပါတယ်။ Data ကိုပြန်လည်ရယူတဲ့နေရာမှာတော့ Data ရှိတဲ့ Cluster တွေကို Cluster Chain အတိုင်းရှာ ဖွေပြီး ပြန်လည်ရယူမှာဖြစ်ပါတယ်။ 

အနှစ်ချုပ်အနေနဲ့ FAT File System တစ်ခုကို Recovery လုပ်မယ်ဆိုရင် Directory Entry မှာရှိ‌
နေတဲ့ပထမအရေးကြီးဆုံးအချက်ဖြစ်တဲ့  File တည်ရှိတဲ့နေရာကို ပြတဲ့ First Cluster ပျောက်မသွားဖို့။ File Size ပျောက်မသွားဖို့။

First Cluster ပျောက်သွားရင် File တည်ရှိ‌တဲ့နေရာကို မသိနိုင်တော့ပါ။

File Size ပျောက်သွားခဲ့ရင်  Cluster တွေပေါ်မှာ File ကဘယ်လောက်အထိနေရာယူထားတယ်ဆိုတာ ပျောက်သွားပါမယ်။

File Allocation Table (FAT Entry) မှာ File တည်ရှိနေတဲ့ Cluster တွေမှာ အခြား File Data တွေက Overwrite ဖြစ်မသွားဖို့ (Cluster Chain ) ပျောက်မသွားဖို့ အရေးကြီးပါတယ်။

Comments

Popular posts from this blog

B-Trees (NTFS)

NTFS Index Attributes

Volatility Workbench (GUI) for the Volatility tool