从安全攻击实例看数据库安全(五)数据库安全机制和技术
作者:潭心 发布时间:2016-06-29

摘要:本文通过运营商、电力、金融三个已经公开的专利技术,分析在这三个行业的数据库安全防护需求点和防护机制,然后通过数据库加密的应用透明和密文索引两项专利技术,讲解数据库加密中应该重点关注的透明性和性能这两个核心问题。

数据库安全机制-运营商

首先我们来看一下中国移动通信集团四川有限公司的“一种构建数据库防火墙的方法和装置”这个专利技术。原理是接收发起账号的SQL查询,对发起账号 进行判定:如果发起账号在账号白名单中,则将SQL转入后端数据库处理;如果发起账号在账号黑名单中,则将SQL拦截。这一技术体现了运营商的应用系统特 点,针对需频繁人工执行SQL的大型IT系统数据库,提出了一种构建数据库防火墙的方法,对所有发至生产数据库的SQL进行规则匹配和过滤,保障生产数据 库的安全性。具体操作流程如下:

运营商行业的快速发展离不开大型IT系统的支持。一方面,市场业务的发展对生产型IT系统的运行稳定性提出日渐严苛的要求,另一方面由于企业内部管 理、分析统计、软件调整的需要,不可避免地要在生产系统的数据库上运行各种结构化查询语言,这类SQL我们称为后台事务SQL。因此生产系统数据库常常同 时承载着前台业务SQL和后台事务SQL。

通常情况下,前台业务服务对象为企业的客户,每日执行量大,操作数据量较小。

后台事务SQL,通常是企业内部需求,一般是由运维或者DBA等人员直接对数据库发起请求,每日执行量小,但对数据操作量大,正是因为操作量大这一原因,往往一个小失误就会产生难以估量的后果。

SQL事务

前台事务

后台事务

执行量

相对较大

相对较少

运行质量

稳定

未知

运行速度

通常较快

未知

结果实时反馈要求

要求较高

要求较低

引起故障可能性

较低

较高

近年来,大型企业多已注意到后台事务SQL难以把控的问题,从而制定各种操作审核规范和SQL编写规范,试图对其进行有效管理,伴随制度流程也产生了一些副作用,就是因流程复杂化导致的效率下降以及人力成本增加。

目前情况下维护终端发起的SQL命令可以直接在生产系统数据库中执行,由于数据库自身无法对操作可能的后果做判定,存在以下问题:

开发或运维人员的技术水平良莠不齐,常存在因SQL编写失误,导致修改、删除了业务表记录的问题;

在生产高峰期对数据库发起数据批量操作,可能引起业务表被锁,导致业务无法办理的故障。

目前有效解决这些问题的一种防护手段就是在数据库系统前端加装数据库防火墙。

每条手工操作命令均发送至数据库防火墙,由数据库防火墙判定其操作数据量大小和操作权限,符合规则即转发至后端数据库,而超过阀值或超过权限则不允 许执行并返回提示;访问关键系统表、修改敏感对象等操作也将被隔断,从而对误操作导致的数据修改问题予以阻断,起到保护数据库的目的。

数据库安全机制-电力

深圳供电局有限公司的一项专利,此专利提供了一种电网核心业务数据库智能化监控告警的 方法,包括:获得所属电网的核心业务系统的至少一类监控数据,并与预先设置的所属业务系统的监控数据所对应的阈值告警区间进行比较,在比较结果为至少一类 监控数据达到阈值告警区间时,通过邮件将告警信息发送给所属业务系统对应的邮件接收方。实施本专利系统可以实现对电网核心业务系统的实时智能化监控和告 警,提高了现有IT 系统的投资回报,降低了企业的运营和系统维护成本。

 

电网信息管理的核心业务随着IT系统分期建设和不同集成商和软件供应商参与,其系统管理越来越复杂和困难。现有的电网业务系统的管理架构,核心业务 系统数据库包括用于生产调度、营销、资源管理等业务系统的网络数据库。根据测算,大型电网企业的核心系统每年都会由于机房掉电、交换机或者负载均衡堵塞、 数据库宕机等原因造成核心系统故障,给企业造成的经济损失以百万计。

现有的电网业务系统的管理架构存在两个不足之处:现有技术中不能及时发现系统的重大技术、web服务器和性能故障,且不能实现智能化告警,让相关管 理人员可以迅速投入精力去排查问题,防止故障蔓延和更大的经济损失。由于电网系统技术架构日益复杂,数据处理已经向T级进军,因此开发一种智能告警监控系 统越来越具有战略意义。

所述核心业务系统在网络上的数据库访问脚本数据的具体步骤为:通过数据库防火墙监控获得所述核心业务系统的网络报文中对于数据库访问的SQL脚本数 据,所述核心业务系统的监控数据包括生成所述SQL脚本的数据库交易时间,数据库交易的SQL脚本等重要信息,包括预先设置业务系统对应的阀值告警区间。 脚本数据可以是SQL脚本和pl/sql脚本数据,或者SQL net协议下的脚本数据。

设置阀值的告警区间,所采用的是通过其正常的监控数据样板的过去表现来预测其未来的流量趋势来进行预警。根据电网核心业务的分析特点,内部用户在调 度业务流程,其访问的并发数,产生的系统流量在某个观察区间内都相对比较稳定,因此任何突然的流量上升或者下降都预示着某种可以预见的危险,需要立即引起 关注和持续跟踪分析。例如由于网络交换机或者负载均衡器的阻塞所造成的流量突然下降或者大规模的内部网络攻击来偷窃客户数据等严重安全泄密事件的发生。

从专利说明上来看,这是一种旁路部署的数据库防火墙系统,电力行业与运营商行业略有不同,对业务系统的持续运行有更高的要求,同时业务系统出现的数 据库安全风险也希望有更强的关注。一旦出现业务系统的异常情况,通过邮件告知系统管理员加快处理响应速度,避免出现更大的损失。

数据库安全机制-金融

工行的一项专利提供一种数据库的安全访问控制系统,提升了数据库系统的安全控制,降低了由于数据系统内部的权限监控不完善造成的非授权数据访问造成的数据泄露。

数据来源服务器,与数据安全访问控制服务器相连接,用于输出数据库访问方式以及数据库访问日志;输入终端,与数据安全访问控制服务器相连接,用于采 集用户输入的数据库访问方式以及数据库安全访问请求信息,数据库安全访问请求信息包括数据库对象数据、变更单号、事件单号;SQL请求发生器,与数据安全 访问控制服务器相连接,用于采集SQL阻断请求信息。

数据库安全访问控制服务器具体包括:采集部件,与所述的输入终端、所述的数据来源服务器相连接,用于采集数据库访问方式以及数据库访问日志;解析部 件,与所述的采集部件相连接,用于按照数据库访问安全要素对所述的数据库访问方式以及数据库访问日志进行解析;格式化部件,与所述的解析部件相连,用于将 数据解析后的所述数据库访问方式及数据库访问日志中的结构化查询语言SQL语句进行格式化操作;识别结果输出部件,与所述的解析部件相连接,用于根据格式 化操作后的数据库访问方式以及数据库访问日志分别识别所述的数据库安全访问请求信息以及SQL阻断请求信息,生成并输出对应的识别结果。

银行的数据库中保存大量的客户信息,例如:客户的账号、密码等敏感信息;客户信息等敏感数据的泄露,且该问题日益成为损害公众利益、威胁企业健康发展以及对企业声誉造成重大影响的信息安全问题。造成这种风险的主要原因有两个:

外部网络的入侵造成的数据泄露;

数据系统内部权限监控不完善造成非授权数据访问造成的数据泄漏。

现有技术中数据库安全访问控制包括两个方面:

授权用户的回收和发放;

数据保密性的审查,根据大量的数据查询日志进行人工抽查,挑选涉及敏感数据且返回结果数量较大的情况询问相关人员是否有正式的审批手续,以满足保密性要求。

上述工作均耗费大量人力和时间,不但审查的覆盖面和准确度无法保证,而且部分高危行为审查难以满足时效性要求,更没有实现实时访问控制。

因此,传统的数据库安全访问控制的方法存在的滞后性和粗粒度性都无法满足数据系统的数据安全,存在严重的安全隐患。这个发明专利采用的是数据库防火墙系统,正好解决了金融行业的数据库安全防护问题。

数据库安全技术-应用透明

数据库加密包含了密码、信息安全、数据库等核心技术,技术难度号称是数据库安全领域的王冠。以加密技术为基础的数据库安全加固产品,往往具备两大技 术瓶颈,即密文数据访问的性能低下和应用系统的透明性不高。直接导致加密保护后数据访问的速度缓慢,以及应用系统需要大量的改造,之前国内的两款数据库加 密类产品,一直没有有效地推广和应用,也是因为这两大原因。 
 安华金和的《一种基于多级视图和触发器的数据库透明加解密方法》,这个专利用于对关系型数据库中的数据进行加密保护,防止信息被非法的窃取,在关系型数据 库通用的视图和触发器的基础上,通过实现多级视图并结合基于行标识的触发器实现对敏感数据的自动加密和解密,达到对应用透明的目标,应用系统无需改造;通 过多级视图,实现对数据库查询行为的精确判定,从而可以针对不同种类的查询行为,构建专门的基于LRU缓存管理机制的密文和明文数据缓存策略,构建对密文 数据进行批量预解密处理的策略,实现高效的密文查询。

数据库安全技术-密文索引

笔者在数据库加密技术交流过程中,遇到最多的问题就是数据库加密后,性能的损失有多大,比如:1千行记录加密后会慢多少?实际上,由于数据库服务器 的硬件性能提高,加解密技术与数据库功能如缓存等有效结合,数据解密的时间并不是影响查询性能的主要因素。下面我就用实验数据来证明这个观点:

如上三个图所示,建立一个1000行的表,查询时间是1.782秒,然后把姓名和账号两个字段加密,查询时间是1.876秒,1千行记录加密后查询相差的时间约是0.1秒,对于有数据库加密安全需求的用户是完全可以接受的。

加密后不带密文索引

不加密查询时间

加密后带密文索引的查询时间

数据库加密技术关键难点在于,如果从100万行中以加密后的字段作为条件来查询相应的记录,在原先明文索引已经失效的情况下,快速地定位到这一行是 非常耗费时间的,需要整列解密然后再按条件查询,如上图所示,加密后不带密文索引花了462.125秒(>7分钟),而不加密的情况下同样的查询需 要时间仅0.094秒。

安华金和在《一种无偏序关系的数据库密文索引方法》中有效的解决了这个问题。我们继续上面的实验,这次在NAME字段采用密文索引提高查询速度,如 上图所示是使用了0.36秒。专利技术使得安华金和数据库加密系统突破了电信等高端应用的性能瓶颈,确保亿级数据规模下,性能几乎不下降。

这个专利提供了一种基于无偏序关系的轻量级的密文索引结构的索引建立、检索和维护方法,这种结构能够表示索引中的节点关系,便于维护,维护代价低。 索引中存储的数据是密文的,由于不存在数据之间的偏序关系,也就无法进行分析了,保证了数据的安全。基于这种无偏序关系的密文索引的检索方法,能够对密文 数据进行快速的检索和定位;维护时能够有效维护索引数据和节点关系,并保证索引数据在并发操作环境下的正确性。

结论

通过三个专利技术让我们能看到运营商、电力、金融这三个行业的数据库安全需求非常迫切,而且专利技术也有利于同行业的用户借鉴,从而提高数据库的安 全防护水平,具有广泛推广的价值。安华金和在数据库安全领域里的应用透明和密文索引的专利技术,的确提升了数据库加密的应用效果和成熟度。

随着云计算技术的普及,按需调整硬件资源会极大节省成本,越来越多的政府、企业将自己重要的业务系统放到公有云上,那这些业务系统后台核心数据库如何确保敏感数据的安全问题就成为了重中之重,在云平台上安华金和都提供了那些数据库安全技术将在下一章中为网友呈现。