查看原文
其他

数据库比特币勒索病毒攻击警示,云和恩墨技术通讯六月刊精选

盖国强 数据和云 2024-03-03


各位亲爱的用户/读者朋友们:


为了及时共享行业案例,通告共性问题,达成知识共享和提前预防,我们整理和编辑了《云和恩墨技术通讯》(6月刊),通过对过去一段时间的知识回顾和故障归纳,以期提供有价值的信息供大家参考。

同时,我们也希望能够将热点事件、新的产品特性及其他有价值的信息聚集起来,为您提供具有前瞻性的支持信息,保持对于当前最新的数据库新闻和事件的了解,其中包括重要数据库产品发布、警报、更新、新版本、补丁等。


本期目录:


  • 新闻:2019年6月份数据库流行度排行榜

  • 警示:RMAN duplicate存在误覆盖其他数据库文件的风险

  • 警示:数据库比特币勒索病毒攻击警示

  • 警示:Oracle 12.2因bug出现异常L1 validation和enq:TX等待

  • 频发:cursor mutex等待之异常分析

  • 经验:如何应对Liberty部署应用无故重启

  • 经验:与用户名同名的PLSQL对象引发的故障

  • 问题:如何应对sqlobj$data占用过大

  • 公告:墨天轮DBASK技术专家邀请函


抢先下载:https://cs.enmotech.com/docDownload/2879(复制链接浏览器中打开,或者点击“阅读原文”)


部分精选-数据库比特币勒索病毒攻击警示(刘智龙)



Oracle比特币勒索病毒可以追溯到2016年,有人恶意散播携带比特币勒索病毒的PL SQL Developer软件程序,引诱用户下载从而发起勒索攻击,国内很多用户的 Oracle 数据库都遭到攻击。时隔3年,勒索病毒似乎卷土重来。近期,我们再次收到几个核心生产系统的故障案例,特此再次提醒大家,一定要进行针对性的安全检查,防范此问题。

故障特征


勒索代码被注入在Oracle PL/SQL Dev软件中的afterconnet.sql文件里,此文件在官方的PL/SQL软件中为空文件,该勒索病毒就是利用了这个文件注入病毒代码,在用户连接数据库后立即执行,并在告警日志出现自动任务执行错误,对象被锁,并出现“你的数据库已被SQL RUSH Team锁死  发送5个比特币到这个地址 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (大小写一致)  之后把你的Oracle SID邮寄地址 sqlrush@mail.com 我们将让你知道如何解锁你的数据库”的信息。报错代码如下:

ORA-00604: error occurred at recursive SQL level 1ORA-20315: 你的数据库已被SQL RUSH Team锁死 发送5个比特币到这个地址 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (大小写一致) 之后把你的Oracle SID邮寄地址 sqlrush@mail.com我们将让你知道如何解锁你的数据库 Hi buddy, your database was hacked by SQL RUSH Team, send 5 bitcoin to address 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (case sensitive), after that send your Oracle SID to mail address sqlrush@mail.com, we will let you know how to unlock your database.ORA-06512: at “XXX.DBMS_CORE_INTERNAL ", line 27ORA-06512: at line 2


故障原因

问题的根本原因是:如果用户从互联网上下载了盗版的 PL/SQL Developer 工具后(尤其是各种绿色版、破解版),就可能因为这个工具中招,所以这个问题和 Oracle 本身关系不大,也没有注入那么复杂。而是随着你使用这个工具,用户的权限就自然被附体的进行了入侵。

故障分析

PL/SQL Developer  在中国的流行程度和盗版程度毋庸置疑,这个软件的安装目录存在一个脚本文件 AfterConnect.sql,这个脚本就是真正的问题所在。正版软件安装,这个脚本文件是空文件,但是受感染的该文件包含了一系列的JOB定义、存储过程和触发器定义,就是祸患的源头。受感染文件 -  AfterConnect.sql 开头是这样的,伪装成一个 login.sql 的脚本内容,有清晰的注释代码:


实质内容,以加密方式展示,用户看不到内容,但是可以通过 unwrap 进行解密(但是注意那些解密程序不要存在恶意代码):



无疑,黑客是非常了解 Oracle 数据库的,其脚本代码的核心部分,解密后如下(部分删减)


SELECT NVL(TO_CHAR(SYSDATE-CREATED ),0) INTO DATE1 FROM V$DATABASE; IF (DATE1>=1200) THEN


请注意黑客的专业性,在程序的开端有以下部分判断:
也就是,判断数据库创建时间大于1200天,才开始动作,如果你的数据库还没有爆发,那可能是因为时间还没有到。
我们强烈建议用户检查数据库工具的使用情况,避免使用来历不明的工具产品,采用正版软件,规避未知风险。

故障解决

这个攻击是通过 JOB、触发器、存储过程来协同工具的,所以如果数据库遭遇到这个问题,可以将 JOB 参数 job_queue_processes 设置为 0 ,屏蔽掉 JOB 的执行,然后重启数据库。可以清除注入对象,这些对象可能包括以下同名触发器和存储过程:   

PROCEDURE "DBMS_CORE_INTERNAL PROCEDURE "DBMS_SYSTEM_INTERNAL PROCEDURE "DBMS_SUPPORT_INTERNAL


而攻击的核心代码还包括:

STAT:='truncate table '||USER||'.'||I.TABLE_NAME;


后续建议


为了防止勒索病毒不再发生,提高数据安全性,建议如下:

1. 严格管理权限,回收所有业务用户的dba权限,在保障数据安全和应用可用的前提下,按照用户最小权限的原则进行权限管理。

2. 排查第三方工具,大范围排查是否有不明来源的第三方工具连接数据库,必须从官方渠道获取客户端连接工具。


以下列出了常见客户端工具的脚本位置,需要引起注意:

SQL*Plus: glogin.sql / login.sqlTOAD : toad.iniPLSQLdeveloper: login.sql / afterconnect.sql


3. 通过官方渠道下载补丁包,补丁包中也可能包含病毒程序,下载官方补丁包是基本规范操作。

4. 设置白名单。限制IP登录,非白名单中的IP不允许登录数据库,提高数据的安全性。

5. 日常巡检。把病毒扫描脚本加入日常巡检中,早发现早处理。

6. 开启数据库审计,数据库审计在跟踪用户操作上更加全面,审计会捕获用户登录数据库及登录后的各项操作。

如果您的数据库已经遭受攻击和数据损失,可以紧急联系云和恩墨的服务团队,我们可以帮助您处理数据修复事宜,云和恩墨久经考验的ODU产品,可以在数据丢失后最大限度的恢复数据。


作者:刘智龙,云和恩墨西区交付工程师


更多下载



  1. 《云和恩墨技术通讯》(3月刊)

  2. 《云和恩墨技术通讯》(4月刊)

  3. 《云和恩墨技术通讯》(5月刊)


DBASK在线问答

随时解惑

欢迎了解和关注


编辑:尹文敏


公司简介 | 恩墨学院 | 招聘 | DTCC | 数据技术嘉年华 | 免费课程 | 入驻华为严选商城

  

zCloud | SQM | Bethune Pro2 zData一体机 | Mydata一体机 | ZDBM 备份一体机

Oracle技术架构 | 免费课程 | 数据库排行榜 | DBASK问题集萃 | 技术通讯 

升级迁移 | 性能优化 | 智能整合 安全保障 | 架构设计 | SQL审核 | 分布式架构 | 高可用容灾 | 运维代维

云和恩墨大讲堂 | 一个分享交流的地方

长按,识别二维码,加入万人交流社群


请备注:云和恩墨大讲堂

继续滑动看下一个

数据库比特币勒索病毒攻击警示,云和恩墨技术通讯六月刊精选

盖国强 数据和云
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存