分布式数据库系统安全策略分析

时间:2022-06-26 08:42:26

分布式数据库系统安全策略分析

摘要:分布式数据库作为数据库系统与计算机网络的有机结合,正成为目前互联网环境下信息资源的共享和应用核心,其安全问题举足轻重。针对分布式数据库系统的安全性要求,在分析了系统的体系结构和可能受到的攻击的基础上,对安全策略和安全机制中身份验证、保密通信、访问控制、库文加密、密码体制及密钥管理、分布事务管理、审计跟踪、故障恢复等方面进行了综合分析。

关键词:数据库;数据库系统;分布式;分布式数据库;安全

中图分类号:TP311.133.1文献标志号:A 文章编号:1009-3044(2009)04-0769-02

Analysis of Security Strategy on DDBS

JIANG Wen-bin, ZHANG Ren-jin, ZHANG Fang-xia

(Guizhou Normal University Mathematic and Computer Institue, Guizhou Normal University the multi-media Computer Assisted Instruction Institue, Guiyang 550001, China)

Abstract: As the combination of computer network and database system Distributed Database is becoming the share center of information resource in the Internet situation and its security is very important. Aiming at the secure requests of Distributed Database System, on the base of analysing system frame and possible attacking. It discusses user authentication, secret communication, access control, content ciphertext, cryptosystem, key and distributed affair management, audit track, fault repair in the security police and security mechanism.

Key words: database; database system; distributed; distributed database system; security

Internet的高速发展推动着分布式数据库的发展,另一方面它也增加了分布式数据库安全问题的复杂性。如何保证开放网络环境中分布式数据库系统的安全是一个复杂的问题,需要进行认真分析研究。分布式数据库面临着两大类安全问题:一类安全问题研究抗击单站点故障、网络故障等自然因素故障,即研究在发生了障时如何使系统仍能可靠运行或从故障中恢复。另一类安全问题研究抗击来自于本机或网络上的人为攻击,即研究在有黑客攻击时如何保证库存数据和通信报文的保密性和可靠性。数据库最突出的特点是之一是数据共享,数据共享给数据库应用带来了众多的好处;但给数据库特别是网络化的开放环境与基于网络的分布式数据库系统的安全带来了严重的问题,如何保证分布式数据库的安全问题己经成为数据库领域的重要课题之一。

1 分布式数据库构建与应用概述

1.1 分布式数据库的定义和特点

分布式数据库系统是由若干个站集合而成,这些站(节点)在通讯网络中互联在一起,每个站都拥有各自的数据库、中央处理机,以及各自的局部数据库管理系统,因此分布式数据库系统可看作是一系列集中式数据库系统的联合。它们在逻辑上属于同一系统,但在物理结构上是分散的。分布式数据库系统使用计算机网络,将地理位置分散,而管理又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)联接起来,共同组成一个统一的数据库系统,因此分布式数据库系统可以看成是:计算机网络与数据库系统的有机结合。它应该具有如下的特点:

1) 物理分布性:分布式数据库系统中的数据不是存储在一个站点上,而是分散存储在由计算机网络联结起来的多个站点上。所以分布式数据库系统的数据具有物理分布性,这是与集中式数据库系统的最大差别之一。

2) 逻辑整体性:分布式数据库系统中的数据物理上是分散在各个站点中,但这些分散的数据逻辑上却是一个整体,它们被分布式数据库系统的所有用户(全局用户)共享,并由一个分布式数据库管理系统统一管理。这是分布式数据库的“逻辑整体性”特点,也是与分散式数据库的最大区别。区别一个数据库系统是分散式还是分布式,只要判断该数据库系统是否支持全局应用(数据在逻辑

上统一管理,在物理上分散存储)。因此,分布式数据库系统中就有了全局数据库(GDB-Global Database)和局部数据库(LDB-Local Database)的概念。全局数据库由全局数据库管理系统进行管理,所谓全局是从整个系统角度出发研究问题。局部数据库由局部数据库管理系统进行管理,所谓局部是从各个站点的角度出发研究问题。

3)站点自治性:站点自治性也称场地自治性,各站点上的数据由本地的DBMS管理,具有自治处理能力,完成本站点的应用(局部应用),这是分布式数据库系统与多处理机系统的区别。

1.2 体系结构图

图1为体系结构图。

1.3 分布式数据库运行过程

用户欲访问分布式数据库系统,首先要由任意一个站点登录,进行身份验证,系统确认用户的合法身份后接受用户提出的事务处理请求,并把用户事务经用户接口转换后由编译层进行语法、语义分析、授权检查、事务分解等操作,而后交事务管理层监督执行。分解得到的访问本地数据的子事务,由本地数据库管理系统具体执行,访问远程数据的子事务,则通过通讯系统交给远程的事务管理层,由远程事务管理层监督远程数据库管理系统具体执行。子事务的分解和异步执行过程对用户是透明的。这样通过分布式数据库系统把物理上分布的数据在逻辑上统一起来了。

2 分布式数据库系统的主要安全隐患

在一个支持场地自治性的分布式数据库系统中,数据的安全性可完全由局部数据库系统负责。但是,一旦远程场地用户被授权访问局部数据,则局部场地就不能确保数据的完整性。因为数据可能被拷贝到网络中的其它场地上而超出原有数据库系统的控制范围。因此,需要考虑接收场地安全性保护和网络的安全性。为了保证数据在分布环境下的安全性,不应该在非安全的通讯线路上传递保密数据,也不允许将保密数据传递给不安全的场地。

对于分布式数据库安全问题扩展地来说,应该保障数据库数据的完整性,包括数据的物理完整性、逻辑完整性和元素完整性;保障数据库数据的保密性:身份鉴别、推理防范、数据库系统的可审计性等;保障数据库数据的可靠性,就是防止和减少因为软、硬件系统的错误所造成的数据库恶性破坏,和及时修复软、硬件系统的错误所造成的数据库恶性破坏。对于第一类由单站点故障、网络故障等自然因素引起,这类故障通常可利用网络提供的安全性来实现安全防护,所以说网络安全是分布式数据库安全的基础;对于另一类来自本机或网络上的人为攻击,主要有:

1) 黑客的攻击:为了窃取数据或扰乱系统正常运行,黑客对分布式数据库系统主要采取以下攻击方式:

窃听:黑客在网络信道上监听客户-数据库服务器或服务器-服务器之间的报文来窃取数据。

重发攻击:黑客把窃听到的报文又重发给客户或服务器,重发的报文或保持原样或做了修改,以扰乱系统正常运行甚至修改数据库中数据。重发攻击可以是针对站点间的数据通信过程,也可以是针对站点间的身份验证过程。

假冒攻击:黑客可以发送报文使客户或服务器通讯端口堵塞,然后再假冒该客户或服务器扰乱分布式数据库系统内其它站点的正常运行甚至非法访问数据。

越权攻击:黑客本身是分布式数据库系统的合法用户,但他利用访问控制方面的安全漏洞越权访问非授权数据。

迂回攻击:黑客利用网络协议、操作系统的安全漏洞绕过分布式数据库系统直接访问数据库文件。在上述各种过程中,为了实施更有效的攻击,黑客往往还借助于破译工具,采用密码分析方法对得到的密文进行解密或纂攻。

2) 计算机病毒的攻击:病毒的种类迅速增加,病毒的机制越来越复杂化,破坏性和攻击性越来越强。

3) 网络安全环境的脆弱性:包括操作系统安全的脆弱性,数据库管理系统安全的脆弱性,网络协议的脆弱性等。

4) 数据库应用系统的不安全性:包括非法用户使用应用系统存取数据,授权用户超越权限访问存取非授权信息等等。

3 解决分布式数据库安全问题的关健技术

如何保证开放网络环境中分布式数据库系统的安全是一个非常复杂的问题,需要进行认真分析研究。针对上述开放式网络环境下分布式数据库系统的安全隐患,总结解决这些问题的身份验证、保密通信、访问控制和审计、库文加密、密码体制与密钥管理、分布事务管理和故障恢复等关键技术。

3.1 身份验证

为了防止各种假冒攻击,在执行真正的数据访问操作前,要在客户和数据库服务器之间进行双向身份验证:用户登录进人分布式数据库系统,进行数据访问操作前要进行身份验证,以便确认该用户的真实身份,从而进一步决定该用户的访问权限;此外,由于分布式数据库系统服务器与服务器之间要完成传输数据、协调分布式事务处理等功能,因此它们之间也要相互验证身份。

3.2 在通讯双方之间建立保密信道

保密通信客户一服务器、服务器一服务器之间身份验证成功后,就可以进行数据传输了,为了对抗报文窃听和报文重发攻击,需要在通讯双方之间建立保密信道,对数据进行加密传输。在分布式数据库系统中,由于传输的数据量往往很大,加解密算法的速度对系统性能影响也就大,而非对称密码体制运算复杂、速度慢,对称密码体制速度快,所以一般采用对称密码算法来进行加解密。因此,建立保度信道的过程就是约定会话密钥,用会话密钥来加解密数据的过程。通常这一过程也可以和身份验证结合在一起。

3.3 访问控制和审计

在通常的数据库管理系统中,为了抗击越权攻击,任何用户不能直接操作库存数据。用户的数据访问请求先要送访问控制模块审查,然后系统的访问控制模块有访间权限的用户去完成相应的数据操作。访问控制主要有两种形式:自主访问授权控制和强制访问授权控制。其中自主访问授权控制由管理员设置访问控制表,此表规定用户对数据对象能够进行的操作或不能进行的操作;而强制访问授权控制先给系统内的用户和数据对象分别授予安全级别,根据用户、数据对象之间的安全级别关系限定用户的操作权限。

3.4 库文加密

在分布式数据库系统中,为了对抗黑客利用网络协议、操作系统安全漏洞绕过数据库的安全机制而直接访问数据库文件,有必要对库文进行加密。只要保管好密钥,并且加密算法具有一定的强度,即使黑客得到了数据库文件,他们也难以知道明文,这样使得重要数据受系统安全漏洞因素的威胁减小。

3.5 密码体制与密钥管理

在分布式数据库系统中,身份验证、保密信道、库文加密等都用到加解密算法,但是它们的应用背景是有区别的:身份验证仅需传输少量控制信息;保密通信除了传递少量控制信息外,通常还传递大量的数据信息;库文加密涉及不同粒度的数据对象,而且还要考虑数据库的插人、删除、更改数据密钥等操作。

3.6 全局视图机制

和集中式数据库一样,分布式数据库环境中同样可定义视图,实现数据的独立和安全性,这是,视图的作用更加显著,因为分布式数据库非常大而且复杂,用户数目也非常大。利用视图,可以将用户分组,只向用户提有关数据。

3.7 安全审核

检测是否有人的最佳方式是建立恰当的警报系统。如SQL SERVER2000建立的警报系统方法是通过启用“FAlLED LOGIN(失败的登录)” 选项 (“选SERVER PROPERTIES [服务器属性]”l“SECURITY(安全)”选项卡),你就可以看到何时有不受欢迎的访问者正在浓度访问你的系统。当有一个仅使用几个账户的封装CM应用程序时,这特别有用。

3.8 分布事务管理

在分布式数据库系统中,分布事务管理的目的在于保证事务的正确执行及执行结果有性主要解决系统可靠性、事务并发控制及系统资源的有效利用等问题。分布事务首先要分解为多个子事务到各个站点上去执行,各个服务器之间还必须采取合理的算法进行分布式并发控制和提交,以保证事务的完整性。

3.9 故障恢复

在数据库系统中尽管采取了很多措施和手段保证数据库系统的正常运行,然而计算机系统中的软、硬件的故障及操作的失误和人为的破坏仍是不可避免的,这经常造成数据库不能正常的执行,出现错误,数据的全部或部分遭到破坏。因此数据库系统必须具有把数据库系统从故障状态恢复到一个已知的正确状态。分布式事务的两段提交协议(2PC协议)是一种用于故障恢复的方法,在系统运行日志无丢失的情况下,对任何故障均有一定的恢复能力。

4 结束语

从分布式数据库安全的研究来看,目前存在几种方向,一是从一般数据库安全理论出发,将其理论放在分布式数据库的具体环境下进行考察,然后进行修正;二是从数据库安全的焦点问题入手,主要研究分布式数据库中这些问题的实现,三是着重分析分布式数据库的安全风险而缺乏对具体实施的关注。这些研究思路同分布式数据库安全需求的满足还存在一定的距离,这方面的工作还有待进一步的研究。

参考文献:

[1] 邵佩英.分布式数据库系统及其应用[M].北京:科学出版社,2005.

[2] 鞠海玲,宁洪,郑若忠,等.分布式数据库安全关键技术[J].微型电脑应用,1999,15(9):6-8.

[3] 鞠海玲,宁洪,郑若忠,等.分布式数据库安全机制[J].计算机工程与应用,2000,36(3):98-100.

[4] 郑振媚,于戈,郭敏.分布式数据库[M].北京:科学出版社,l999.

[5] 吴江,李太勇,吴晓知.分布式数据库系统中的安全策略研究[J].网络安全技术与运用,2006,2(4):98-102.

[6] Brink Knight.SQL Server 2000 for Experienced DBAS[M].北京:清华大学出版社,2003.

[7] 刘义理.分布式数据库安全框架研究[J].微计算机信息,2006,6(22):53-55.

[8] 徐超汉.计算机信息安全管理[M].北京:电子工业出版社,2006.

上一篇:一种约束多目标优化问题的改进蚁群遗传算法 下一篇:谈《电气控制和PLC》课程教学改革