一、故障狀況
北亞數據恢復中心接到某公司一臺被加密的SqlServer數據庫,客戶要求對數據庫進行解密,數據庫基本情況如下:
數據庫: SQL server
版本: 2008R2
故障狀況: 數據庫被加密,無法使用
加密數據庫個數: 2個
表現方式: 數據庫MDF、LDF、log日志文件名字已被改變
數據庫加密如下圖所示:
圖1:數據庫加密情況截圖
數據庫備份被加密,文件名字改變
圖2:數據庫備份加密情況
二、備份數據庫
北亞數據恢復中心首先對客戶數據進行鏡像備份,避免在對數據庫的分析過程中對數據庫造成二次破壞,將客戶數據庫內的數據備份至北亞數據恢復專用存儲池中。
三、故障分析及恢復
1、使用專業恢復軟件打開中病毒的SQL server數據庫,可以看到數據庫的頭部已被破壞。
圖3:使用數據恢復工具查看數據庫底層數據
2、sqlserver 數據庫頁大小8K,按8K大小切塊,向下查找,最終分析得出,每128K進行一次加密,加密大小為128字節。
圖4:使用數據恢復工具查看數據庫底層數據
3、打開數據庫備份,發現也是每128K進行一次加密,加密大小為128字節。
圖5:數據庫加密方式截圖
向下搜索數據庫頁起始標志, 發現此處沒有被加密。經過分析,數據庫與數據庫備份加密方式一樣,每128K進行一次加密,加密大小為128字節,由于數據庫備份頭部記錄備份信息,數據庫頁起始向下偏移。因此數據庫中加密的頁與數據庫備份中加密的頁正好錯開。
圖6:數據庫加密方式截圖
4、修復加密數據庫
結合數據庫備份對數據庫中加密的頁進行修復,通過數據庫管理工具附加修改好的數據庫,并進行查詢驗證,后經客戶驗證,沒有任何問題,本次數據恢復成功
圖7:數據庫解密結果