倍可親

回復: 0
列印 上一主題 下一主題

Windows系統文件恢復全功略

[複製鏈接]

1萬

主題

1萬

帖子

1萬

積分

八級貝殼核心

倍可親終生會員(廿一級)

Rank: 5Rank: 5

積分
18033
跳轉到指定樓層
樓主
kent 發表於 2005-12-11 10:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  如果只能使用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)介紹了如何防止系統創建縮略圖使用的流,即刪除註冊鍵 HKEY_LOCAL_MACHINE\System\Currentcontrolset\Control\Contentindex\FilterTrackers。

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

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

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

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

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

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

本版積分規則

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2025-8-28 06:36

快速回復 返回頂部 返回列表