freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

安华金和:Oracle数据库勒索病毒RushQL卷土重来,别慌,有对策!
2018-11-30 16:54:43
所属地 北京

一、Oracle数据库勒索病毒死灰复燃

2018-11-19国家信息安全漏洞共享平台正式发布通告“Oracle数据库勒索病毒RushQL死灰复燃”。转载原文如下:

图片1.png

从这封简短的通告我们可以发现,RushQL勒索病毒已经不是第一次肆虐Oracle数据库,早在2016年11月就已经在全球掀起了一场血雨腥风。当然,那时候它有个更响亮的名字“比特币勒索病毒”。

 

目光回溯到2016年11月,全国多家企事业单位遭受比特币勒索通知“你的数据库已被锁死,发送5个比特币到这个地址!”。用户在登陆Oracle数据库时出现如下勒索警告信息,被要求上交5个比特币来换取解锁数据库的服务。

图片2.png

时隔整整两年,RushQL勒索病毒卷土重来,发动新一轮的肆虐。我们不禁要反问自己:为什么我们会遭到同一勒索病毒连续攻击?数据库安全厂商能帮助数据库用户做些什么?

 

作为一家专注数据库安全的厂商,安华金和早已对RushQL勒索病毒进行了深度的解析并提供了解决方案。

 

二、勒索病毒攻击原理分析

早在2016年RushQL勒索病毒出现的时候,安华金和的攻防实验室就对该病毒做了深度分析,并提供了有效的检测和防护措施。

 

RushQL勒索病毒攻击的目标人群是数据库管理人员(DBA)。通过在CSDN等网站上恶意散播携带勒索病毒的PL SQL Developer(PL/SQL)软件程序,引诱用户下载并发起勒索攻击。

携带RushQL病毒的PL/SQL,解压后主目录的AfterConnect.SQL文件存在异常。官方的PL/SQL下AfterConnect.SQL是空文件,而异常的AfterConnect.SQL有 35KB。

图片3.png

该脚本的关键代码,采用了 Oracle数据库专用代码加密工具wrap进行了加密,我们对病毒脚本进行解密后发现,该脚本的主要功能是创建4个存储过程和3个触发器:

Ø 存储过程DBMS_SUPPORT_INTERNAL

Ø 存储过程 DBMS_STANDARD_FUN9

Ø 存储过程DBMS_SYSTEM_INTERNA

Ø 存储过程DBMS_CORE_INTERNAL

Ø 触发器DBMS_SUPPORT_INTERNAL

Ø 触发器 DBMS_ SYSTEM_INTERNAL

Ø 触发器 DBMS_ CORE_INTERNAL

三个触发器本身没有问题,问题在于存储过程。以DBMS_SUPPORT_INTERNAL为例,该存储过程的核心是两条SQL语句:

Ø   第1条SQL语句: SELECT NVL(TO_CHAR(SYSDATE-CREATED ),0) INTODATE1 FROM V$DATABASE; IF (DATE1>=1200)

语句含义:根据创建数据库时间和当前时间差值做决定:是立刻入侵数据库实施勒索,还是先保持潜伏直到条件成熟再爆发进行勒索。判断条件为数据库实例创建时间距今是否满足1200天,一旦满足并重启数据库实例则执行第2条SQL语句。

Ø   第2条SQL语句:EXECUTE IMMEDIATE 'create tableORACHK'||SUBSTR(SYS_GUID,10)||' tablespace system  as select * fromsys.tab$';DELETE SYS.TAB$ WHERE DATAOBJ# IN (SELECT DATAOBJ# FROM SYS.OBJ$WHERE OWNER# NOT IN (0,38)) ;

语句含义:勒索者首先对tab$中的文件进行备份,然后再删除tab$表中的部分内容清理数据库的备份文件后,向用户弹窗实施勒索。

 

综上所述,RushQL勒索病毒就是通过执行这些脚本入侵Oracle数据库。一旦使用这个PL/SQL工具访问数据库,相应对象会被后台自动注入数据库,执行触发器阻止后续的用户登录,并通过任务Truncate数据库表。

 

三、专项治理勒索病毒

2014年在国内“数据库安全”方兴未艾之际,安华金和已经开始推广数据库防火墙产品:通过串接部署的方式矗立在数据库最前端,形成了数据库安全的最后一道防线。

 

安华金和数据库防火墙产品,提供“数据库漏洞攻击防护”能力,是目前应对数据库勒索病毒最高效的产品选择。其防护的范围不仅涵盖CVE和CNNVD已经公布的大量数据库漏洞;还深度剖析“勒索病毒”的攻击方式,提供防护手段。

 

安华金和数据库防火墙产品,可以对oracle数据库的“密文存储过程”进行解密操作。这种准确破解“密文存储过程”的能力,不但在本次勒索案例中十分关键,也是防止第三方工具向数据库发送恶意存储过程的关键,只有准确破解加密包的内容才能进行精确的语法分析。

 

数据库防火墙能够把这些访问数据库的密文存储过程“明文化”,对“明文”进行SQL语法分析,匹配特征值;并对前后关联的SQL行为进行分析。如果判断该“语句包”存在恶意行为。产品可以进行会话阻断,并向相关人员进行危险告警,完成对数据库攻击的主动防护。

 

数据库防火墙产品早以形成内置的“虚拟补丁”规则,专项治理“RushQL勒索病毒(比特币攻击)”,如下图

Ø 漏洞类型:恶意代码

Ø 漏洞源:攻击者可利用漏洞进行比特币攻击

Ø 数据库版本:Oracle

图片4.png

四、解决方案

勒索病毒入侵数据库多数是利用了数据库已有的安全漏洞,或者是植入恶意的存储过程。数据库长期暴露在应用系统和数据库运维人员的访问之下,如何有效防护勒索病毒?

数据库防火墙提出三条解决方案:

①学习期行为建模

产品可自定义学习期,并基于学习期完成语句、会话的建模分析,构建数据库安全防护模型;并具备数据库语法分析能力,可以对SQL语句进行抽象描述,将海量的SQL语句归类成SQL模板,从而定义语句黑白名单规则。

 

学习期结束后,对非法的访问行为和SQL语句主动拦截、阻断,阻止恶意攻击行为。

 

(注:拦截和阻断的区别:系统支持会话阻断,可准确定位风险来源并阻断会话请求。在会话阻断的基础上,系统提供“语句拦截”的处理机制,仅针对会话里产生风险的SQL语句进行拦截,保持会话内其他合规语句的正常操作。)

 

②漏洞攻击防护

系统提供“虚拟补丁”防护能力,内置大量数据库漏洞防护规则,防护范围包括:系统注入、缓存区溢出、权限提升、数据泄露、拒绝服务等20多种数据库漏洞类型。当外部系统利用数据库漏洞进行入侵时,及时阻断入侵的风险会话。

③敏感数据防护

系统可关联数据库的Schema、表、字段等对象信息,建立敏感数据规则。对象之间又可以自定义“与/或”关系,形成敏感数据组。数据库防火墙针对“敏感数据组”建立安全防护体系,可结合“应用信息”、“客户端信息”、“操作行为”等元素共同定义操作规则。

 

通过敏感数据组可以对数据库的“核心系统表”进行有效防护,在允许常规访问的前提下,防止恶意篡改和引用。

本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者