999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NTFS文件系統主文件表的擦除文件路徑返查

2013-05-10 09:51:58汪賢鋒黃茂成
長春教育學院學報 2013年12期

汪賢鋒,黃茂成

NTFS文件系統以其出色的安全性和穩定性,已經成為主流的文件系統。NTFS將分區中的所有數據都以文件的方式,記錄在主文件表(Main File Table,MFT)記錄中,每條MFT記錄都分配同樣大小的空間描述文件(夾)。每個文件(夾)都對應一個或多個MFT記錄,文件(夾)的所有相關信息(如文件名、數據、大小等)都作為屬性登記中MFT記錄中,當文件屬性信息(如數據)超過MFT記錄分配空間大小,則在文件記錄中以非常駐屬性保留該屬性內容的索引,否則以常駐屬性記錄該屬性內容。NTFS文件系統的存儲組織結構如圖1所示,其中MFT記錄在定位文件(夾)起到了重要的橋梁作用。

一、NTFS卷文件管理

(一)簇管理

NTFS以簇為基本單位分配回收存儲空間[1],與FAT結構不同,NTFS卷(volume)從 0 扇區開始劃分簇,每簇為 1,2,4 或8個扇區,根據分區的大小不同,最大值不超過8扇區,格式化時可以以格式化參數的形式設定。而在FAT中,由于卷管理空間的限制,只能通過增加簇大小來管理大容量硬盤,較NTFS文件系統,容易造成存儲空間的浪費。NTFS簇大小,即每簇扇區數保存在BOOT扇區 (0扇區)。同時,NTFS通過Bitmap文件記錄所有簇的使用情況,1個bit對應一個簇,值為1表示已經分配,為0表示未分配。FAT文件系統中的FAT表不僅記錄了數據簇的使用情況,還標明了數據簇的鏈接關系。

NTFS使用邏輯簇號(logical cluster number,LCN)和虛擬簇號(virtual cluster number,VCN)來對簇進行定位。LCN是對卷中所有簇頭到尾進行簡單編號,VCN則是對屬于特定文件的簇從頭到尾進行編號,以便訪問文件中的數據,LCN是無符號整數,而VCN則是帶符號整數,VCN可以映射成LCN,由Data Runs數組完成這個映射。NTFS數據區管理不是采用鏈接存儲,而是采用索引存儲[2],文件通過自己的Data Runs數據建立索引表,一個Run就是一個連續存儲塊,Data Runs數組由若干Run組成,以0x00結束。

每個Run包括3部分,即頭部,占用簇數,起始簇號。簇號用VCN,第一個VCN是相對于0簇。頭部占用1個字節,存放占用簇數和起始簇號的字節數根據頭部確定。如對于以下十六進制數據表示的Data Runs數組為:

0x12 D4 38 04 00

其中,根據頭部0x12取其高4位可知1字節(值為隨后D4)表示占用簇數,取低4位可知2字節(值為3804),即表示0x0438簇開始的0xD4個簇。而隨后的0x00表示Data Runs數組已到數組尾部。

假設一個文件的存儲分布的Data Runs數組為:

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

則分解成4個Run:

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

即文件存儲在3個連續塊:

(1)Run 1:0x0438簇開始的0xD4個簇。

(2)Run 2:0x0149D0+0x0438=0x014E08簇開始的0x28個簇。

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

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

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

(二)主文件表

NTFS卷上的任何事物都是文件,文件在卷上的位置都是通過主文件表(master file table,MFT)記錄來確定的,其組織結構圖如圖1所示。MFT是一個對應的數據庫,由一系列的文件記錄組成,以下稱其為MFT記錄。卷中每一個文件都有一個MFT記錄 (對于大型文件還可能有多個MFT記錄與之對應),同時,MFT自身也有一個文件,也有其文件記錄。MFT的每個MFT記錄都有一個ID號,這個ID號從0開始,以遞增的方式順序編號。MFT自身是NTFS系統的第一個文件$MFT,其開始簇號在BOOT扇區中保存,與其他23個系統文件,他們組成系統的元文件(Metafiles),其中根目錄占用ID號為5的文件記錄。用戶的文件MFT記錄ID號從24開始分配,用戶每添加一個文件ID號加1。

當某個文件被刪除時,其所對應的MFT記錄由系統回收,該ID號記錄為空閑,同時,再次添加文件時,系統則優先給該文件記錄分配ID號小的空位。

1 NTFS文件系統存儲結構圖Fig.1 File storage structure in NTFS file system

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

而在FAT文件系統只在目錄區保存了文件的首簇號,需要通過FAT表的簇鏈接關系才能確定文件的全部位置。當FAT文件系統中的文件被用戶放入回收站,并清空回收站時,該文件的相應占用簇在FAT表中被置為空閑,如果該文件的占用簇不連續,則無法完整定位到該文件。同時在目錄區的目錄登記項的首字節被置為0xE5,而目錄項的前八個字節記錄的是其文件名,后三個字節為后綴名,對于文件夾,則其后綴名為空。對于長文件名,FAT文件系統通過短文件名加長文件名的方式,增加新的目錄項記錄長文件名,解決長文件名問題。如果文件長度為1,則其文件名丟失,而文件的目錄登記項只記錄文件的首簇,即文件大小,如果文件不是連續簇存放,則無法完整的恢復文件。如果兩個刪除文件名只有首字節不同,則其刪除后的目錄登記項中的文件名信息則完全相同,從而降低了電子證據的可采用性及證明力。

(三)卷文件遍歷及定位

電子取證中,為了保持文件的原始性,不能調用操作系統的文件操作命令,同時對于清空回收站的文件擦除,在操作系統的目錄視窗中已無法找到該文件。因此,應該根據文件的存儲結構直接訪問相應的物理扇區,其文件遍歷及定位流程可以歸納為以下幾個步驟。

(1)由BOOT扇區 (通常為0扇區)的BPB結構中得到$MFT的邏輯簇號(logical Cluster Number,LCN)定位到$MFT,進行下一步。

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

(3)如果該MFT記錄對應文件,則根據其常駐屬性或非常駐屬性讀取文件內容,轉至步驟(5);如果該MFT記錄對應文件夾,則進行下一步。

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

(5)定位至下一個目錄登記項,如果無目錄登記項,則結束。

(6)讀取目錄登記項內容,根據其中的MFT號定位到該文件(夾)的MFT記錄,轉至步驟(3)。

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

二、NTFS卷文件返查

在NTFS卷中刪除一個文件,系統回收其MFT記錄,置該記錄ID號為空閑ID號。同時,如果文件占用了數據區,則其數據區所占用簇被系統回收,在Bitmap中對應位置置0,標明對應簇為可以被系統重新分配,回收的MFT記錄和數據區可供系統再分配。而FAT文件系統中的文件刪除后,如果文件的存儲空間非連續,恢復時很難確定文件的鏈接關系,而NTFS文件系統中的文件刪除后,如果數據區未被覆蓋,只要文件的MFT記錄還存在,可以根據其常駐或非常駐屬性,很容易由它確定文件數據的存儲位置,提高了數據恢復的準確性。

(一)NTFS卷文件MFT記錄

NTFS文件系統給每個文件 (夾)分配固定大小 (一般為1024字節,此值在BOOT扇區得到)存儲其對應的MFT記錄。文件MFT記錄了文件的所有信息或信息外部索引,每種信息都作為屬性賦予不同的屬性特征號。文件MFT記錄由MFT記錄頭部及屬性集組成。MFT記錄頭部包含了MFT標志(一定為FILE),第一個屬性的偏移地址(相對于MFT頭),記錄的實際長度,記錄分配的大小等信息。

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

(二)MFT文件名屬性

在NTFS系統中,文件的MFT記錄的文件名屬性為0xA0屬性。該屬性第9個字節(前開始的8個字節為屬性類型和屬性總長度)為非常駐標志(0x00表示常駐屬性,0x01表示非常駐屬性),如果為常駐屬性標志,則文件數據保存在MFT記錄的數據屬性(0x80屬性),如果為非常駐屬性,則文件數據通過MFT記錄數據屬性的Data Runs數組索引到到文件的數據。

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

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

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

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

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

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

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

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

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

經過以上步驟,即可得到包含擦除文件的文件名和全路徑的完整文件名。

三、結語

NTFS以其優越的安全性和穩定性,已經成為主流的操作系統。電子取證中的電子證據除了包含擦除文件數據本身,同時,也包含文件路徑等文件的擦除痕跡。這些電子證據的擦除痕跡,對于電子證據的可采用性及證明力有了進一步的提升。因此,對于電子證據擦除痕跡需要進一步的全面研究,以提高其利用價值。

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

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

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

主站蜘蛛池模板: 免费人成又黄又爽的视频网站| 毛片免费观看视频| 国产成人亚洲精品无码电影| 一级毛片视频免费| 激情爆乳一区二区| 福利片91| 国产亚洲欧美在线专区| 亚洲日韩高清在线亚洲专区| 玖玖精品视频在线观看| h网站在线播放| 色婷婷在线播放| 国产第八页| 一区二区三区成人| 好吊妞欧美视频免费| 天天视频在线91频| 色偷偷av男人的天堂不卡| 久久久久亚洲Av片无码观看| 国产精品无码作爱| jizz在线免费播放| 亚洲日韩日本中文在线| 91精品aⅴ无码中文字字幕蜜桃| jizz亚洲高清在线观看| 中文字幕在线免费看| 国产在线观看第二页| 在线中文字幕日韩| 白浆免费视频国产精品视频| 国产一级α片| 亚洲九九视频| 亚洲精品你懂的| 99久久99视频| 亚洲高清资源| 毛片最新网址| 全午夜免费一级毛片| 欧美a级完整在线观看| 国产精品lululu在线观看| 久久国产av麻豆| 亚洲国产欧美自拍| 高清无码一本到东京热| 国产日本欧美在线观看| 嫩草在线视频| 欧美高清视频一区二区三区| 国产成年女人特黄特色毛片免 | 亚洲人成网7777777国产| 日本一区高清| 久草中文网| v天堂中文在线| 国产中文在线亚洲精品官网| 国内老司机精品视频在线播出| 热re99久久精品国99热| 午夜不卡视频| 国产91在线免费视频| 高清无码手机在线观看| 欧美日韩国产在线播放| 亚洲精品人成网线在线 | 免费看美女自慰的网站| 亚洲制服丝袜第一页| 在线观看国产精美视频| 日本久久网站| 免费在线成人网| 国产精品综合久久久| 在线看片中文字幕| 国产欧美日韩在线在线不卡视频| 无码精品国产VA在线观看DVD | 国产成人精品亚洲日本对白优播| 国产偷倩视频| 激情综合图区| 一级毛片高清| 欧美成人A视频| 国产日韩丝袜一二三区| 精品一区二区无码av| 91无码网站| 精品国产网站| 三级国产在线观看| 国产三级毛片| 亚洲男人的天堂久久香蕉| 天堂网亚洲综合在线| 亚洲成人在线免费观看| 欧美色亚洲| 日本三级欧美三级| 国产成人三级| 香蕉视频国产精品人| 91毛片网|