摘要:越来越多的企业(大型或中小型企业)都建立起自己的数据库服务器和数据中心,然而,随之而来也产生了许多数据安全问题。如何有效地保证和加强数据库系统的安全性,实现数据的机密性、完整性和有效性,已经成为当前现代企业亟待解决的热门课题。主要介绍了数据库系统的基本安全框架以及各种常见的安全机制并分析了各自的缺陷,然后提出了对新的数据库系统安全技术的需求。
关键词:企业;数据库系统;安全机制
中图分类号:F27文献标志码:A文章编号:1673-291X(2011)10-0032-02
前言
随着计算机的普及、尤其是在企业生产和科研领域中的广泛使用,越来越多的信息和数据以各种各样的形式保存在计算机中。数据库系统作为数据存储和管理的主要方式,也随之得到了十分广泛的应用。大多数企业、组织电子数据都保存在各种数据库中。他们用这些数据库保存一些个人资料,比如员工薪水、医疗记录、员工个人资料等等。数据库服务器还掌握着敏感的金融数据,包括交易记录、商业事务和账号数据,战略上的或者专业的信息,比如专利和工程数据,甚至市场计划等等应该保护起来防止非法者获取的资料。数据库服务器还保存着一些商业伙伴的资料。
一、数据库系统安全的含义和目标
数据库系统一般可以理解成两个部分:一部分是数据库,它按照一定的方式存取数据;另一部分是数据库管理系统(DBMS),它为用户及应用程序提供数据访问,并具有对数据库进行管理和维护等多种功能。
数据库系统安全包含两层含义:第一层是指系统运行安全,包括:(1)硬件运行安全;(2)操作系统安全;(3)灾害、故障恢复;(4)死锁的避免和解除;(5)物理控制安全,如机房加锁等。第二层是指系统信息安全,包括:(1) 用户口令字鉴别;(2)用户存取权限控制;(3)数据存取权限、方式控制;(4)审计跟踪;(5)数据加密。
数据库系统安全需要实现的三个目标是:(1)完整性:只允许授权用户修改数据;(2)可用性:保证授权用户和应用程序可以获取数据;(3)机密性:防止数据发生非授权泄漏。
二、数据库系统基本安全框架
数据库系统的安全除了依赖于自身的安全机制外,还与外部网络环境、应用环境、从业人员的素质等因素密切相关。因此从广义上讲,数据库系统的安全框架可以划分为三个层次:(1)网络系统层;(2)操作系统层;(3)数据库管理系统层。
这三个层次构成了数据库系统的安全体系,它们与数据安全的关系是逐步密切的,防范的重要性也逐层加强,从外到内、由表及里的保证数据的安全。下面简单介绍一下安全框架中的这三个层次。(1)网络系统层。随着 Inetnet应用的普及深入,越来越多的公司将其核心业务向互联网转移,各种基于网络的数据库应用系统纷纷涌现出来,面向网络用户提供各种信息服务。可以说网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大作用离不开网络系统的支持。数据库系统的用户(如异地用户、分布式用户)也要通过网络才能访问数据库中的数据。因此,从广义上讲,数据库系统的安全首先依赖于网络系统的安全。由于网络的广泛分布性和网络用户的复杂多样性,使得网络本身存在很大的危险性,例如恶意的攻击、窃取、病毒传播等。目前主要通过防火墙、入侵检测以及协作式入侵检测等技术手段来加强网络系统层次的安全防范。(2)操作系统层。操作系统是大型数据库系统的运行平台,为数据库系统提供一定程度的安全保护。目前常见的操作系统为Windows、Unix和Linux。主要安全技术包括操作系统安全策略、安全管理策略、数据安全等方面。操作系统安全策略用于配置本地计算机的安全设置,包括密码策略、账户锁定策略、审核策略、IP安全策略、用户权利指派、加密数据的恢复代理以及其他安全选项。具体可以体现在用户账户、口令、访问权限、审计等方面。1)用户账户:用户访问系统的“身份证”,只有合法用户才有账户。2)口令:用户的口令为用户访问系统提供一道验证。3)访问权限:规定用户的权限。4)审计:对用户的行为进行跟踪和记录,便于系统管理员分析系统的访问情况以及事后的追查使用 。安全管理策略是指网络管理员对系统实施安全管理所采取的方法及策略。针对不同的操作系统、网络环境需要采取的安全管理策略一般也不尽相同,其核心是保证服务器的安全和为各类用户分配适当的权限。数据库应用程序通常都同操作系统的最高管理员密切相关。比如oarcle、Sybase、MsSQLServer数据库系统都有下面这些特点:用户账号和密码、认证系统、授权模块和数据对象的许可控制、内置命令(存储过程)、特定的脚本和程序语言(通常派生自SQL)、中间件、网络协议、补丁和服务包、数据库管理和开发工具。许多数据库管理员都是全日制工作来管理这些复杂的系统。但是,安全漏洞和不当的配置通常会造成严重的后果,而且都难以发现。(3)数据库管理系统层。当前有一种错误的观点,认为只要把网络和操作系统的安全做好了,那么所有的应用程序也就安全了。大多数关系数据库都是“端口”型的。任何人都能够用分析工具试图连接到数据库上,从而绕过操作系统的安全机制。比如:oracle7和oracle8使用的端口是1521和1526。许多数据库系统也有公开的默认账号和默认密码。这两个特性大大地危害着数据库的安全。
另外,由于数据库系统在操作系统下都是以文件形式进行管理的,入侵者可以直接利用操作系统的漏洞窃取数据库文件,或者直接利用某些工具来非法伪造、篡改数据库文件内容,这种隐患一般数据库用户难以察觉。
三、常见的数据库系统安全机制及缺陷
针对数据库系统安全的三个层次,常见的数据库系统安全机制主要有如下三种:(1)依赖操作系统的访问控制功能实现。目前的主流操作系统都具备完善的用户认证机制。对应于每一个用户,在操作系统中相应的有一个访问控制列表(ACL)。在访问控制列表中设定了该用户的访问权限。每个登录系统的用户必须遵守其在访问控制列表中设置的权限来访问系统资源。这样数据库拥有者或者管理者就可以通过设置用户访问权限来控制用户对数据库文件的读取、写入、复制及删除等操作。(2)采用用户身份认证实现。常见的身份认证都是在用户试图打开数据库时要求用户输入用户密码。这种安全技术的实现思想是数据库管理软件打开文件时校验用户输入密码是否与数据库文件中保存的密码数据一致,如果不一致则拒绝打开数据库文件。通常是在一个配置文件中保存用户名及密码。密码一般是采用某种加密方式存储的,以防止因为配置文件被非法访问而造成密码泄漏。(3)通过对数据库加密来实现。这种安全机制的设计思想是,利用密码学方法对保存在数据库中的数据进行加密处理,以增强数据库中保存的原始数据的安全性。
下面简要地分析一下这三种安全机制的缺陷。第一种安全技术的不足之处是,首先,数据库文件的安全完全依赖于操作系统,当系统配置不当时,安全根本得不到保证;其次,当数据库文件在目录或计算机间移动时,这种保护就会失效。所以,这种安全技术的最大弊病在于要靠外部环境实现安全,一旦外部环境发生变化,安全性便无法保障。第二种安全技术的主要不足是,数据库文件的安全完全依赖于基于密码校验的身份认证。如果用户以正常方式(采用数据库管理软件)去打开数据库文件时,身份认证无疑是个不错的安全措施。但用户以二进制文件方式打开数据库文件时,身份认证过程会被轻易跳过。所以,这种安全技术的最大弊病在于要靠数据库管理软件实现安全,一旦非法用户采用别的方法察看数据库文件内容时,安全性就无法保障。第三种安全技术的局限也很明显。数据库文件一般都很大,因此,采用这种技术进行加密和解密的时间代价很大。如果用户每次打开和关闭数据库时,数据库文件都要花费几分钟的时间来解密和加密,那么数据库用户是无法接受的。
四、数据库系统安全技术的新需求及实现
新的数据库系统安全技术应该具备以下特点。(1)安全性与操作系统平台无关。数据库文件无论被移动到哪台计算机或哪个目录,它的安全防护依然存在。即无论何时何地,数据库文件都有足够的安全性。(2)采用先进的加密技术。可以采用 DES、密码反馈等先进的加密技术来提高安全性。在对数据库文件密码、数据库字段说明部分加密时要把它们作为一个整体进行加密。(3)加密内容的选择。对于有大量数据的数据库文件进行完全加密是不必要的。可行的办法是加密数据库文件中的文件特征说明部分和数据库字段说明部分,这样,即使非法用户获得了数据库文件,也很难从中找到有用的内容。(4)加密与数据压缩相结合。数据压缩本身有数据隐蔽的功能,而且能够减少数据库占用的存储空间。(5)身份认证陷阱。非法用户通常采用枚举密码的办法取得密码,身份认证陷阱能使有这一行为的非法用户付出很大的时间代价也无法获得用户密码。(6)数据库文件防复制的能力。复制功能是操作系统提供的,真正的“防复制”需要操作系统的功能支持。这里的“防复制”是指除非数据库文件拥有者明确告诉数据库管理系统要复制一个数据库文件副本,否则非法用户即使利用操作系统提供的复制功能获得了一个副本,并且拥有数据库密码,数据库也无法正确打开。这一功能需要依靠数据库管理系统实现,它能在数据库打开和关闭时对数据库文件进行特殊处理。
结束语
当前,各企业尤其是大企业都在大量地使用数据库系统来存放和管理各种各样的信息和数据,互联网的飞速发展使得越来越多的应用都通过网络开展起来。数据库系统也逐渐从以前的单机数据库向网络数据库方向发展,这一趋势使得数据库系统受到的威胁也越来越大。网络中存在的大量的黑客攻击、病毒等都会给数据库系统带来危害,造成数据丢失、窃取、篡改等严重后果。为了实现数据库系统安全的三个目标,即完整性、可用性和机密性,必须采取各种各样的措施保护和防止数据库系统受到破坏。尽管国内外已经有许多科研单位和厂商在数据库系统安全方面进行了大量的研究工作并且取得了诸多的研究成果,但是要实现真正的数据安全还需要付出更大的努力。
参考文献:
[1]施伯乐,丁宝康,等.数据库系统教程:第2版[M].北京:高等教育出版社,2003.
[2]臧劲松.数据库系统安全的研究与分析[J].计算机安全,2008,(7).
[3]杨彬,王成.基于保密和安全考虑的数据库综合应用方案[J].计算机安全,2009,(6).
[4]官巍,胡若.关于信息安全管理的方法研究[J].计算机应用研究,2007,(3).[责任编辑 吴高君]
扩展阅读文章
推荐阅读文章
花田文秘网 https://www.huatianclub.com
Copyright © 2002-2018 . 花田文秘网 版权所有