北亚数据恢复中心接到某公司一台被加密的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:数据库解密结果