mssql数据库勒索加密恢复方案探究(mssql勒索加密恢复)
近期,勒索病毒攻击对各类数据库安全环境构成了极大威胁,其中MSSQL数据库也不例外。MSSQL勒索病毒感染可使数据库数据及表结构被加密,造成企业业务中断,恢复数据库也化为了一个紧迫性的任务。
一般来讲,识别 MSSQL 数据库感染勒索病毒的第一步措施就是开启系统的安全日志,识别病毒感染的特征。对于 Windows 系统,进入 日志审核—审核政策—计算机配置—Windows 组件—安全日志 ,如下代码:
#####
SetAuditPolicy = GetObject(“Winmgmts:”).Get(“Win32_AuditPolicyCategory”).CreatePolicy(“-Security-“, “Success, failure”, 0, 0)
#####
出现任何建表或者删除操作,就证明数据库被加密,需要采取进一步的恢复方案。在这种情况下,最基本的恢复方案是备份库的恢复,也即在未被感染之前的备份进行恢复,代码如下:
#####
RESTORE DATABASE dbName FROM DISK {fileBackupName.bak} WITH REPLACE
#####
此外,建议立刻禁止计算机以此恢复之前进行全盘备份,防止病毒再次侵入。
当备份不可行时,还可利用一定的恢复工具,如Komentos 勒索解密工具,使用它来定位和剔除病毒产生的加密行为,恢复被加密的数据,它采用了独特的算法,允许恢复脚本在加密后的文件中设置及替换新的加密密钥,Komentos上的代码示例如下:
#####
DROP KEY IF EXISTS Data_ReEncrypt_Key
CREATE KEY Data_ReEncrypt_Key
WITH ALGORITHM = ‘AES_256’
ENCRYPTION BY PASSWORD ='[PASSWORD]’
CREATE CERTIFICATE Data_ReEncrypt_Cert
WITH SUBJECT = ‘Data ReEncrypt Utility’
ALTER DATABASE ENCRYPTION KEY
REENCRYPT
WITH CERTIFICATE Data_ReEncrypt_Cert
GO
#####
此外,可以使用MSSQL数据库系统功能重置密码,以获取恢复存储数据的所需后台权限,代码示例如下:
#####
ALTER LOGIN sa WITH PASSWORD = ‘MyNewPassword’;
GO
#####
总之,当MSSQL数据库被勒索病毒感染加密后,可以采取如上恢复方案,使用备份库和恢复工具,获取恢复数据所需的权限和算法,有助恢复数据库,帮助企业挽回权益。