不用发送比特币,安华让你的数据库免受勒索
作者:安华金和 发布时间:2016-12-08

上个月,安华金和关注比特币勒索事件,分析数据库被勒索的原理,下一次,也许不是比特币。数据库勒索事件,安华金和有对策。

20140430164841_196.jpg

背景

数据勒索这一黑客技术在2013年开始爆发,无数用户深受其害,勒索软件将用户的数据文件进行加密,如果不缴纳赎金这些文件将无法使用。然而,一波未平,一波又起。勒索软件已经将魔掌伸向了数据库。

近日,诸多企业DBA发现他们所管理的Oracle数据库无法访问,并且在报错页面上提示着“您的数据库已经被锁定,如需恢复请发送5个比特币到指定账户”。从提示中,我们可以很清晰的看出,这并不是数据库发生的常规故障,而是被专业黑客将数据库锁定了!

安华金和针对本次数据库勒索事件进行了全面分析,将整个勒索的过程进行了还原,我们发现整个勒索过程分为以下几个步骤:

1、风险散播

整个勒索过程的源头是黑客组织向互联网各大技术论坛投放了经过“改动”的PL SQL Developer软件程序,该程序是做Oracle运维必备的客户端工具,只要安装了该经“改动”版本的PL SQL Developer程序,那么就预示着你已经成为了被索的对象。

2、风险潜伏
经过“改动”的PL SQL Developer软件程序内置一些恶意的脚本,这些恶意代码不会马上爆发,而是一直潜伏在数据库运维人员的终端环境中。这些恶意代码会判断当前受感染的数据库实例从创建时间那天到现在是否大于1200天,如果不满足则一直潜伏,如果满足则执行勒索代码。(时间越长,数据就越多,用户就越心切)

3、风险爆发

勒索爆发后,会根据当前一系列条件判断采用哪种攻击方式,一种是将tab$表内容清空,一种是将USER表内容清空,而结果都是一样的,数据库无法正常连接了!

解决思路

通过上述分析,我们可以得出结论,即:受感染的PL SQL Developer向数据库发起数据清除指令,从而导致数据库无法正常连接。

通过互联网搜索此类攻击行为如何解决,给出的答案基本都是采用官方的PL SQL Developer程序进行运维,但我们非常清楚,这种情况我们是无法规避的,那么如何从技术角度有效的将这类问题规避呢?

安华金和认为要解决这类数据库勒索行为,在解决眼下问题的同时,还需通过技术手段防止勒索事件的再次袭击,所以应该分两步走:风险铲除和防御布局。

风险铲除

要对当前数据库是否存在勒索潜伏隐患进行全面检查并将风险彻底铲除。

防御布局

与此同时,针对勒索行为进行主动防御战线的部署,防患于未然。

在本方案中,我们将根据上述的解决思路进行方案的详细阐述

着眼当下 铲除威胁

勒索特征全面检查

潜在受到勒索的环境中,有两部分存在勒索特征,一部分是受感染的数据库客户端工具,一部分则是受感染的数据库,所以需要通过专业的数据库扫描工具进行全面的检查。

1、数据库运维环境检查

全面检查运维终端上的数据库运维工具运行环境,针对各类数据库客户端工具(PL SQL Developer、SQL Plus、Toad等)进行详细检查, 准确发现运行环境中存在恶意勒索脚本或相关代码,在扫描结果中将呈现出检查出来所有包含勒索代码特征的文件位置,管理员可以及时将这些文件粉碎。

2、数据库恶意代码检查

全面检查数据库中存储过程和触发器中是否存在符合勒索特征的恶意代码,并将代码内容呈现在扫描结果中,管理员可以手动将这一部分恶意代码删除。

3、数据库安全缺陷检查

勒索软件的攻击方式多种多样,随着时间推进,勒索软件也不会不断演变、变种,那么很有可能会利用数据库存在的安全缺陷发起新一轮的攻击。所以需要对数据库的安全漏洞进行全面检查,通过扫描会对将数据库现存所有漏洞以及数据库现存一系列的不安全配置项(如,弱口令、缺省配置、权限宽泛配置等)管理员可以针对这些漏洞扫描结果,进行相应的缺陷补救。

专业安服团队修复

安华金和具备专业的数据库安全服务团队,可通过现场服务的方式,人工对用户的数据库运维、应用、数据等环节进行全面的分析检查及问题修复。

结合安华金和自研的安服配套工具(扫描类、渗透类等)以及安服工程师的多年安防经验,对用户的数据库整体安全现状进行摸底,将所有问题剖析出来与用户共同制定解决方案。并可为用户带来数据库运维安全常识的培训,提升运维人员的安全意识。

放眼未来 防御布局

被动的防御总是彰显不足,为了彻底杜绝数据库勒索攻击,我们需要通过多条防线的建立确保勒索行为进不到数据库。

恶意攻击防御

勒索软件在经过这一轮洗礼后,诸多安全团队肯定会给出解决办法,因此勒索软件肯定会将勒索方式进行改良,而且很有可能会借用数据的漏洞攻击以及SQL注入的手段发起新一轮的攻击。因此我们需要建立健全的防御体系,防止勒索行为的发生。

1、虚拟补丁防护

要想防御通过数据库漏洞发起的攻击行为,我们都知道可以通过打上数据库厂商发布的安全补丁的方式去解决。但是,给数据库打补丁,尤其是打安全类的补丁,所有的数据库管理人员都心有余悸,因为事实证明,在打完补丁后,数据库总会出现这样那样的问题,导致数据库各种不稳定。

针对这种情况,安华金和提供虚拟补丁方案,即将所有的漏洞补丁移植到数据库安全防护系统中,通过将数据库防护系统串联部署到运维侧与数据库系统中间,从将勒索软件利用漏洞入侵的行为拒之门外。

2、SQL注入防护

数据库安全防护系统通过对SQL语句进行注入特征描述,完成对SQL注入行为的检测,从而防止勒索软件通过SQL注入的方式感染数据库。系统提供缺省SQL注入特征库。

3、加密脚本识别及解析

本次数据库勒索过程中,黑客很狡猾的把注入到数据库的恶意存储过程及触发器进行了wrap加密(wrap为Oracle自带的加密机制),在Oracle执行这些代码时会自动把它们解密后再执行。

为此,安华金和提供wrap加密脚本识别及解析能力,可准确识别出提交到数据库中的信息是否包含wrap加密标志,并可对带有wrap加密标志的请求进行阻断;与此同时,还可对经过wrap加密后的信息进行还原解析,将加密后的信息解密成明文,便于用户了解这些恶意脚本中隐含的操作内容。 

精细运维管控

目前的数据库勒索软件是通过删除数据库登录验证信息的方式限制了用户对数据库的访问请求,这种技术手段还略显笨拙。安华金和预言,今后的数据库勒索软件一定会效仿文件勒索的方式,对数据库表中数据进行类似加密劫持,如果是这种方式的话修复的难度将会大大增加。

因此,安华金和提供更为精细的管控方案,用以应对更为复杂的勒索方式。如果黑客想要达到对数据库表数据篡改,势必会以运维侧为跳板发起攻击,因为运维侧与数据库中间的通道最“宽敞”,这样攻击起来杀伤力最大。因此,如果我们需要对篡改行为进行精确防护,必须要严格把守运维侧与数据库之间这道关。

通过建立运维管控体系,将所有运维行为标准化,在这里我们提出数据库运维行为审批的理念,即所有运维人员如果想操作数据库则必须通过审批。在审批环节中,系统执行“三查一构”:

检查风险威胁:检查审批提交的语句是否包含勒索特征,如果包含则自动退回申请;

检查语法语意:检查审批提交的语句是否存在语法语义错误,从而提高语句执行准确程度;

检查语句执行:检查运维人员执行的语句是否是当时申请的语句,如果不是则禁止执行;

构筑安全模型:随着系统不断的使用,系统将会自动学习从而对SQL语句的执行进行安全建模。

由此,我们通过运维管控体系的建立,关闭传统运维直达数据库的通道,从而拒绝了勒索软件在暗中发送数据库表数据篡改的请求。为保障正常运维行为的执行,需通过标准化的窗口进行运维行为的发起,通过审批环节对提交的语句进行机器智能识别及人工判断的方式,确保提交的语句对数据库无害,进而达到在不影响正常运维的前提下,确保了数据库不被勒索软件篡改的风险。