数据库的安全性与完整性

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4 数据库的安全性与完整性

数据库在各种信息系统中得到广泛的应用,数据在信息系统中的价值越来越重要,数据库系统的安全与保护成为一个越来越值得重要关注的方面。

数据库系统中的数据由DBMS统一管理与控制,为了保证数据库中数据的安全、完整和正确有效,要求对数据库实施保护,使其免受某些因素对其中数据造成的破坏。

一般说来,对数据库的破坏来自以下4个方面:

(1)非法用户

非法用户是指那些未经授权而恶意访问、修改甚至破坏数据库的用户,包括那些超越权限来访问数据库的用户。一般说来,非法用户对数据库的危害是相当严重的。

(2)非法数据

非法数据是指那些不符合规定或语义要求的数据,一般由用户的误操作引起。

(3)各种故障

各种故障指的是各种硬件故障(如磁盘介质)、系统软件与应用软件的错误、用户的失误等。

(4)多用户的并发访问

数据库是共享资源,允许多个用户并发访问(Concurrent Access),由此会出现多个用户同时存取同一个数据的情况。如果对这种并发访问不加控制,各个用户就可能存取到不正确的数据,从而破坏数据库的一致性。

针对以上4种对数据库破坏的可能情况,数据库管理系统(DBMS)核心已采取相应措施对数据库实施保护,具体如下:

(1)利用权限机制,只允许有合法权限的用户存取所允许的数据,这就是本章4.1节“数据库安全性”应解决的问题。

(2)利用完整性约束,防止非法数据进入数据库,这是本章4.2节“数据库完整性”应解决的问题。

(3)提供故障恢复(Recovery)能力,以保证各种故障发生后,能将数据库中的数据从错误状态恢复到一致状态,此即本章4.3节“故障恢复技术”的内容。

(4)提供并发控制(Concurrent Control)机制,控制多个用户对同一数据的并发操作,以保证多个用户并发访问的顺利进行,此即本章4.4节“并发控制”的内容。

4.1 数据库安全性

4.1.1 数据库安全性问题的概述

1.数据库安全问题的产生

数据库的安全性是指在信息系统的不同层次保护数据库,防止未授权的数据访问,避免数据的泄漏、不合法的修改或对数据的破坏。安全性问题不是数据库系统所独有的,它来自各个方面,其中既有数据库本身的安全机制如用户认证、存取权限、视图隔离、跟踪与审查、数据加密、数据完整性控制、数据访问的并发控制、数据库的备份和恢复等方面,也涉及到计算机硬件系统、计算机网络系统、操作系统、组件、Web服务、客户端应用程序、网络浏览器等。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出,每一个方面产生的安全问题都可能导致数据库数据的泄露、意外修改、丢失等后果。

例如,操作系统漏洞导致数据库数据泄漏。微软公司发布的安全公告声明了一个缓冲区溢出漏洞(/china/security/),Windows NT、Windows 2000、Windows 2003等操作系统都受到影响。有人针对该漏洞开发出了溢出程序,通过计算机网络可以对存在该漏洞的计算机进行攻击,并得到操作系统管理员权限。如果该计算机运行了数据库系统,则可轻易获取数据库系统数据。特别是Microsoft SQL Server的用户认证是和Windows集成的,更容易导致数据泄漏或更严重的问题。

又如,没有进行有效的用户权限控制引起的数据泄露。Browser/Server结构的网络环境下数据库或其他的两层或三层结构的数据库应用系统中,一些客户端应用程序总是使用数据库管理员权限与数据库服务器进行连接(如Microsoft SQL Server的管理员SA),在客户端功能控制不合理的情况下,可能使操作人员访问到超出其访问权限的数据。

在安全问题上,DBMS应与操作系统达到某种意向,理清关系,分工协作,以加强DBMS的安全性。数据库系统安全保护措施是否有效是数据库系统的主要指标之一。

为了保护数据库,防止恶意的滥用,可以从低到高的五个级别上设置各种安全措施。

(1)环境级:计算机系统的机房和设备应加以保护,防止有人进行物理破坏。

(2)职员级:工作人员应清正廉洁,正确授予用户访问数据库的权限。

(3)OS级:应防止未经授权的用户从OS处着手访问数据库。

(4)网络级:由于大多数DBS都允许用户通过网络进行远程访问,因此网络软件内部的安全性至关重要。

(5)DBS级:DBS的职责是检查用户的身份是否合法及使用数据库的权限是否正确。

本章只讨论与数据库系统中的数据保护密切相关的内容。

2.数据库的安全标准

目前,国际上及我国均颁布有关数据库安全的等级标准。最早的标准是美国国防部(DOD)1985年颁布的《可信计算机系统评估标准》(Computer System Evaluation Criteria,TCSEC)。1991年美国国家计算机安全中心(NCSC)颁布了《可信计算机系统评估标准关于可信数据库系统的解释》(Trusted Datebase Interpreation,TDI),将TCSEC扩展到数据库管理系统。1996年国际标准化组织ISO又颁布了《信息技术安全技术——信息技术安全性评估准则》(Information Technology Security Techniques——Evaluation Criteria For It Secruity)。我国政府于1999年颁布了《计算机信息系统评估准则》。目前国际上广泛采用的是美国标准TCSEC(TDI),在此标准中将数据库安全划分为4大类,由低到高依次为D、C、B、A。其中C级由低到高分为C1和C2,B级由低到高分为B1、B2和B3。每级都包括其下级的所有特性,各级指标如下:

(1)D级标准:为无安全保护的系统

(2)C1级标准:只提供非常初级的自主安全保护。能实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。

(3)C2级标准:提供受控的存取保护,即将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。很多商业产品已得到该级别的认证。

(4)B1级标准:标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制。

一个数据库系统凡符合B1级标准者称之为安全数据库系统或可信数据库系统。

(5)B2级标准:结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC。

(6)B3级标准:安全域。满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。

(7)A级标准:验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证,以确信各安全保护真正实现。

我国的国家标准的基本结构与TCSEC相似。我国标准分为5级,从第1级到第5级依次与TCSEC标准的C级(C1、C2)及B级(B1B2B3)一致。

相关文档
最新文档