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






