一、故障状况
北亚数据恢复中心接到某公司一台被加密的SqlServer数据库,客户要求对数据库进行解密,数据库基本情况如下:
数据库: SQL server
版本: 2008R2
故障状况: 数据库被加密,无法使用
加密数据库个数: 2个
表现方式: 数据库MDF、LDF、log日志文件名字已被改变
数据库加密如下图所示:
![04c75d8ccb900a99f6f7286e99f41c65.png](https://i-blog.csdnimg.cn/blog_migrate/876d78b47d16b4dadd406c03027be325.jpeg)
图1:数据库加密情况截图
数据库备份被加密,文件名字改变
![1e382a5ac42eb7e1904e9770c916a193.png](https://i-blog.csdnimg.cn/blog_migrate/0268e6a9c2aa618a7340e91c4b4c558e.jpeg)
图2:数据库备份加密情况
二、备份数据库
北亚数据恢复中心首先对客户数据进行镜像备份,避免在对数据库的分析过程中对数据库造成二次破坏,将客户数据库内的数据备份至北亚数据恢复专用存储池中。
三、故障分析及恢复
1、使用专业恢复软件打开中病毒的SQL server数据库,可以看到数据库的头部已被破坏。
![2ad62c363988029fe145036f395b2504.png](https://i-blog.csdnimg.cn/blog_migrate/e23757588b73b89d1c9a1880bebe11da.jpeg)
图3:使用数据恢复工具查看数据库底层数据
2、sqlserver 数据库页大小8K,按8K大小切块,向下查找,最终分析得出,每128K进行一次加密,加密大小为128字节。
![9faea5e68d132f032c10be3b261e3b78.png](https://i-blog.csdnimg.cn/blog_migrate/36a3bc5e20d488f5ad7d459b5f125c56.jpeg)
图4:使用数据恢复工具查看数据库底层数据
3、打开数据库备份,发现也是每128K进行一次加密,加密大小为128字节。
![f80dc22e732f18a393f6a0ee00c2e04b.png](https://i-blog.csdnimg.cn/blog_migrate/1ee46721795dc27a76d52a2032d85cba.jpeg)
图5:数据库加密方式截图
向下搜索数据库页起始标志, 发现此处没有被加密。经过分析,数据库与数据库备份加密方式一样,每128K进行一次加密,加密大小为128字节,由于数据库备份头部记录备份信息,数据库页起始向下偏移。因此数据库中加密的页与数据库备份中加密的页正好错开。
![c65e8897456c6cdb19dc27b03a21acdf.png](https://i-blog.csdnimg.cn/blog_migrate/c9486b08472caaf331921670a2d0464b.jpeg)
图6:数据库加密方式截图
4、修复加密数据库
结合数据库备份对数据库中加密的页进行修复,通过数据库管理工具附加修改好的数据库,并进行查询验证,后经客户验证,没有任何问题,本次数据恢复成功
![857cb48212182b22c32f224e37e8cd1b.png](https://i-blog.csdnimg.cn/blog_migrate/4f1bae83dd56933f433d34eb9f676dbd.jpeg)
图7:数据库解密结果