1.概述
近日,国内诸多Oracle数据库遭受了勒索病毒感染的安全事件,此次受感染根本原因是下载网络上提供的带有勒索病毒的免费PL/SQL Developer工具(破解版)。国内大部分Oracle DBA及运维人员,最喜欢用的Oracle远程连接工具就是PL/SQL Dev(破解版)。此勒索病毒在2016年底开始就有相关报道,它为了增加破坏效果,加强隐蔽性,只有当数据库勒索病毒创建时间超过1200天才会爆发,有很长的潜伏期,系统中毒后危害极大,且很难恢复数据。
如果用户的账号拥有DBA管理权限,病毒通过PL/SQL Dev工具在数据库中创建多个存储过程和触发器,会阻止用户连接数据库。当用户重新启动后,会触发病毒触发器,加密并删除sys.tab$,导致用户无法访问数据库中所有的schema, 并出现如下勒索信息“你的数据库已经被SQL RUSH team锁死,请发送5个比特币到xxxxxxxxxxx地址,….”等信息,并设置任务计划,如果在定期内不发送比特币,就truncate所有的数据库表。
2. Oracle自检查
SELECT'DROPTRIGGER '||owner||'."'||TRIGGER_NAME||'";'
FROMdba_triggers
WHERE TRIGGER_NAMELIKE 'DBMS_%_INTERNAL%'
UNION ALL
SELECT'DROPPROCEDURE '||owner||'."'||a.object_name||'";'
FROMdba_procedures a
WHEREa.object_name LIKE 'DBMS_%_INTERNAL% ';
语句执行后,若为空,则表示Oracle数据库当前是安全的,未中此勒索病毒。
或查看是否存在如下对象内容:
对象名 | 对象内容 |
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 |
正常Afterconnect.sql文件是空白,则为0KB;Login.sql打开后,只有一行注释“- -Autostart Command Window script ”。如果这两个文件里有其他信息,则有大概率,此为病毒信息。
3.安全建议
为了做好Oracle勒索病毒攻击防护工作,海峡信息提出如下建议:
运维管理:要严格禁止数据库运维人员使用第三方破解版Oracle远程管理软件,应使用Oracle自带的、第三方正版的客户端软件管理Oracle数据库;
内部自查:自查系统中Oracle数据库及其管理运维人员使用的PL/SQL Developer工具,确认没有恶意程序;
权限控制:严格控制Oracle生产环境的DBA权限,禁止不经过安全监测的客户端计算机及软件直接远程管理数据库。
返回顶部