一、服务器数据库基本情况介绍
客户一台服务器上的数据库被病毒加密无法使用,数据库是SQL server数据库2008R2,服务器上有多个数据库,其中2个数据库及备份文件被加密,文件名发生变化,数据库无法使用,需要对服务器上的数据库进行数据恢复。经过初步沟通后安排工程师前往客户现场进行数据恢复。
二、备份客户服务器内的所有数据
工程师前往客户现场后对数据库进行了初步检测后,为避免数据恢复操作过程中对服务器原始数据造成破坏,首先对客户的服务器进行了安全的数据备份,将客户服务器上的所有数据备份到存储池中。接下来的数据分析、数据恢复操作将全部在存储池中进行,不会对客户原始数据造成任何破坏,即使无法恢复客户数据也不会导致客户的原始数据环境发生变化。在保障原始服务器环境的条件下进行数据恢复。
三、数据库加密分析及数据恢复方案
借助一款专用的数据恢复软件winhex打开客户的SQLserver数据库,查看数据库底层数据是否被破坏,经过查看发现数据库底层数据中的头部信息被破坏。
2、根据数据库底层数据分部规律分析查找病毒的加密方式,经过分析发现该数据库页为8K,将底层数据按8K切块并向下查找分析加密方式,经过分析发现病毒采用的是每隔128k进行一次大小为125字节的加密。
3、继续对数据库备份文件底层数据进行分析,发现加密规律通数据库部分的加密规律完全相同。
SqlServer数据库起始页标志为01 0F,数据恢复工程师在底层检索数据库页的起始标志,经过检索发现数据库备份的头部记录并没有被破坏,原来数据库备份的头部记录了数据库的备份信息,数据库页的起始位置发生了向下偏移,这就导致了数据库中的加密位置和数据库备份数据中的加密位置刚好错开,因此数据库备份中的起始标志未被破坏。
4、由于数据库加密位置与数据库的备份文件加密位置刚好错开,因此可以结合数据库备份文件对数据库中的加密页进行数据修复,最后数据恢复工程师通过数据库管理工具将修复好的数据库进行附加检查,通过检查验证,数据库可以正常使用。最后经过客户工程司亲自对恢复的数据进行验证,确认数据库内的所有数据完整,本次数据恢复圆满成功。