eCDFP Module (5) File System Analysis (Part-4)

 FAT Data Area




    ကျွန်တော်တို့အရင်က လေ့လာခဲ့တဲ့အပိုင်းတွေက FAT ရဲ့ System Area တွေဖြစ်ပါတယ်။ အခုအပိုင်းမှာ လေ့လာရမှာကတော့ FAT ရဲ့ Data Area အကြောင်းပဲဖြစ်ပါတယ်။ Data Area ထဲမှာပါတဲ့ File Content , File Directories, File Metadata တွေကို Forensics Investigator တစ်ယောက်အနေနဲ့ နားလည်ထားရမှာဖြစ်ပါတယ်။

FAT File System ရဲ့ Root Directory မှာ File တွေရဲ့ အမည်တွေကို သိမ်းထားတာ သိထားပြီးဖြစ်ပါလိမ့်မည်။  FAT12, FAT 16 တို့မှာ Root Directory မှာ File တွေရဲ့အမည်က 8.3 စနစ်နဲ့သိမ်းဆည်းထားတာဖြစ်ပါတယ်။ File Name အတွက် 8 Characters , File Extension အတွက်  3 Character ဖြစ်ပါတယ်။ FAT 32 File  System မှာတော့ ကန့်သတ်ချက်တွေမရှိတော့ပဲ Storage ကန့်သတ်ချက်ပဲရှိပါတယ်။ ( ဒါကြောင့် FAT File System USB Stick ထဲ 4GB ထက်ကျော်တဲ့ File ထည့်လို့မရပါ။)  ကျွန်တော်တို့‌ Data Entry ကိုအကြောင်းကိုမလေ့လာခင် FAT 32 File System မှာ Data Area က ဘယ်နေရာမှာ ရှိတယ်ဆိုတာ လေ့လာကြည့်ပါမယ်။  Reserved Area အတွက် Sector တွေရယ် FAT1, FAT2 Sector တွေကိုကျော်လိုက်ရင် Data Area ကိုရောက်မှာဖြစ်ပါတယ်။ (eCDFP မှာ Tools ကိုအားကိုးပြီး လုပ်တာထက်  Basic ပိုင်းနားလည်အောင်ရှင်းပါတယ်။)




            ဥပမာအနေနဲ့

Data Area Location = 6270 + 961 +961 = 819




File System ရဲ့ Root Directory (Root)  က Cluster 2 မှာရှိပါတယ်။ တစ်တယ်လို့ Volume မှာ Name ရှိတယ်ဆိုရင် အမည်က Maximum 11 Characters အထိရှိနိုင်ပါတယ်။

အခုအပိုင်းမှာတော့ FAT32 ကိုပဲ အဓိကထားပြီးရှင်းပြထားပါတယ်။ FAT 32 File System မှာ Directories  အနေနဲ့ (2) ခုရှိပါတယ်။

(1)   Short File Name (SFN)

(2)   Long File Nmae (LFN)

 Short File Name (SFN) Data Structure

            SFN Directory ရဲ့ Structure ကတော့ အောက်ကပုံအတိုင်းဖြစ်ပါတယ်။ 

 

အောက်ကပုံမှာတော့ တစ်ခုချင်းစီမှာ Bytes တွေနေရာယူပုံကို  အသေးစိတ်ရှင်းပြထားပါတယ်။



    အောက်ကပုံကတော့ Byte တွေနေရာယူတာကို အသေးစိတ်ရှင်းလင်းထားတာဖြစ်ပါတယ်။ Created, Modified, Accessed Time တွေကိုတော့ Time Convector နဲ့ချိန်းကြည့်နိုင်ပါတယ်။ 



ကျွန်တော် ဥပမာအနေနဲ့ပြရရင် Delete.doc File ကို ဖျက်ထားပါတယ်။ Disk Editor မှာ ဘယ်လိုပြသလဲဆိုတာ ကြည့်ကြည့်ပါမယ်။ 


အခုအခါမှာတော့ Photo-1 ကို Read Only ပြုလုပ်ထားပါတယ်။ Disk Editor မှာ ဘယ်လိုပြသလဲဆိုတာ ကြည့်ကြည့်ပါမယ်။ 


Date Format

            1980-2107 အထိအချိန်ကိုတော့ အောက်ပါအတိုင်းပြသထားပါတယ်။ 




ဥပမာအနေနဲ့ အခုစာရေးတဲ့အချိန် 2022-5-20 ကိုဖော်ပြမယ်ဆိုရင် -




Year  (00101010)  = 42 +1980 = 2022

Month ( 0101) = 5

Day   (00010100) = 20 


Time Format

             Time Format အချိန်ကိုတော့ အောက်ပါအတိုင်းပြသထားပါတယ်။


ဥပမာအနေနဲ့ 09:10:55 AM ကိုဖော်ပြမယ်ဆိုရင် 


Hour ( 01001) = 09 AM

Minute (001010) = 10

Second (11011) = 55


SFN အတွက်ဆိုလျှင် File Name ပေးတဲ့နေရာမှာ ကန့်သတ်ချက်ရှိပါတယ်။ 8.3 စနစ်နဲ့ သိမ်းဆည်း ထားတာ ဖြစ်ပါတယ်။ File Name အတွက် 8 Characters သာ အမည်ပေးလို့ရပါတယ်။  , File Extension အတွက်  3 Character ဖြစ်ပါတယ်။

LFN မှာတော့ 255 Characters အထိအမည်ပေးလို့ရပါတယ်။ Characters တွေက ASCII မဟုတ်ပဲ  Unicode စနစ်ဖြစ်ပါတယ်။ Characters တစ်ခုစီအတွက် 2 Bytes  ယူပါတယ်။ တစ်ကယ်လို့ File Name  တစ်ခုက 8 Characters ထက်ပိုသွားမယ်ဆိုရင် LFN ဖြစ်သွားပါတယ်။ ဒါကြောင့် File Name တစ်ခုက LFN Entry တစ်ခုထက်ပိုပြီးရှိနိုင်ပါတယ်။ LFN Entry က 13 Characters အထိသာ အမည်ပေးလို့ရပါတယ်။ ဒါကြောင့် File Name အတွက် 13 Characters သာ File System ကနေ Create ပြုလုပ်ပါတယ်။ ဥပမာကိုကြည့်ရင် ပိုပြီးရှင်းလင်းသွားပါမယ်။

ဥပမာ အနေနဲ့ Digital Forensics Myanmar.doc မှာ File Name 25 Characters ရှိပါတယ်။ LFN အတွက် File Name  ပေးတဲ့နေရာမှာ Space ဖြစ်နေတဲ့နေရာတွေကိုပါ Characters  အနေနဲ့ ထည့်ပြီးရေတွက်ပါတယ်။ 

            1.    SFN Entry  (နောက် အခန်းမှာ ရှင်းမှာဖြစ်ပါတယ်)

            2.    LFN Entry #1 ( Digital Foren)

            3.    LFN Entry #2  (sics Myanmar.)

            4.    LFN Entry #3 (.docx)


LFN ဖြစ်တဲ့အတွက် LFN Enrty တစ်ခုထဲရှိနိုင်တာမဟုတ်ပဲ SFN Entry လဲရှိပါတယ်။ SFN ကတော့ File Name ရဲ့ ပထမဆုံး 6 Characters ဖြစ်ပါတယ်။ “ ~ “ Char လာပြီးတဲ့နောက်မှာ Number လာပါတယ်။ LFN Enrty က Checksum Value ကိုအသုံးပြုပြီူ SFN နဲ့ Synced ပြုလုပ်ပါတယ်။ Checksum Value က 1 Bytes ရှိပြီး SFN Character အပေါ်မူတည်ပြီး တွက်ထုတ်ပါတယ်။

“ ~ “ ရဲ့နောက်မှာရှိတဲ့ Number အရေအတွက်ကတော့ တူညီတဲ့ Directory ထဲမှာ  File Name ပထမ 6 လုံး က အခြားသော File Name ရဲ့ ပထမ ၆ လုံးနဲ့ အကြိမ်ရေဘယ်လောက်တူလဲဆိုတဲ့အပေါ်မူတည်ပါတယ်။ ၄ ကြိမ်အထိတူညီနိုင်ပြီး ၄ ကြိမ်ထပ်ပိုရင်  အခြားသော ဖော်မြူလာကို အသုံးပြုမှာဖြစ်ပါတယ်။ ဥပမာအနေနဲ့ ခုက Directory ထဲမှာ File Name ပထမ ၆ လုံးတူညီတဲ့ File ရှိပါတယ်။ Digital Forensics Myanmar-LAB ဆိုတဲ့ Docx File တစ်ခုရှိပါသေးတယ်။                                                                                                         


     ပထမဆုံး Create လုပ်လိုက်တဲ့ Digital Forensics Myanmar.doc အတွက် Digita~1DOC ဆိုပြီး SFN ကိုတွေ့ရပါမယ်။


                  ဒုတိယအကြိမ် Create လုပ်လိုက်တဲ့ Digital Forensics Myanmar-LAB.doc အတွက် Digita~2DOC ဆိုပြီး SFN ကိုတွေ့ရပါမယ်။ နောက် File တစ်ခုမှာ  Digita ဆိုပြီး‌ ရှေ့ ၆ လုံးတူတဲ့ File Name တစ်ခုပေးလိုက်ရင် Digita~3DOC ဆိုပြီးဖြစ်လာမှာဖြစ်ပါတယ်။ Upper Case , Lower Case ဆိုရင်လဲ အတူတူပဲဖြစ်ပါတယ်။


Long File Name (LFN) Structure

  LFN Structure ကိုအောက်ပါအတိုင်းမြင်ရမှာ ဖြစ်ပါတယ်။ နောက်ထပ်ရှင်းလင်းမဲ့ ဥပမာတွေက အပေါ်ကပုံကိုနမူနာထားပြီး ရှင်းသွားမှာဖြစ်ပါတယ်။


Sequence Number

            Sequence Numner က LFN Entry ကို ရေတွက်တာဖြစ်ပါတယ်။ First LFN က 0x01, Second က 0x02, စသည်ဖြင့်ရေတွက်ပြီး 0x40 မှာ အဆုံးသတ်ပါမယ်။ တစ်ကယ်လို့ LFN Entry က 3 ခုရှိမယ်ဆိုရင် Final LFN Entry က 0x43 ဖြစ်ပါမယ်။  အပေါ်က ဥပမာမှာ LFN Entry 3 ခုရှိတာ မှတ်မိမယ်ထင်ပါတယ်။

Name

            Name ကိုတော့ 3 နေရာခွဲထားပါတယ်။

 Offset 1 = Name Characters From 1 To 5

 Offset 2 = Name Characters From 6 To 11

 Offset 3 = Name Characters From 12 To 13


Attributes


(A) Archive,  (D) Directory, (V) Volume, (H) Hidden, (S) System,  ( R ) Read Only ဆိုပြီးပြသပေးပါတယ်။ ပုံအရ (0x0F) ဖြစ်တာကြောင့် Long File Name ဖြစ်ပါတယ်။

Reserved

    Reserved နေရာကတော့ ၂ နေရာရှိပါတယ်။ Offset 12 , Offset 26 နေရာဖြစ်ပါတယ်။ တန်ဖိုးအနေနဲ့ ၀ တွေပဲဖြစ်ပါတယ်။

Checksum  

    SFN Enrty ထဲမှာရှိတာဖြစ်ပြီး နဲ့ LFN Entry တွေကို Synchronization လုပ်တဲ့နေရာမှာ အသုံးပြုတာဖြစ်ပါတယ်။ 

Subdirectory Structure


Comments

Popular posts from this blog

B-Trees (NTFS)

NTFS Index Attributes

Volatility Workbench (GUI) for the Volatility tool