Oracle 数据库勒索病毒 RushQL 处理办法
处理办法来自Oracle 官方:
https://blogs.oracle.com/cnsupport_news/%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E2%80%9C%E6%AF%94%E7%89%B9%E5%B8%81%E6%94%BB%E5%87%BB%E2%80%9D%E5%8F%8A%E9%98%B2%E6%8A%A4
由于现将Oracle 数据库勒索病毒 RushQL 安全预警下发给各部门,我公司高度关注此次事件的预警,排查是否有涉及,做好相关工作。
预警名称 :Oracle 数据库勒索病毒 RushQL 安全预警
风险等级 :高
影响范围 :
工作人员使用破解版的 PL/SQL 套件连接过的 Oracle 数据库都有可能感染该病毒。
自查方案
如果数据库中存在以下四个存储过程和三个触发器,则说明已经感染此病毒:
存储过程
1. DBMS_SUPPORT_INTERNAL
2. DBMS_STANDARD_FUN9
3. DBMS_SYSTEM_INTERNA
4. DBMS_CORE_INTERNAL
触发器
5. DBMS_SUPPORT_INTERNAL
6. DBMS_ SYSTEM _INTERNAL
7. DBMS_ CORE _INTERNAL
处置建议 :
根据数据库所满足的不同条件,处置建议有所区别,如下:
满足条件:
(当前日期 - 数据库创建日期 > 1200 天) 且 (当前日期 – 数据表(不含SYSTEM, SYSAUX, EXAMPLE)的最小分析日期 <= 1200 天):
处置方案
1. 删除4个存储过程和3个触发器
2. 使用备份把表恢复到truncate之前
3. 使用ORACHK开头的表恢复tab$
4. 使用DUL恢复(不一定能恢复所有的表,如truncate的空间已被使用)
触发器满足条件:
(当前日期 - 数据库创建日期 > 1200 天) 且 (当前日期 – 数据表(不含SYSTEM, SYSAUX, EXAMPLE)的最小分析日期 > 1200 天):
处置方案
1. 删除4个存储过程和3个触发器
2. 使用备份把表恢复到truncate之前
3. 使用DUL恢复(不一定能恢复所有的表,如truncate的空间已被使用)
不满足以上条件的数据库直接删除四个存储过程和三个触发器
检查:
SELECT *
FROM ALL_PROCEDURES
WHERE PROCEDURE_NAME LIKE '%DBMS%';
SELECT *
FROM ALL_PROCEDURES
WHERE PROCEDURE_NAME IN ('DBMS_SUPPORT_INTERNAL',
'DBMS_STANDARD_FUN9',
'DBMS_SYSTEM_INTERNA',
'DBMS_CORE_INTERNAL');
SELECT * FROM ALL_TRIGGERS WHERE TRIGGER_NAME LIKE '%DBMS%';
SELECT * FROM ALL_TRIGGERS WHERE TRIGGER_NAME IN ('DBMS_SUPPORT_INTERNAL','DBMS_ SYSTEM _INTERNAL','DBMS_ CORE _INTERNAL') ;
经检查,无类似勒索病毒,如果有,具体处理方式参照官方论坛:
https://blogs.oracle.com/cnsupport_news/%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E2%80%9C%E6%AF%94%E7%89%B9%E5%B8%81%E6%94%BB%E5%87%BB%E2%80%9D%E5%8F%8A%E9%98%B2%E6%8A%A4