注意:国内发生多起Oracle 勒索病毒!

摘要:近期,国内发生多起针对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、定期进行信息安全风险评估。由信息安全管理责任部门定期组织信息安全风险评估,将风险评估工作规范化、例行化。

相关推荐
齐 飞14 分钟前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
云空15 分钟前
《Python 与 SQLite:强大的数据库组合》
数据库·python·sqlite
暮毅19 分钟前
10.Node.js连接MongoDb
数据库·mongodb·node.js
wowocpp23 分钟前
ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
服务器·数据库·ubuntu
成富1 小时前
文本转SQL(Text-to-SQL),场景介绍与 Spring AI 实现
数据库·人工智能·sql·spring·oracle
songqq271 小时前
SQL题:使用hive查询各类型专利top 10申请人,以及对应的专利申请数
数据库·sql
计算机学长felix1 小时前
基于SpringBoot的“校园交友网站”的设计与实现(源码+数据库+文档+PPT)
数据库·spring boot·毕业设计·交友
小码的头发丝、2 小时前
Django中ListView 和 DetailView类的区别
数据库·python·django
Karoku0662 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
周全全2 小时前
MySQL报错解决:The user specified as a definer (‘root‘@‘%‘) does not exist
android·数据库·mysql