• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于NTFS文件系統(tǒng)主文件表的擦除文件路徑返查

      2013-05-10 09:51:58汪賢鋒黃茂成
      關(guān)鍵詞:文件名回收站扇區(qū)

      汪賢鋒,黃茂成

      NTFS文件系統(tǒng)以其出色的安全性和穩(wěn)定性,已經(jīng)成為主流的文件系統(tǒng)。NTFS將分區(qū)中的所有數(shù)據(jù)都以文件的方式,記錄在主文件表(Main File Table,MFT)記錄中,每條MFT記錄都分配同樣大小的空間描述文件(夾)。每個(gè)文件(夾)都對(duì)應(yīng)一個(gè)或多個(gè)MFT記錄,文件(夾)的所有相關(guān)信息(如文件名、數(shù)據(jù)、大小等)都作為屬性登記中MFT記錄中,當(dāng)文件屬性信息(如數(shù)據(jù))超過(guò)MFT記錄分配空間大小,則在文件記錄中以非常駐屬性保留該屬性?xún)?nèi)容的索引,否則以常駐屬性記錄該屬性?xún)?nèi)容。NTFS文件系統(tǒng)的存儲(chǔ)組織結(jié)構(gòu)如圖1所示,其中MFT記錄在定位文件(夾)起到了重要的橋梁作用。

      一、NTFS卷文件管理

      (一)簇管理

      NTFS以簇為基本單位分配回收存儲(chǔ)空間[1],與FAT結(jié)構(gòu)不同,NTFS卷(volume)從 0 扇區(qū)開(kāi)始劃分簇,每簇為 1,2,4 或8個(gè)扇區(qū),根據(jù)分區(qū)的大小不同,最大值不超過(guò)8扇區(qū),格式化時(shí)可以以格式化參數(shù)的形式設(shè)定。而在FAT中,由于卷管理空間的限制,只能通過(guò)增加簇大小來(lái)管理大容量硬盤(pán),較NTFS文件系統(tǒng),容易造成存儲(chǔ)空間的浪費(fèi)。NTFS簇大小,即每簇扇區(qū)數(shù)保存在BOOT扇區(qū) (0扇區(qū))。同時(shí),NTFS通過(guò)Bitmap文件記錄所有簇的使用情況,1個(gè)bit對(duì)應(yīng)一個(gè)簇,值為1表示已經(jīng)分配,為0表示未分配。FAT文件系統(tǒng)中的FAT表不僅記錄了數(shù)據(jù)簇的使用情況,還標(biāo)明了數(shù)據(jù)簇的鏈接關(guān)系。

      NTFS使用邏輯簇號(hào)(logical cluster number,LCN)和虛擬簇號(hào)(virtual cluster number,VCN)來(lái)對(duì)簇進(jìn)行定位。LCN是對(duì)卷中所有簇頭到尾進(jìn)行簡(jiǎn)單編號(hào),VCN則是對(duì)屬于特定文件的簇從頭到尾進(jìn)行編號(hào),以便訪問(wèn)文件中的數(shù)據(jù),LCN是無(wú)符號(hào)整數(shù),而VCN則是帶符號(hào)整數(shù),VCN可以映射成LCN,由Data Runs數(shù)組完成這個(gè)映射。NTFS數(shù)據(jù)區(qū)管理不是采用鏈接存儲(chǔ),而是采用索引存儲(chǔ)[2],文件通過(guò)自己的Data Runs數(shù)據(jù)建立索引表,一個(gè)Run就是一個(gè)連續(xù)存儲(chǔ)塊,Data Runs數(shù)組由若干Run組成,以0x00結(jié)束。

      每個(gè)Run包括3部分,即頭部,占用簇?cái)?shù),起始簇號(hào)。簇號(hào)用VCN,第一個(gè)VCN是相對(duì)于0簇。頭部占用1個(gè)字節(jié),存放占用簇?cái)?shù)和起始簇號(hào)的字節(jié)數(shù)根據(jù)頭部確定。如對(duì)于以下十六進(jìn)制數(shù)據(jù)表示的Data Runs數(shù)組為:

      0x12 D4 38 04 00

      其中,根據(jù)頭部0x12取其高4位可知1字節(jié)(值為隨后D4)表示占用簇?cái)?shù),取低4位可知2字節(jié)(值為3804),即表示0x0438簇開(kāi)始的0xD4個(gè)簇。而隨后的0x00表示Data Runs數(shù)組已到數(shù)組尾部。

      假設(shè)一個(gè)文件的存儲(chǔ)分布的Data Runs數(shù)組為:

      0x12 D4 38 04 31 28 D0 49 01 21 CB FF 00

      則分解成4個(gè)Run:

      12 D4 38 04,31 28 D0 49 01,21 23 CB FF,00

      即文件存儲(chǔ)在3個(gè)連續(xù)塊:

      (1)Run 1:0x0438簇開(kāi)始的0xD4個(gè)簇。

      (2)Run 2:0x0149D0+0x0438=0x014E08簇開(kāi)始的0x28個(gè)簇。

      (3)Run 3:這里 VCN為 0xFFCB=-0x35,則與前面 Run的起始簇號(hào)累計(jì)為0x014E08-0x35=0x014DD3開(kāi)始的0x23個(gè)簇,這里將VCN 0xFFCB換算成LCN,它相對(duì)于前一起始地址0x014E08。

      (4)Run 4:0x00,Data Runs數(shù)組到達(dá)尾部。

      由上可知,文件的存儲(chǔ)地址并不是完全依次連續(xù)增加的,而是依據(jù)數(shù)據(jù)簇的分配算法得出的。

      (二)主文件表

      NTFS卷上的任何事物都是文件,文件在卷上的位置都是通過(guò)主文件表(master file table,MFT)記錄來(lái)確定的,其組織結(jié)構(gòu)圖如圖1所示。MFT是一個(gè)對(duì)應(yīng)的數(shù)據(jù)庫(kù),由一系列的文件記錄組成,以下稱(chēng)其為MFT記錄。卷中每一個(gè)文件都有一個(gè)MFT記錄 (對(duì)于大型文件還可能有多個(gè)MFT記錄與之對(duì)應(yīng)),同時(shí),MFT自身也有一個(gè)文件,也有其文件記錄。MFT的每個(gè)MFT記錄都有一個(gè)ID號(hào),這個(gè)ID號(hào)從0開(kāi)始,以遞增的方式順序編號(hào)。MFT自身是NTFS系統(tǒng)的第一個(gè)文件$MFT,其開(kāi)始簇號(hào)在BOOT扇區(qū)中保存,與其他23個(gè)系統(tǒng)文件,他們組成系統(tǒng)的元文件(Metafiles),其中根目錄占用ID號(hào)為5的文件記錄。用戶(hù)的文件MFT記錄ID號(hào)從24開(kāi)始分配,用戶(hù)每添加一個(gè)文件ID號(hào)加1。

      當(dāng)某個(gè)文件被刪除時(shí),其所對(duì)應(yīng)的MFT記錄由系統(tǒng)回收,該ID號(hào)記錄為空閑,同時(shí),再次添加文件時(shí),系統(tǒng)則優(yōu)先給該文件記錄分配ID號(hào)小的空位。

      1 NTFS文件系統(tǒng)存儲(chǔ)結(jié)構(gòu)圖Fig.1 File storage structure in NTFS file system

      文件記錄包含文件的所有信息,不同信息以不同屬性來(lái)表示,如文件名、文件時(shí)間標(biāo)記等都是屬性,文件的內(nèi)容也是一個(gè)屬性,每個(gè)屬性都有特定的特征碼。屬性數(shù)據(jù)較小時(shí)則存放在MFT記錄中,稱(chēng)它們?yōu)槌qv屬性(resident attribute),否則MFT記錄中只會(huì)保存該屬性索引到外部的地址,以及索引區(qū)的大小,稱(chēng)此類(lèi)屬性為非常駐屬性(non-resident attribute),通過(guò)Data Runs來(lái)保存其存儲(chǔ)索引表。當(dāng)文件被放入回收站,且清空回收站時(shí),該文件的MFT記錄在文件系統(tǒng)中被標(biāo)明為空閑但不會(huì)被立即清除,其MFT記錄仍完整的保留,可以根據(jù)其MFT記錄的文件名屬性(0x30屬性)得到其完整文件名,返查其父目錄MFT記錄號(hào),然后向上逐級(jí)返查,直至根目錄,從而得到該文件包含文件路徑的完整文件名。同時(shí),該文件的MFT記錄中保持文件的數(shù)據(jù)屬性,通過(guò)其可以定位到文件的數(shù)據(jù)本身。而文件的路徑信息作為電子證據(jù)的一個(gè)重要組成部分,能提高電子證據(jù)的可采用性及證明力。

      而在FAT文件系統(tǒng)只在目錄區(qū)保存了文件的首簇號(hào),需要通過(guò)FAT表的簇鏈接關(guān)系才能確定文件的全部位置。當(dāng)FAT文件系統(tǒng)中的文件被用戶(hù)放入回收站,并清空回收站時(shí),該文件的相應(yīng)占用簇在FAT表中被置為空閑,如果該文件的占用簇不連續(xù),則無(wú)法完整定位到該文件。同時(shí)在目錄區(qū)的目錄登記項(xiàng)的首字節(jié)被置為0xE5,而目錄項(xiàng)的前八個(gè)字節(jié)記錄的是其文件名,后三個(gè)字節(jié)為后綴名,對(duì)于文件夾,則其后綴名為空。對(duì)于長(zhǎng)文件名,F(xiàn)AT文件系統(tǒng)通過(guò)短文件名加長(zhǎng)文件名的方式,增加新的目錄項(xiàng)記錄長(zhǎng)文件名,解決長(zhǎng)文件名問(wèn)題。如果文件長(zhǎng)度為1,則其文件名丟失,而文件的目錄登記項(xiàng)只記錄文件的首簇,即文件大小,如果文件不是連續(xù)簇存放,則無(wú)法完整的恢復(fù)文件。如果兩個(gè)刪除文件名只有首字節(jié)不同,則其刪除后的目錄登記項(xiàng)中的文件名信息則完全相同,從而降低了電子證據(jù)的可采用性及證明力。

      (三)卷文件遍歷及定位

      電子取證中,為了保持文件的原始性,不能調(diào)用操作系統(tǒng)的文件操作命令,同時(shí)對(duì)于清空回收站的文件擦除,在操作系統(tǒng)的目錄視窗中已無(wú)法找到該文件。因此,應(yīng)該根據(jù)文件的存儲(chǔ)結(jié)構(gòu)直接訪問(wèn)相應(yīng)的物理扇區(qū),其文件遍歷及定位流程可以歸納為以下幾個(gè)步驟。

      (1)由BOOT扇區(qū) (通常為0扇區(qū))的BPB結(jié)構(gòu)中得到$MFT的邏輯簇號(hào)(logical Cluster Number,LCN)定位到$MFT,進(jìn)行下一步。

      (2)定位到ID號(hào)為5的MFT記錄,即根目錄MFT記錄,進(jìn)行下一步。

      (3)如果該MFT記錄對(duì)應(yīng)文件,則根據(jù)其常駐屬性或非常駐屬性讀取文件內(nèi)容,轉(zhuǎn)至步驟(5);如果該MFT記錄對(duì)應(yīng)文件夾,則進(jìn)行下一步。

      (4)根據(jù)INDEX頭部,讀取頭部信息,進(jìn)行下一步。

      (5)定位至下一個(gè)目錄登記項(xiàng),如果無(wú)目錄登記項(xiàng),則結(jié)束。

      (6)讀取目錄登記項(xiàng)內(nèi)容,根據(jù)其中的MFT號(hào)定位到該文件(夾)的MFT記錄,轉(zhuǎn)至步驟(3)。

      其中,文件(夾)可能讀取多個(gè)MFT記錄,則聯(lián)合讀取MFT記錄中的常駐或非常駐屬性得到文件(夾)內(nèi)容。

      二、NTFS卷文件返查

      在NTFS卷中刪除一個(gè)文件,系統(tǒng)回收其MFT記錄,置該記錄ID號(hào)為空閑ID號(hào)。同時(shí),如果文件占用了數(shù)據(jù)區(qū),則其數(shù)據(jù)區(qū)所占用簇被系統(tǒng)回收,在Bitmap中對(duì)應(yīng)位置置0,標(biāo)明對(duì)應(yīng)簇為可以被系統(tǒng)重新分配,回收的MFT記錄和數(shù)據(jù)區(qū)可供系統(tǒng)再分配。而FAT文件系統(tǒng)中的文件刪除后,如果文件的存儲(chǔ)空間非連續(xù),恢復(fù)時(shí)很難確定文件的鏈接關(guān)系,而NTFS文件系統(tǒng)中的文件刪除后,如果數(shù)據(jù)區(qū)未被覆蓋,只要文件的MFT記錄還存在,可以根據(jù)其常駐或非常駐屬性,很容易由它確定文件數(shù)據(jù)的存儲(chǔ)位置,提高了數(shù)據(jù)恢復(fù)的準(zhǔn)確性。

      (一)NTFS卷文件MFT記錄

      NTFS文件系統(tǒng)給每個(gè)文件 (夾)分配固定大小 (一般為1024字節(jié),此值在BOOT扇區(qū)得到)存儲(chǔ)其對(duì)應(yīng)的MFT記錄。文件MFT記錄了文件的所有信息或信息外部索引,每種信息都作為屬性賦予不同的屬性特征號(hào)。文件MFT記錄由MFT記錄頭部及屬性集組成。MFT記錄頭部包含了MFT標(biāo)志(一定為FILE),第一個(gè)屬性的偏移地址(相對(duì)于MFT頭),記錄的實(shí)際長(zhǎng)度,記錄分配的大小等信息。

      根據(jù)MFT頭部中的第一個(gè)屬性的偏移地址,可以讀取相應(yīng)的屬性,每個(gè)屬性中都包含不定長(zhǎng)屬性的長(zhǎng)度信息,從而定位和讀取下一個(gè)屬性。文件的MFT記錄中的屬性包括基本信息屬性,屬性列表屬性,文件名屬性,數(shù)據(jù)屬性,索引根屬性,索引分配屬性,Bitmap屬性等,可定義在如下的枚舉類(lèi)型。

      (二)MFT文件名屬性

      在NTFS系統(tǒng)中,文件的MFT記錄的文件名屬性為0xA0屬性。該屬性第9個(gè)字節(jié)(前開(kāi)始的8個(gè)字節(jié)為屬性類(lèi)型和屬性總長(zhǎng)度)為非常駐標(biāo)志(0x00表示常駐屬性,0x01表示非常駐屬性),如果為常駐屬性標(biāo)志,則文件數(shù)據(jù)保存在MFT記錄的數(shù)據(jù)屬性(0x80屬性),如果為非常駐屬性,則文件數(shù)據(jù)通過(guò)MFT記錄數(shù)據(jù)屬性的Data Runs數(shù)組索引到到文件的數(shù)據(jù)。

      由MFT記錄頭部開(kāi)始讀取其第一個(gè)屬性的偏移,逐個(gè)搜索是否文件名屬性,即判斷屬性前四個(gè)字節(jié)是否為0x30,如果不是文件名屬性,則根據(jù)隨后的屬性長(zhǎng)度信息,跳至下一個(gè)屬性。當(dāng)搜尋到文件名屬性時(shí),其中包含了文件返查所需的重要數(shù)據(jù)。文件名屬性的包含了文件大小,文件屬性(如隱藏,壓縮等),文件創(chuàng)建時(shí)間,文件修改時(shí)間,父目錄的MFT記錄參考號(hào)等信息。而其中的父目錄的MFT記錄參考號(hào),是文件返查一個(gè)重要數(shù)據(jù)。

      (三)擦除文件的文件路徑返查

      對(duì)于計(jì)算機(jī)犯罪中的電子證據(jù),大多罪犯有相當(dāng)一部分采用的是清空回收站的方式刪除。在NTFS中,當(dāng)文件被放入回收站并清空回收站時(shí),如果未作其他的操作,此時(shí)系統(tǒng)所作的操作是將此文件的MFT號(hào)置為空閑,同時(shí)將文件所占數(shù)據(jù)簇標(biāo)志為空閑簇,該MFT記錄及空閑數(shù)據(jù)簇可被系統(tǒng)重分配。而該文件的MFT記錄及數(shù)據(jù)簇集中的內(nèi)容并未被擦除,這也是文件恢復(fù)和文件返查的可行性依據(jù)。

      當(dāng)搜尋到擦除文件的MFT記錄,定位其文件名屬性,讀取其父目錄的MFT記錄參考號(hào),定位到父目錄的MFT記錄,向上逐級(jí)返查至根目錄即可得到擦除文件的完整路徑,具體步驟如下。

      (1)定義返查路徑棧,進(jìn)行下一步。

      (2)讀取MFT記錄的文件頭,搜索文件名屬性,進(jìn)行下一步。

      (3)讀取文件名屬性中的文件名,將其壓入返查路徑棧,進(jìn)行下一步。

      (4)讀取文件名屬性中的父目錄MFT記錄參考號(hào),讀取父目錄MFT記錄,轉(zhuǎn)至步驟(2)。

      (5)將返查路徑棧中路徑記錄順序出棧,并以分隔符“”連接,返查結(jié)束。

      經(jīng)過(guò)以上步驟,即可得到包含擦除文件的文件名和全路徑的完整文件名。

      三、結(jié)語(yǔ)

      NTFS以其優(yōu)越的安全性和穩(wěn)定性,已經(jīng)成為主流的操作系統(tǒng)。電子取證中的電子證據(jù)除了包含擦除文件數(shù)據(jù)本身,同時(shí),也包含文件路徑等文件的擦除痕跡。這些電子證據(jù)的擦除痕跡,對(duì)于電子證據(jù)的可采用性及證明力有了進(jìn)一步的提升。因此,對(duì)于電子證據(jù)擦除痕跡需要進(jìn)一步的全面研究,以提高其利用價(jià)值。

      [1]黃步根.數(shù)據(jù)恢復(fù)與計(jì)算機(jī)取證[J].計(jì)算機(jī)安全,2006,(6):79-81

      [2]黃步根.NTFS系統(tǒng)存儲(chǔ)介質(zhì)上文件操作痕跡分析[J].2007,33(23):281-282

      [3]黃步根,劉建軍,張曉南.NTFS文件系統(tǒng)中的視頻數(shù)據(jù)恢復(fù)方法[J].計(jì)算機(jī)工程,2010,(2)

      猜你喜歡
      文件名回收站扇區(qū)
      分階段調(diào)整增加扇區(qū)通行能力策略
      南北橋(2022年2期)2022-05-31 04:28:07
      能量回收站
      右鍵調(diào)用多重更名更方便
      Excel輕松提取文件名
      神奇裁縫最省布
      U盤(pán)故障排除經(jīng)驗(yàn)談
      基于貝葉斯估計(jì)的短時(shí)空域扇區(qū)交通流量預(yù)測(cè)
      重建分區(qū)表與FAT32_DBR研究與實(shí)現(xiàn)
      不讓長(zhǎng)文件名成為“絆腳石”
      電腦迷(2014年8期)2014-04-29 07:37:40
      舊衣回收
      博白县| 台江县| 昌邑市| 涞水县| 抚顺市| 汤原县| 阿荣旗| 天水市| 霍林郭勒市| 佳木斯市| 搜索| 吐鲁番市| 锦屏县| 古浪县| 星座| 深水埗区| 南乐县| 抚顺县| 上高县| 唐海县| 高台县| 贡觉县| 平安县| 乌鲁木齐县| 洪泽县| 理塘县| 洞头县| 隆林| 景洪市| 沈阳市| 成武县| 宾阳县| 溧水县| 南木林县| 罗平县| 仪征市| 河曲县| 噶尔县| 綦江县| 台东市| 慈利县|