首页 理论教育数据库安全基本理论:计算机网络与信息安全

数据库安全基本理论:计算机网络与信息安全

【摘要】:(一)数据库安全的含义数据库安全是指数据库的任何部分都没有受到侵害,或没有受到未经授权的存取和修改。数据库安全性问题一直是数据库管理员所关心的问题。数据库系统的安全需求与其他系统大致相同,要求有完整性、可靠性、有效性、保密性、可审计性及存取控制和用户身份鉴定等。因此,少数数据库安全漏洞不仅威胁数据库的安全,也威胁到操作系统和其他可信任系统的安全。

(一)数据库安全的含义

数据库安全是指数据库的任何部分都没有受到侵害,或没有受到未经授权的存取和修改。数据库安全性问题一直是数据库管理员所关心的问题。

数据库系统的安全需求与其他系统大致相同,要求有完整性、可靠性、有效性、保密性、可审计性及存取控制和用户身份鉴定等。数据库的完整性与可靠性指保证数据的正确性,它涉及数据库内容的正确性、有效性和一致性。实现数据完整性是为了保证数据库中数据的正确、有效,使其免受无效更新的影响。这些无效更新包括错误地更改和输入数据、用户的误操作以及机器故障等。此外还应防止外部非法程序或是外部力量(如火灾或电)篡改或干扰数据,使得整个数据库被破坏(例如,发生磁盘密封损坏或其他损坏)或者单个数据项不可读。

数据库安全主要包括两方面的内容:

1.数据库系统的安全性

数据库系统的安全性主要指系统运行的安全性。系统运行安全是指对系统通常在运行时会受到一些网络不法分子通过利用网络、局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让机子运行大量算法,并关闭CPU风扇,使CPU过热烧坏等一系列的破坏性活动的保护措施。系统运行安全的内容包括法律、政策的保护,如用户是否有合法权限、政策是否允许等;物理控制安全,如机房是否加锁等;硬件运行安全;操作系统安全,如数据文件是否受保护等;灾害、故障恢复;死锁的避免和解除;防止电磁信息泄漏等。

2.数据库数据的安全性

数据库数据安全性是指在对象级控制数据库的存取和使用的机制,哪些用户可存取指定的模式对象及在对象上允许有哪些操作类型。数据库数据安全包括:有效的用户名,密码鉴别;用户访问权限控制;数据存取权限、方式控制;审计跟踪;数据加密;防止电磁信息泄露。

数据库数据的安全措施应能确保在数据库系统关闭后,当数据库数据存储媒体被破坏或当数据库用户误操作时,数据库数据信息不会丢失。对于数据库数据的安全问题,数据库管理员可以采取系统双机热备份、数据库的备份和恢复、数据加密、访问控制等措施。

(二)数据库面临的安全问题

对于数据库系统来说,威胁主要来自非法访问数据库信息;恶意破坏数据库或未经授权非法修改数据库数据;用户通过网络进行数据库访问时,受到各种攻击,如搭线窃听等;对数据库的不正确访问,引起数据库数据的错误。对抗这些威胁,仅仅采用操作系统和网络中的保护是不够的,因为它的结构与其他系统不同,含有重要程度和敏感级别不同的各种数据,并为拥有各种特权的用户共享,同时又不能超出给定的范围。它涉及的范围更广,除了对计算机、外部设备、联机网络和通信设备进行物理保护外,还要采取软件保护技术,防止非法运行系统软件、应用程序和用户专用软件;采取访问控制和加密技术,防止非法访问或盗用机密数据;对非法访问的记录和跟踪,同时要保证数据的完整性和一致性等。

常见的数据库的安全漏洞和威胁有以下几种:

1.数据库配置复杂,且安全维护很难

由于数据库是个极为复杂的系统,因此很难进行正确的配置和安全维护。数据库服务器的应用一般都非常复杂。例如,Oraele、Sybase、Mierosoft SQL Server等服务器都具有以下特征:用户账号及密码、校验系统、优先级模型和控制数据库目标的特别许可、内置式命令、唯一的脚本和编程语言、Middle Ware、网络协议、补丁和服务包、强有力的数据库管理实用程序和开发工具。许多数据库管理员都忙于管理复杂的系统,所以很可能未及时检查出严重的安全隐患和不当的配置,甚至根本没有进行检测。正是由于传统的安全体系在很大程度上忽略了数据库安全这一问题,而导致数据库专业人员未对安全问题加以足够的重视。

2.特权滥用

数据库通常通过用户的存取特权在逻辑上将数据分离。数据库管理指定谁被允许存取字段、记录或元素等数据。DBMS必须实施这一策略,授权存取所有指定数据或禁止存取所指定的数据。而且,存取方式是很多的。用户或程序有权读、修改、删除或加入值,增加或删除整个字段或记录,或者组织整个数据库。

特权滥用大致有三种情况:

(1)过度的特权滥用

在用户(或应用程序)得到访问数据库的特权访问的授权时(这种授权超过了其工作职能的要求),这些特权可能被用于恶意的目的。

(2)合法的特权滥用

用户还可能将特权用于非授权的目的,例如具有欺诈倾向的卫生保健工作人员拥有通过定制的Web应用程序来查看个别病人记录的特权,并利用这些数据达到非法的目的。

(3)特权提升

攻击者可以利用数据库平台软件的漏洞将普通用户的访问权提升为管理员的特权。这些漏洞可存在于存储过程、内置函数、协议执行中,甚至存在于SQL语句中。(www.chuimin.cn)

3.数据库机制漏洞

部分数据库机制威胁网络低层安全。例如,某公司的数据库里面保存着所有技术文档、手册和白皮书,但却不重视数据库的安全。这样,即使运行在一个非常安全的操作系统上,入侵者也能很容易通过数据库获得操作系统权限。这些存储过程能提供一些执行操作系统命令的接口,而且能访问所有的系统资源,如果该数据库服务器还同其他服务器建立着信任关系,那么,入侵者就能够对整个域产生严重的安全威胁。因此,少数数据库安全漏洞不仅威胁数据库的安全,也威胁到操作系统和其他可信任系统的安全。

4.不健全的认证

不健全的认证方案使得攻击者通过窃取登录的机密信息而假冒为合法的数据库用户身份,攻击者可以采取多种策略来获取登录机密信息。

(1)强力攻击

攻击者不断地输入用户名和口令的组合直至发现其中的某个可以奏效。强力攻击包括简单地猜测,还包括所有可能的用户名和口令的组合的系统化的穷举。通常情况下,攻击者将会使用自动化的程序来加速强力攻击过程。

(2)社交工程

也有人称之为社会工程,无论如何,攻击者都是利用自然人的信任倾向,目的是使人愿意提供其登录凭证。例如,攻击者可以通过电话将自己描述为IT经理,要求用户提供登录凭证以便于对系统进行维护。

(3)直接窃取登录凭证

攻击者可通过复制口令文件等而窃取登录凭证。

5.系统敏感信息和数字资产的非法访问

在信息化高度发达的现代社会,很多公司的主要电子数字资产都存储在现代的关系型数据系统中。商业机构和政府组织等不同机构团体都是利用这些数据库服务器了解到相关人事信息,如员工的信息资料、工资表、医疗记录等。这些隐私信息都需要进行保护。此外,数据库服务器还存有敏感的金融数据,在这种情况下更是要加以保护,防止非法访问的信息。

6.不健全的审计

自动记录所有的敏感数据或不正常的数据库业务应当成为底层的任何数据库部署基础的一部分,不健全的数据库审计策略代表着多种等级的一系列风险。

数据库软件平台一般都集成了基本的审计功能,不过这些功能却由于种种弱点而限制或阻止了对它们的部署。分述如下:

(1)缺乏用户责任

在用户们通过Web应用程序访问数据库时,本地的审计机制并不知道特定的用户身份。但在这种情况下,所有的用户活动都与Web应用程序账户名称有联系。因此,在本地审计日志揭示出发生了欺诈性的数据库业务时,就找不到该为此负责的用户。

(2)性能降低

本地的数据库审计机制由于占用CPU和磁盘资源而饱受灾难。在打开审计功能时,性能的严重降低迫使许多企业减少审计范围或干脆放弃审计。

(3)责任分离

对数据库服务器拥有管理员访问特权的用户们(不管是合法的还是非法获取的)都可以轻松地关闭审计功能来隐藏其欺诈性活动。理想情况下,审计责任应当将数据库管理员和数据库服务器分离开来。