摘要:近期,国内发生多起针对Oracle 数据库的勒索病毒案例,通过分析,该勒索病毒通过网络流传的“PL/SQLDeveloper破解版”进行传播。
1.病毒发起的原因及问题现象
近期,国内发生多起针对Oracle 数据库的勒索病毒案例,通过分析,该勒索病毒通过网络流传的“PL/SQL Developer破解版”进行传播;运维人员一旦使用带有病毒的“PL/SQLDeveloper破解版”连接Oracle数据,工具立即触发病毒文件在系统建立一系列的存储过程,判断数据库创建时间是否大于1200天,如大于等于1200天则使用truncate清空数据库。所以,该病毒在感染Oracle数据库后不会立即触发,具有较长的潜伏期。当用户访问被感染数据库时,将提示以下勒索信息:
2.自查方法:
在Oracle Server端检查是否有下面几个对象:
对象名 | 对象内容 |
DBMS_SUPPORT_INTERNAL | TRIGGER |
DBMS_SUPPORT_INTERNAL | PROCEDURE |
DBMS_SYSTEM_INTERNAL | TRIGGER |
DBMS_CORE_INTERNAL | TRIGGER |
DBMS_SYSTEM_INTERNAL | PROCEDURE |
DBMS_CORE_INTERNAL | PROCEDURE |
DBMS_STANDARD_FUN9 | PROCEDURE |
或使用如下查询语句:
select 'DROP TRIGGER '||owner||'."'||TRIGGER_NAME||'";' from dba_triggers where
TRIGGER_NAME like 'DBMS_%_INTERNAL%'
union all
select 'DROP PROCEDURE '||owner||'."'||a.object_name||'";' from dba_procedures a
where a.object_name like 'DBMS_%_INTERNAL% ';
请注意:% '之间的空格。
执行上述语句后,若为空,表示你的ORACLE数据库是安全的,未中勒索病毒。
3.检查自动执行脚本:
检查PLSQL DEV安装目录,查找afterconnect.sql和login.sql文件。
其中afterconnect.sql文件默认是空白, 大小应是0字节,login.sql打开后只有一句注释“- -Autostart Command Window script ”,如果这两个文件里有其他内容,应怀疑是病毒。
严重建议:
针对本次Oracle数据库的勒索问题,希望各医院相关人员能提高日常运维安全意识,做好数据安全防范工作,数据要实时备份并且做好可用性测试。为了不被勒索,我们建议如下:
1、采用正版软件,规避未知风险。用户检查数据库工具的使用情况,避免使用来历不明的工具产品。
2、用户加强数据库的权限管控、生产环境和测试环境隔离,严格管控开发和运维工具。
3、定期进行信息安全风险评估。由信息安全管理责任部门定期组织信息安全风险评估,将风险评估工作规范化、例行化。