硬盤(pán)數(shù)據(jù)恢復(fù)環(huán)境&故障情況:
某單位重要數(shù)據(jù)在一臺(tái)WINDOWS操作系統(tǒng)的PC機(jī)上通過(guò)網(wǎng)絡(luò)共享給公司員工使用。這臺(tái)PC同時(shí)也連接著打印機(jī)提供打印服務(wù),很多員工直接將文件拷貝到這臺(tái)PC上進(jìn)行打印。該P(yáng)C機(jī)上只有一塊500G磁盤(pán)。
該P(yáng)C的F盤(pán)分區(qū)所有類(lèi)型文件突然全部無(wú)法打開(kāi)。
故障表現(xiàn):
1、文件名稱(chēng),時(shí)間,路徑完全正確,磁盤(pán)占用空間正確。
2、打開(kāi)jpg文件提示:“windows照片查看器無(wú)法打開(kāi)此圖片,因?yàn)檎掌榭雌鞑恢С执宋募袷剑蛘吣鷽](méi)有照片查看器的最新更新”。
3、打開(kāi)doc文件提示:"請(qǐng)選擇使文檔可讀的編碼",選擇任何一個(gè)編碼后文件都是錯(cuò)誤的。
4、打開(kāi)docx文件提示:"無(wú)法打開(kāi)文件,因?yàn)閮?nèi)容有錯(cuò)誤"。
5、打開(kāi)xls文件提示:“您嘗試打開(kāi)的文件的格式與文件擴(kuò)展名指定的格式不一致,打開(kāi)文件前請(qǐng)驗(yàn)證文件沒(méi)有損壞且來(lái)源可信”。
6、打開(kāi)xlsx文件提示:"您無(wú)法打開(kāi)文件,因?yàn)槲募袷交蛭募U(kuò)展名無(wú)效,請(qǐng)確定文件未損壞,并且文件擴(kuò)展名與文件的格式匹配"。
7、打開(kāi)PDF文件提示:“打開(kāi)文檔時(shí)發(fā)生錯(cuò)誤,文檔已損壞且無(wú)法修復(fù)”。
8、其他類(lèi)型文件均無(wú)法正常打開(kāi)。
故障檢測(cè)結(jié)果&分析:
1、硬盤(pán)不存在無(wú)物理故障。除了F盤(pán),其他分區(qū)數(shù)據(jù)均正常。
2、無(wú)啟用過(guò)任何加密。
3、沒(méi)有采用第三方軟件做過(guò)分區(qū)大小調(diào)整、合并。
4、無(wú)操作系統(tǒng)問(wèn)題和電腦Virus入侵。
5、無(wú)其他異常操作。
將硬盤(pán)接入到安全(不加載盤(pán)符,不自動(dòng)寫(xiě)數(shù)據(jù),保證完全只讀)的操作環(huán)境中,發(fā)現(xiàn)文件系統(tǒng)底層正常,但數(shù)據(jù)區(qū)出現(xiàn)錯(cuò)誤。以一個(gè)PDF文件為例,在工具中打開(kāi)如下圖:
北亞企安數(shù)據(jù)恢復(fù)——硬盤(pán)數(shù)據(jù)恢復(fù)
一個(gè)正常的PDF文件,二進(jìn)制結(jié)構(gòu)一定是以0x46445025(即ASCII的“%PDF”)作為開(kāi)頭標(biāo)志,而這個(gè)文件的開(kāi)頭卻是以0x71736712開(kāi)始。將兩者進(jìn)行比較,這顯然是一種異或轉(zhuǎn)換。通過(guò)計(jì)算,兩者相差(異或)0x37。在本PDF文件的尾部同樣發(fā)現(xiàn)了篡改。
于是,在工具中選中文件所有內(nèi)容,對(duì)選中塊以0x37做字節(jié)異或(xor):
北亞企安數(shù)據(jù)恢復(fù)——硬盤(pán)數(shù)據(jù)恢復(fù)
北亞企安數(shù)據(jù)恢復(fù)——硬盤(pán)數(shù)據(jù)恢復(fù)
保存后打開(kāi),文件正常。接下來(lái)對(duì)其他文件做分析,發(fā)現(xiàn)篡改的算法均是全部文件對(duì)某個(gè)值xor,但此值不確定。按字節(jié)概率計(jì)算應(yīng)該有256種可能,加上文件數(shù)量及類(lèi)型眾多,顯然手動(dòng)修正工作量太大。北亞企安數(shù)據(jù)恢復(fù)工程師分析其xor加數(shù)的生成規(guī)律。過(guò)程如下:
1、推斷是否與路徑相關(guān):在同一路徑下打開(kāi)不同的文件分析篡改的異或加數(shù),發(fā)現(xiàn)不盡相同,排除。
2、推斷是否與文件名稱(chēng)相關(guān):查找所有文件,按名稱(chēng)排序,找到相同文件名稱(chēng)但大小不同的文件,打開(kāi)后分析篡改的異或加數(shù),發(fā)現(xiàn)不相同,排除。
3、推斷是否與類(lèi)型相關(guān):找到同一類(lèi)型的幾個(gè)不同文件,分析篡改的異或加數(shù),發(fā)現(xiàn)不相同,排除。
4、推斷是否與存儲(chǔ)的物理位置相關(guān):在工具中按不同文件起始位置進(jìn)行分析篡改的異或加數(shù),未發(fā)現(xiàn)相關(guān)性,排除。
5、推斷是否與文件頭部相關(guān):查找頭部相同的文件(有同一文件的不同更新,頭部是相同的),進(jìn)行分析后也排除。
6、推斷尾部相關(guān)的可能性不大。如果后面分析仍無(wú)法得到規(guī)律,則需返回此項(xiàng)再做驗(yàn)證。
7、推斷是否與文件創(chuàng)建時(shí)間相關(guān):分別查找相同創(chuàng)建時(shí)間、相同訪問(wèn)時(shí)間、相同最后一次訪問(wèn)時(shí)間的2個(gè)文件,進(jìn)行分析,發(fā)現(xiàn)與此無(wú)關(guān),排除。
8、推斷是否與大小相關(guān):簡(jiǎn)單驗(yàn)證后,未舉出反例推翻,但需要完全證明與大小相關(guān),同時(shí)要得到算法,需要有足夠多的樣本。
針對(duì)是否與大小相關(guān)的驗(yàn)證:
通過(guò)命令方式打印所有文件的大小:
find ./ |xargs ls -ld 2>/dev/null|awk '{printf($5"tt"$9"n");}' >../list.txt
用excel打開(kāi)此列表文件。
北亞企安數(shù)據(jù)恢復(fù)——硬盤(pán)數(shù)據(jù)恢復(fù)
因篡改的異或加數(shù)只有一個(gè)字節(jié)。如果與大小相關(guān),極有可能是和文件大小值的mod 256相對(duì)應(yīng),于是在excel中計(jì)算所有文件大小值的mod 256。
北亞企安數(shù)據(jù)恢復(fù)——硬盤(pán)數(shù)據(jù)恢復(fù)
對(duì)mod 256的值進(jìn)行排序。
北亞企安數(shù)據(jù)恢復(fù)——硬盤(pán)數(shù)據(jù)恢復(fù)
排序后:
北亞企安數(shù)據(jù)恢復(fù)——硬盤(pán)數(shù)據(jù)恢復(fù)
對(duì)相同mod 256的文件進(jìn)行篡改驗(yàn)證,未發(fā)現(xiàn)不符合規(guī)律者。基本上可以確定篡改值與文件大小值的mod 256存在映射關(guān)系。
對(duì)所有可能做抽樣分析后,得到篡改異或加數(shù)的生成規(guī)律:
北亞企安數(shù)據(jù)恢復(fù)——硬盤(pán)數(shù)據(jù)恢復(fù)
至此,得到篡改算法。
硬盤(pán)數(shù)據(jù)恢復(fù)過(guò)程:
1、基于前面得到的算法,北亞企安數(shù)據(jù)恢復(fù)工程師通過(guò)Visual Studio編寫(xiě)修復(fù)程序。
2、使用程序?qū)分區(qū)中的數(shù)據(jù)進(jìn)行修復(fù)。修復(fù)完成后隨機(jī)抽檢修復(fù)好的文件,無(wú)報(bào)錯(cuò)。為進(jìn)一步確定恢復(fù)出來(lái)的數(shù)據(jù)是否正常,查找出所有JPG文件,顯示縮略圖,沒(méi)有發(fā)現(xiàn)異常。
北亞企安數(shù)據(jù)恢復(fù)——硬盤(pán)數(shù)據(jù)恢復(fù)
3、查找所有doc文件,顯示作者、標(biāo)題,未發(fā)現(xiàn)異常。
北亞企安數(shù)據(jù)恢復(fù)——硬盤(pán)數(shù)據(jù)恢復(fù)
4、交由用戶(hù)方進(jìn)行檢測(cè),用戶(hù)方讓讓各部門(mén)抽調(diào)員工對(duì)恢復(fù)出來(lái)的數(shù)據(jù)進(jìn)行檢測(cè),沒(méi)有發(fā)現(xiàn)問(wèn)題。本次數(shù)據(jù)恢復(fù)工作完成。
審核編輯 黃宇
-
硬盤(pán)
+關(guān)注
關(guān)注
3文章
1339瀏覽量
58480 -
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
650瀏覽量
18162
發(fā)布評(píng)論請(qǐng)先 登錄
服務(wù)器數(shù)據(jù)恢復(fù)—NAS存儲(chǔ)硬盤(pán)出現(xiàn)故障的數(shù)據(jù)恢復(fù)案例
SqlServer數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)案例

服務(wù)器數(shù)據(jù)恢復(fù)—服務(wù)器硬盤(pán)燈閃黃燈的數(shù)據(jù)恢復(fù)案例
硬盤(pán)數(shù)據(jù)恢復(fù)—硬盤(pán)電路板損壞如何恢復(fù)硬盤(pán)數(shù)據(jù)?
硬盤(pán)數(shù)據(jù)恢復(fù)—硬盤(pán)出現(xiàn)壞道別緊張,恢復(fù)數(shù)據(jù)應(yīng)該這樣做
硬盤(pán)數(shù)據(jù)恢復(fù)——硬盤(pán)固件區(qū)損壞如何恢復(fù)數(shù)據(jù)?
固態(tài)硬盤(pán)壞了數(shù)據(jù)可以恢復(fù)嗎?認(rèn)準(zhǔn)聯(lián)想百應(yīng)!讓數(shù)據(jù)“起死回生”

云硬盤(pán)掛載到新服務(wù)器,怎么恢復(fù)數(shù)據(jù)?
服務(wù)器數(shù)據(jù)恢復(fù)—華為OceanStor存儲(chǔ)中RAID5陣列數(shù)據(jù)恢復(fù)案例

服務(wù)器數(shù)據(jù)恢復(fù)—raid5陣列+reiserfs文件系統(tǒng)數(shù)據(jù)恢復(fù)案例
服務(wù)器數(shù)據(jù)恢復(fù)—EqualLogic存儲(chǔ)硬盤(pán)指示燈亮黃燈的數(shù)據(jù)恢復(fù)案例

服務(wù)器數(shù)據(jù)恢復(fù)—浪潮服務(wù)器硬盤(pán)指示燈亮黃燈的數(shù)據(jù)恢復(fù)案例

oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫(kù)打開(kāi)報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例

服務(wù)器數(shù)據(jù)恢復(fù)—raid5熱備盤(pán)上線過(guò)程中又有磁盤(pán)離線的數(shù)據(jù)恢復(fù)案例
服務(wù)器數(shù)據(jù)恢復(fù)—Raid5陣列兩塊硬盤(pán)指示燈亮黃色的數(shù)據(jù)恢復(fù)案例

評(píng)論