數據恢複環境:
某公司一台PC存放公司的重要數據,通過WINDOWS網絡共享出去,這台PC也連接着打印機,很多員工有權限拷貝數據到這台PC上打印。
故障情況&分析:
這台PC的F盤所有文件無法打開,具體故障表現為:
1、文件名稱,時間,路徑和磁盤占用空間都沒有問題。
2、打開任何一張jpg圖片都提示:“windows照片查看器無法打開此圖片,因為照片查看器不支持此文件格式,或者您沒有照片查看器的最新更新”。
3、打開任何doc文件都提示:"請選擇使文檔可讀的編碼",選擇任何一個編碼都不行。
4、打開任何docx文件都提示:"無法打開文件,因為内容有錯誤"。
5、打開任何xls都提示:“您嘗試打開的文件的格式與文件擴展名指定的格式不一緻,打開文件前請驗證文件沒有損壞且來源可信”。
6、打開任何xlsx都提示:"您無法打開文件,因為文件格式或文件擴展名無效,請确定文件未損壞,并且文件擴展名與文件的格式匹配"。
7、打開任何PDF文檔都提示:“打開文檔時發生錯誤,文檔已損壞且無法修複”。
8、其他類型文件均無法正常打開。
管理員從互聯網上下載了一些數據恢複軟件嘗試進行恢複,都沒有成功解決問題。聯系當地幾家數據恢複服務商均沒有成功恢複,最終聯系到我們數據恢複中心。
我們的數據恢複工程師對故障情況進行分析和判斷:
1、存儲隻是一塊單盤,排除RAID舊盤同步後導緻出現這種故障的可能性。
2、經過檢測發現:除了F盤,其他分區數據完全正常,硬盤在其他數據恢複服務商檢測過沒有發現物理故障。排除物理故障導緻出現這種故障的可能性。
3、沒有啟用過任何加密。排除一些加密系統丢失加密鍊後直接訪問密文導緻出現這種故障的可能性。
4、沒有采用第三方軟件做過分區大小調整、合并。排除因PQ(Norton PartitionMagic)、DiskGenius, Acronis Disk Director Suite等軟件調整、合并分區出錯導緻出現這種故障的可能性。
5、經過檢測沒有發現操作系統故障。排除因病 毒挾持所有可執行文件或加入文件系統攔截層導緻出現這種故障的可能性。
6、沒有發現其他異常操作。最終北亞數據恢複工程師推斷本案例出現的這種故障是因為病毒或木馬造成的。
之前我們遇到過多起類似的案例,通常這種破壞并不複雜而且可逆。與用戶溝通後将硬盤送至北亞數據恢複中心。
數據恢複方案:
1、将用戶硬盤連接至安全操作環境(不加載盤符、不自動寫數據、完全隻讀),發現文件系統底層完全正常,但數據區全部錯誤。以一個PDF文件為例,用工具打開:
北亞數據恢複——文件打開報錯數據恢複
一個正常的PDF文件的二進制結構一定是以0x46445025(即ASCII的“%PDF”)作為開頭标志,但是這個文件以0x71736712開始。這顯然是一種異或轉換,通過計算兩者相差(異或)0x37。觀察這個PDF文件的尾部,發現同樣的篡改。
于是在工具中選中該PDF文件的所有内容,對選中塊以0x37做字節異或(xor):
北亞數據恢複——文件打開報錯數據恢複
北亞數據恢複——文件打開報錯數據恢複
保存後打開,文件正常。
2、對其他類型文件做分析,發現篡改的算法均是全部文件對某個值xor,但此值不确定。按字節概率計算該值應該有256種可能,而且文件數量及類型衆多,不可能一一手動去修正,需要分析其xor加數的生成規律。分析過程如下:
a、在同一路徑下打開不同的文件分析篡改的異或加數,發現不盡相同,排除與路徑相關。
b、查找所有文件,按名稱排序,找到相同文件名稱但大小不同的文件,打開後分析篡改的異或加數,發現不相同,排除與文件名稱相關。
c、找到同一類型的幾個不同文件,分析篡改的異或加數,發現不相同,排除與類型相關。
d、在WINHEX中按不同文件起始位置進行分析篡改的異或加數,未發現相關性,排除與存儲的物理位置相關。
e、查找頭部相同的文件(有同一文件的不同更新,頭部是相同的),進行分析,也排除與文件頭部相關。
f、推斷與尾部相關的可能性不大。(當然如果後面分析仍無法得到規律,則需返回此項再做驗證)
g、分别查找相同創建時間、相同訪問時間、相同最後一次訪問時間的2個文件,進行分析,發現與此無關,排除與文件創建時間相關。
h、推斷是否與大小相關:簡單驗證後,未舉出反例推翻,但需要完全證明與大小相關,同時要得到算法,需要有足夠多的樣本。
3、對是否與大小相關的驗證:
首先通過LINUX命令方式打印所有文件的大小:
find ./ |xargs ls -ld 2>/dev/null|awk '{printf($5"\t\t"$9"\n");}' >../list.txt
然後用excel打開此列表文件,如下圖:
北亞數據恢複——文件打開報錯數據恢複
因篡改的異或加數隻有一個字節,如果與大小相關,極有可能是對文件大小mod 256後關系對應,于是在excel中計算所有文件大小值的mod 256,如下圖:
北亞數據恢複——文件打開報錯數據恢複
對mod 256的值進行排序,excel可能可以直接實現,不過至少可以複制整列,再以數字方式粘貼:
北亞數據恢複——文件打開報錯數據恢複
排序後如下圖:
北亞數據恢複——文件打開報錯數據恢複
對相同mod 256的文件進行篡改驗證,未發現不符合規律者,基本斷定篡改值與文件大小mod 256的值存在完全映射關系。對所有可能做抽樣分析後,得到篡改異或加數的生成規律:
北亞數據恢複——文件打開報錯數據恢複
到這步我們已經搞清楚了篡改算法,對算法進行修正就容易得多。
數據恢複過程:
北亞數據恢複工程師開始編寫修複程序,修複程序源碼如下:
北亞數據恢複——文件打開報錯數據恢複
北亞數據恢複——文件打開報錯數據恢複
北亞數據恢複——文件打開報錯數據恢複
數據恢複驗證:
程序運行完成後,對文件進行抽檢無報錯。為進一步确定可靠性,查找出所有JPG文件,均顯示出縮略圖,沒有發現異常。
北亞數據恢複——文件打開報錯數據恢複
查找出所有doc文件,顯示作者,标題,未發現異常。由管理員親自對其他類型文件進行抽檢也沒有發現異常。至此确定算法正确,數據恢複成功。
北亞數據恢複——文件打開報錯數據恢複
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!