徐仙偉,楊雁瑩,曹 霽
(南京森林警察學院信息技術(shù)系,江蘇 南京210023)
隨著信息技術(shù)和信息產(chǎn)業(yè)的發(fā)展,計算機和網(wǎng)絡已經(jīng)滲透到我國政治、經(jīng)濟、軍事、科技、文化等各個領(lǐng)域。與此同時,計算機犯罪呈逐年遞增的趨勢,通常由于計算機犯罪具有犯罪主體專業(yè)化、犯罪行為智能化、犯罪客體復雜化、犯罪對象多樣化、危害后果隱蔽等特點,使得計算機犯罪明顯有別于傳統(tǒng)的刑事犯罪[1]。因此,構(gòu)建全面有效打擊各種計算機犯罪的數(shù)據(jù)恢復、計算機取證技術(shù)已成為當前研究的熱點。
2012年3月,《刑事訴訟法(草案)》通過了第8次修訂,明確把電子證據(jù)列為第8類證據(jù),諸如貪污、瀆職、賭球、軟件侵權(quán)、網(wǎng)絡盜號、短信詐騙、私服外掛、網(wǎng)絡電子傳銷等案件,都離不開電子取證及鑒定。而針對惡意刪改數(shù)據(jù)、惡意損壞存儲載體致使數(shù)據(jù)丟失的取證技術(shù)——數(shù)據(jù)恢復取證,更是憑借其“補救性”“針對性”“權(quán)威性”等特點,成為檢察機關(guān)最重視的一種電子證據(jù)調(diào)查取證手段[2]。
數(shù)據(jù)恢復技術(shù)是信息安全技術(shù)和計算機存儲技術(shù)發(fā)展到一定階段的產(chǎn)物,是在數(shù)據(jù)發(fā)生丟失或破壞后各種恢復需求下誕生的,是一種跨硬件平臺和軟件系統(tǒng)的特殊計算機技術(shù),整合了現(xiàn)有所有的計算機數(shù)據(jù)存儲技術(shù)[3]。其應用目的不僅包括恢復出失去的重要數(shù)據(jù),使當事人的數(shù)字財富免受損失,更重要的是,能針對各種各類犯罪行為而展開的司法意義上的數(shù)字化取證工作,為打擊通過銷毀電子證據(jù)手段逃避法律責任提供了有效方法。因此作為電子取證方向的研究人員,不僅要學會數(shù)據(jù)恢復技術(shù)的應用方法,更應該深入掌握各類數(shù)據(jù)恢復的基本原理、分析與研究數(shù)據(jù)丟失的原因、預防辦法、解決的思路以及實際恢復過程中存在的問題和相應的解決措施,最終實現(xiàn)對各類數(shù)據(jù)資源的恢復,同時盡可能地保證數(shù)據(jù)恢復效率的最大化。
目前數(shù)據(jù)恢復的解決方案主要分為軟件恢復、硬件恢復2種。其中硬件恢復包括硬件替換、元器件修復以及盤片數(shù)據(jù)讀取3種恢復方式[4]。軟件恢復分為系統(tǒng)級恢復與文件級恢復。系統(tǒng)級恢復:主要針對不同操作系統(tǒng)環(huán)境下出現(xiàn)的操作系統(tǒng)不能啟動、分區(qū)找不到或打開時提示未格式化等現(xiàn)象提出的恢復方法,這類問題的解決主要依賴于各操作系統(tǒng)中使用的文件系統(tǒng)類型,需依據(jù)不同文件系統(tǒng)的組織結(jié)構(gòu)原理,常應用存儲介質(zhì)底層編輯工具,如 Winhex 16位磁盤編輯器進行系統(tǒng)級數(shù)據(jù)恢復,通過分析與修正系統(tǒng)中各類參數(shù)信息,確保系統(tǒng)的正常使用。文件級恢復:主要是針對存儲介質(zhì)上各分區(qū)或卷中的某個應用文件或用戶創(chuàng)建的文件遭遇丟失的情況,如DOC文件丟失等。
本文主要從軟件恢復的角度出發(fā),著重對硬盤中文件級數(shù)據(jù)恢復方法進行分析對比,即以 Windows操作系統(tǒng)為平臺,對其環(huán)境下用戶數(shù)據(jù)進行分析,分別采用基于文件系統(tǒng)和文件特征的數(shù)據(jù)恢復方法進行研究,同時進行理論與實驗對比分析。
對于Windows操作系統(tǒng)中常用的2種文件系統(tǒng)類型FAT32與NTFS,其數(shù)據(jù)恢復的原理分別是:1)FAT32文件系統(tǒng):由于文件進行刪除時,只是對其FDT表中作刪除標記操作,同時清空該文件在FAT表中的內(nèi)容,因此當該FDT表中被刪除文件項仍然存在(即未被覆蓋)時,根據(jù)FDT中記錄文件的各種信息,如文件名、文件大小、文件創(chuàng)建日期、文件存在的起始簇號等數(shù)據(jù)信息來重建FAT表,從而恢復丟失的文件內(nèi)容。2)NTFS文件系統(tǒng):首先查找出MFT表中做刪除標記的表項,依據(jù)MFT表中提供的文件數(shù)據(jù)流屬性列表信息,找出數(shù)據(jù)區(qū)中文件內(nèi)容所在簇空間(即運行位置),從而實現(xiàn)恢復操作。文獻[5]中給出了基于NTFS文件系統(tǒng)的數(shù)據(jù)恢復流程,本文在此基礎(chǔ)上進行了擴展,給出了Windows系統(tǒng)下基于FAT32和NTFS兩種文件系統(tǒng)的數(shù)據(jù)恢復算法流程,如圖1所示。
圖1 基于文件系統(tǒng)的數(shù)據(jù)恢復流程圖
由流程圖可知,該數(shù)據(jù)恢復算法主要依賴于文件目錄項(FDT)和主文件表(MFT)中信息,即要求文件系統(tǒng)的信息完整,能夠從數(shù)據(jù)組織原理角度重構(gòu)文件結(jié)構(gòu)信息,實現(xiàn)恢復操作。由于實現(xiàn)簡便,因此該方法是目前最主要的數(shù)據(jù)恢復方法之一,常用的數(shù)據(jù)恢復工具軟件如Findata、Easyrecovery、RStudio等都是基于文件系統(tǒng)的數(shù)據(jù)恢復方法[4]。
在實際應用過程中發(fā)現(xiàn)由于磁盤中各種類型的文件都有一定的數(shù)據(jù)特征,因此除了采用基于文件系統(tǒng)數(shù)據(jù)恢復方法外,還可根據(jù)不同文件類型的特征信息進行分析,并最終提取出想要的文件內(nèi)容。該方法將主要從文件系統(tǒng)的數(shù)據(jù)區(qū)中直接掃描文件特征類型,進而恢復所需的文件內(nèi)容[6]。幾種常見的文件類型及其存儲特點有:1)線性PDF文件的文件頭部特征為“25 50 44 46”,文件尾部特征為“25 25 45 4F 46”。2)Office文檔的文件頭部特征為“D0CF11E0A1B11AE1”,同時 Word(*.doc)文檔的文件目錄中包含特征信息 WordDocument、PowerPoint(*.ppt)文檔的文件目錄中的特征信息為PowerPointer Document、Excel(*.xls)文檔的文件目錄中特征信息為Workbook,但上述3種文檔沒有明顯的尾部特征信息。3)圖片格式文件,如JPEG、BMP和GIF文件。其中JPEG文件的文件頭部特征為“FFD8FF”、文件尾部的特征為“FFD9”。BMP文件的文件頭部特征為“424D”,文件尾部沒有明確的特征,但BMP文件的開始扇區(qū)的第2到第6個字節(jié)表示了當前文件的長度。因此,可利用文件頭部特征結(jié)合文件長度信息來確定BMP文件的尾部位置,進而恢復出完整的BMP文件。GIF文件中文件頭部特征是“474946”,文件尾部特征為“003B”。由于篇幅所限,本文不再具體介紹,其他類型文件特征分析可參考文獻[7-8]。
由于上述3類文件類型是用戶數(shù)據(jù)中經(jīng)常出現(xiàn)的類型,即應用最廣,出現(xiàn)頻率最高,為此本文將著重對以上3類文件的數(shù)據(jù)恢復方法進行分析研究。即采用基于文件特征的數(shù)據(jù)恢復方法,利用其文件頭部特征,結(jié)合文件尾部信息或文件長度信息等進行判斷,找出其文件內(nèi)容在磁盤中的具體位置。
利用該方法進行數(shù)據(jù)恢復操作時,主要是針對數(shù)據(jù)區(qū)中數(shù)據(jù),因此在算法實現(xiàn)時,存在2種情況,一是依據(jù)文件系統(tǒng)提供信息,能夠確定數(shù)據(jù)單元即簇大小,此時可以簇為掃描單位。二是文件系統(tǒng)被破壞,無法獲取簇信息,只能以扇區(qū)為掃描單位,明顯前者速度上存在優(yōu)勢。為體現(xiàn)出程序通用性,本文采用該方法進行數(shù)據(jù)恢復時,將以扇區(qū)為掃描單元,盡管有些文件沒有明確文件尾部信息,但是可通過發(fā)現(xiàn)新的文件類型頭標志或文件大小超過文件系統(tǒng)最大值的方法確定其容量。具體流程參見圖2所示。
圖2 基于文件特征的數(shù)據(jù)恢復流程圖
2.1.1 基于文件系統(tǒng)的數(shù)據(jù)恢復方法
優(yōu)點:1)能夠找出文件名、文件大小、文件創(chuàng)建時間等相關(guān)屬性信息;2)恢復方法簡單,算法實現(xiàn)容易,目前采用此方法的工具軟件較多,恢復時間相對較短。
缺點:1)該方法恢復的數(shù)據(jù)信息依賴于相應文件系統(tǒng),當文件系統(tǒng)遭遇破壞時,特別是文件目錄信息或MFT表中相應記錄項中信息被破壞或被覆蓋時,該文件系統(tǒng)下數(shù)據(jù)恢復的可能性較小。因此該方法適合于文件系統(tǒng)完好情況下出現(xiàn)的誤刪除、誤格式化后進行的數(shù)據(jù)恢復,效果比較突出。2)由于刪除文件后,相應的文件分配表FAT被清空,因此對非連續(xù)性數(shù)據(jù)的恢復可能性減小,只能對文件連續(xù)存儲空間進行恢復。即要求被恢復的文件是連續(xù)存儲在介質(zhì)上。若文件非連續(xù)存儲,則恢復出來的文件可能存在2種情況:一是能夠找出文件名及一些相關(guān)屬性信息,但是文件內(nèi)容為空;二是能恢復出文件的部分內(nèi)容,打開時,發(fā)現(xiàn)不完整或者出現(xiàn)許多亂碼。因此,利用該方法進行的恢復操作要求刪除后能盡快執(zhí)行,一旦有新的數(shù)據(jù)對原始數(shù)據(jù)進行了覆蓋,則恢復的可能性將會降低。
2.1.2 基于文件特征的數(shù)據(jù)恢復方法
優(yōu)點:1)該數(shù)據(jù)恢復方法不依賴于具體的文件系統(tǒng)類型,即當文件系統(tǒng)破壞后仍可進行恢復操作。2)該方法恢復的文件相對較多。3)當被恢復的文件為非連續(xù)存儲即存在碎片時或文件刪除后其中部分數(shù)據(jù)已被覆蓋,此時,仍有可能恢復出許多殘缺文件中的字符信息,而對取證人員而言,分析沒有任何文件系統(tǒng)結(jié)構(gòu)的原始磁盤上的存儲信息,提取出目標文件內(nèi)容,如已刪除或隱藏的數(shù)據(jù)文件也是十分有價值的。
缺點:1)此方法不能恢復出文件名、文件創(chuàng)建時間等相關(guān)屬性信息,而這些信息對計算機取證人員來說也是相對比較重要的信息。2)該方法恢復數(shù)據(jù)時主要以扇區(qū)或簇為單位進行搜索,隨著存儲介質(zhì)空間的不斷增大,這種恢復方法所需時間較長。3)由于不同類型的文件其文件特征不同,因此應用此方法需事先對相應的操作系統(tǒng)環(huán)境下所需提取的文件特征進行分析,確定恢復流程。另外,由于有些文件的特征不夠明確,因此利用該方法進行的可恢復文件類型是有限的。
(1)實驗環(huán)境
CPU 為Intel(R)Core(TM)i3-2100,主頻為3.10GHz;內(nèi)存為768MB;操作系統(tǒng)為 Windows XP SP2。硬盤:1.95GB硬盤分區(qū),文件系統(tǒng)類型:NTFS。
(2)實驗
對分區(qū)進行格式化操作,利用上述兩種方法進行數(shù)據(jù)恢復實驗分析。如圖3、4所示給出了實驗結(jié)果的部分截圖。表1對實驗結(jié)果進行了分析。
圖3 基于文件系統(tǒng)的數(shù)據(jù)恢復
圖4 基于文件特征的數(shù)據(jù)恢復
表1 實驗分析
由表1可見,基于文件系統(tǒng)的數(shù)據(jù)恢復方法在恢復時間上明顯優(yōu)于基于文件特征的數(shù)據(jù)恢復方法。但從掃描恢復出的文件數(shù)及正確率上來看,基于文件特征的數(shù)據(jù)恢復方法有明顯優(yōu)勢,特別是當分區(qū)被進行過多次刪除或覆蓋操作后,后者能恢復出更多文件,這對取證工作十分有益。
針對當前數(shù)據(jù)恢復技術(shù)的發(fā)展方向,本文主要以Windows環(huán)境為應用基礎(chǔ),深入分析研究2種不同的數(shù)據(jù)恢復方法,并對2種方法進行理論與實驗分析,說明了各自的優(yōu)缺點,為進一步研究提供了理論依據(jù)與實驗指導。
由上述實驗分析可見,基于文件特征的數(shù)據(jù)恢復方法在恢復成功率上明顯優(yōu)于基于文件系統(tǒng)的數(shù)據(jù)恢復方法,但恢復時間較長,因此下一步工作重點主要包括:(1)改進基于文件特征的數(shù)據(jù)恢復算法流程,一方面使算法能夠滿足不同類型的文件特征獲取,提高算法的擴展性。另一方面優(yōu)化算法結(jié)構(gòu),減少磁盤上扇區(qū)掃描與數(shù)據(jù)恢復時間。(2)由于本文主要采用的是文件頭、尾等特征信息進行數(shù)據(jù)的提取,下一步工作可采用其他特征提取方法,如信息熵、內(nèi)部特征驗證等,這些方法的應用能夠準確識別文件分片,同時去除基于文件特征恢復方法中出現(xiàn)的文件內(nèi)容出錯、存在噪聲信息等問題,從而提高數(shù)據(jù)恢復成功率。
[1]譚敏.計算機動態(tài)取證關(guān)鍵技術(shù)研究[D].長沙:中南大學(碩士學位論文),2007.
[2]數(shù)據(jù)恢復取證找回“丟失的”電子證據(jù)[EB/OL].http://www.81it.com/2012/1031/3114.html,2012.10.
[3]王維雄.基于介質(zhì)存儲結(jié)構(gòu)的數(shù)據(jù)恢復技術(shù)研究[D].西安:西安電子科技大學(碩士學位論文),2010.
[4]游春暉,劉乃琦.數(shù)據(jù)恢復技術(shù)在計算機取證系統(tǒng)中的應用[J].成都大學學報:自然科學版,2008(27):131-133.
[5]杜江,王石東.計算機取證中的數(shù)據(jù)恢復技術(shù)研究[J].重慶郵電大學學報:自然科學版,2010(5):683-686.
[6]胡敏,楊吉云,姜維.Windows下基于文件特征的數(shù)據(jù)恢復算法[J].計算機應用,2011(31):527-529.
[7]Nicholas Mikus.An Analysis of Disc Carving Techniques Master Thesis[D].Monterey:Naval Postgraduate School,2005.
[8]王鵬.Windows日志取證與恢復技術(shù)研究[D].杭州:杭州電子科技大學(碩士學位論文),2009.
[9]章華,劉乃琦,郭建東,等.基于孩子兄弟樹的FAT32文件刪除恢復算法[J].計算機應用研究,2009(3):1116-1118.
[10]鐘秀玉.基于FAT32的數(shù)據(jù)恢復系統(tǒng)的設計[J].計算機應用與軟件,2008(11):56-57.
[11]Daniel Ayers.A Second Generation Computer Forensic Analysis System[J].Digital Investigation,2009(6):S34-S42.