史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   作業系統操作技術文件 (http://forum.slime.com.tw/f128.html)
-   -   誤刪文件Windows文件後恢復技巧 (http://forum.slime.com.tw/thread178408.html)

psac 2006-06-26 09:37 PM

誤刪文件Windows文件後恢復技巧
 
誤刪文件Windows文件後恢復技巧

如果只能使用Windows本身提供的工具,那麼我們可以認為清空資源回收筒之後,被刪除的文件已經徹底清除了。不過事實並非如此,只要有專用的硬體和軟件,即使資料已經被覆蓋、驅動器已經重新格式化、啟始扇區徹底損壞,或者磁碟驅動器不再運轉,我們還是可以恢復幾乎所有的文件。

  一、磁碟如何儲存資料

  要理解如何恢復已刪除的資料,首先要搞清楚磁碟如何儲存資料。硬碟驅動器裡面有一組盤片,資料就儲存在盤片的磁道(Track)上,磁道在盤片上呈同心圓分佈,讀/寫磁頭在盤片的表面移動訪問硬碟的各個區域,因此文件可以隨機地分佈到磁碟的各個位置,同一文件的各個部分不一定要順序存放。

  存放在磁碟上的資料以簇為分配單位,簇的大小因操作系統和邏輯卷大小的不同而不同。如果一個硬碟的簇大小是4 K,那麼儲存1 K的文件也要佔用4 K的磁碟空間。大的文件可能佔用多達數千、數萬的簇,分散到整個磁碟上,操作系統的文件子系統負責各個部分的組織和管理。

  當前,Windows支持的硬碟文件系統共有三種。第一種是FAT,即所謂的文件分配表(File Allocation Table),它是最古老的文件系統,從DOS時代開始就已經有了。Windows 95引入了第二種文件系統,即FAT 32,Windows NT 4.0則引入了第三種文件系統NTFS。這三種文件系統的基本原理都一樣,都用一個類似目錄的結構來組織文件,目錄結構包含一個指向文件首簇的指針,首簇的FAT入口又包含一個指向下一簇地址的指針,依此類推,直至出現文件的結束標記為止。

  二、Windows不能真正清除文件

  在Windows中,如果我們用一般的辦法刪除一個文件,文件本身並未被真正清除。例如,如果我們在Windows視窗檔案總管中刪除一個文件,Windows會把文件放入資源回收筒,即使我們清空了資源回收筒(或者不啟動資源回收筒功能),操作系統也不會真正清除文件的資料。

  Windows所謂的刪除實際上只是把文件名稱的第一個字母改成一個特殊字元,然後把該文件佔用的簇標記為空閒狀態,但文件包含的資料仍在磁碟上,下次將新的文件儲存到磁碟時,這些簇可能被新的文件使用,從而覆蓋原來的資料。因此,只要不儲存新的文件,被刪除文件的資料實際上仍舊完整無缺地儲存在磁碟上。

  因此,我們可以用工具軟件繞過操作系統,直接操作磁碟,恢復被刪除的文件。這類工具軟件很多,EasyRecovery就是其中的佼佼者。

  如果不小心刪除了某個重要文件,想要恢復,這時千萬不要覆蓋它。立即停用電腦,不要再向磁碟儲存任何文件,包括不要把恢復工具安裝到已刪除文件所在的硬碟,因為任何寫入磁碟的內容都有可能覆蓋已刪除文件釋放的磁碟簇。如果必須安裝恢復工具,可以安裝到其他硬碟分區、軟碟,或者乾脆拆下硬碟到另一台機器上去恢復。

  三、覆蓋七次才能清除的蛛絲馬跡

  如果資料已經覆蓋,用通常的恢復工具就無能為力了,但這並不意味著我們絕對不能挽救丟失的資料。讀取硬碟上被覆蓋的資料通常有兩種辦法。

  讀/寫磁頭向磁碟寫入資料時,它會將磁化資料位的信號調整到某個適當的強度,但信號不是越強越好,不應超出一定的界限,以免影響相鄰的資料位。由於信號強度不足以使存儲媒介達到飽和的磁化狀態,所以實際記錄在媒介上的信號受到以前儲存在同一位置的信號的影響,例如,如果原來記錄的資料位是0,現在被一個1覆蓋,那麼實際記錄在磁碟媒介上的信號強度肯定不如原來資料位是1的強度。

  專用的硬體設備能夠精確地檢測出信號強度的實際值,將這個值減去當前資料位的標準強度,就得到了被覆蓋資料的副本。理論上,這個過程可以向前遞推七次,所以如果要徹底清除文件,必須反覆覆蓋資料七次以上,每次都用隨機產生的資料覆蓋。
第二種資料恢復技術的依據是,磁頭每次讀/寫資料時,不可能絕對精確地定位在同一個點上,寫入新資料的位置不會剛好覆蓋在原來的資料上。原有資料總是會留下一些痕跡,利用專用的設備可以分析出原有資料的副本--稱為影子資料。當然,如果我們反覆執行覆蓋操作,原有資料的痕跡也會越來越弱。

  ● 影子資料:被覆蓋的資料總是與新寫入的不離左右,就像人的影子總是緊跟著人,因此被覆蓋的資料就稱為影子資料。英文功力好的讀者可以參見這篇專著:http://www.forensics-intl.com/art15.html。

  通常而言,能夠恢復已刪除、覆蓋的資料應該算是一件好事,當然,某些必須徹底清除資料的場合除外。這方面最為著名的標準是美國國防部訂立的磁碟清洗規範,它要求資料必須覆蓋三次:第一次用一個8位的字元覆蓋,第二次用該字元的補碼(0和1全反轉的字元)覆蓋,最後用一個隨機字元覆蓋。不過這個清洗方法不適用於包含高度機密訊息的媒介,這類媒介必須進行消磁處理,或者銷毀其物理載體。當然,對於大多數場合來說,簡單的覆蓋處理已經足夠。

  四、被遺忘的角落

  刪除和覆蓋文件還不能清除硬碟上的所有敏感資料,因為資料可能隱藏在某些意料之外的地方,所以文件佔用的每一個扇區都必須徹底清除所謂扇區,就是大小為512字節的資料片斷,每個簇包含多個扇區。

  向磁碟寫入文件時,文件的最後一部分通常不會恰好填滿最後一個扇區,這時操作系統就會隨機地提取一些記憶體資料來填充空餘區域。從記憶體獲取的資料稱為RAM Slack(記憶體渣滓),它可能是電腦啟動之後創建、訪問、修改的任何資料。另外,最後一個簇中沒有用到的扇區就原封不動,即保留原來的資料,稱為Drive Slack(磁碟渣滓)。問題在於許多號稱安全刪除文件的工具不會正確清除記憶體渣滓和磁碟渣滓,而這些被稱為渣滓的地方卻可能包含大量的敏感訊息。

  在NTFS文件系統中,每個文件包含多個流,其中一個流用來儲存訪問權限之類的訊息,另一個流用來儲存真正的文件資料。除此之外,NTFS還允許額外的資料流,即ADS(Alternative Data Stream),ADS可以用來儲存任何訊息,最常見的用途是儲存圖形文件的縮略圖。由於許多安全刪除文件的工具不能清除ADS,所以即使存放文件實際資料的流已經清除,但縮略圖仍可能洩露機密。微軟知識庫文章319300(http://support.microsoft.com)介紹...terTrackers。

  ●ADS:ADS這個縮寫詞經常用來表示活動目錄服務(Active Directory Services),不過本文中ADS是指「可選數位流」,是文件主體資料之外的附屬訊息存儲區域。就像你的公文包,包裡面是正式存放物品的主空間,但包的外面還會有一二個附屬小口袋便於快速取用物品,這些小口袋就相當於ADS。

  ADS已是人們熟知的隱藏資料和病毒之地,經常被電腦犯罪分子利用。但除此之外,硬碟上還有其他可以隱藏資料的區域。

  扇區是在低級格式化期間創建的,通常由硬碟製造廠完成。低級格式化工具會標記出損壞的扇區,從而避免磁碟控制器向損壞的區域寫入資料。簇包含多個扇區,由高階格式化工具創建,如Windows或DOS的format命令。如果高階格式化期間發現壞扇區,整個簇被標記為壞簇,但是,壞簇裡面還有好的扇區,有些人就利用這些扇區來隱藏資料。

  在老式磁碟上,資料還可以隱藏在稱為扇區縫隙的地方。老式磁碟的每一個磁道都有數量相同的扇區,但外圈的磁道顯然要比內圈的磁道長,有些人就利用外圈磁道上扇區之間的縫隙來儲存資料。新型磁碟利用一種稱為分區記錄(Zoned Recording)的技術避免了這種空間浪費,它能夠根據磁道的位置調整每個磁道的扇區數量。

  要訪問磁碟上的這類隱藏區域,必須使用繞過操作系統磁碟訪問功能的工具。搜索一下網路,可以看到正規的專業工具都很昂貴,例如EnCase Forensic Edition(www.guidancesoftware.com)要2000多美元;Directory Snoop可能最便宜,也要29美元,但它不支持NTFS。

  綜上所述,我們可以說恢復資料實際上要比徹底清除資料簡單。如果你不小心刪除了某個重要的文件(誰都會遇到這類事情),恢復工具就是救命的稻草。反之,如果你想出售二手機或二手磁碟,應當考慮一下是否有必要徹底地清洗一下硬碟。


所有時間均為台北時間。現在的時間是 02:13 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1