王珊《数据库系统概论》(第4版)配套题库【名校考研真题+课后习题+章节题库+模拟试题】
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第4章 数据库安全性

1什么是数据库的安全性?

答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

2数据库安全性和计算机系统的安全性有什么关系?

答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏;计算机系统的安全性包括操作系统、网络系统的安全性。数据库的安全性和计算机系统的安全性是紧密联系、相互支持的。

3试述信息安全标准的发展历史,试述TDI/TCSEC和CC V2.1标准的基本内容。

答:信息安全标准的发展历史如下:

TCSEC是指1985年美国国防部正式颁布的《可信计算机系统评估准则》(简称TCSEC)。

在TCSEC推出后的十年里,不同国家都开始开发建立在TCSEC概念上的评估准则,如欧洲的信息技术安全评估准则(ITSEC)、加拿大的可信计算机产品评估准则(CTCPEC)、美国的信息技术安全联邦标准(FC)草案等。

CTCPEC、FC、TCSEC和ITSEC的发起组织于1993年起开始联合行动,解决原标准中概念和技术上的差异,将各自独立的准则集合成一组单一的、能被广泛使用的IT安全准则,这一行动被称为CC项目。CC V2.1版于1999年被ISO采用为国际标准,2001年被我国采用为国家标准。目前CC已经基本取代了TCSEC,成为评估信息产品安全性的主要标准。

1991年4月美国NCSC颁布了《可信计算机系统评估准则关于可信数据库系统的解释》(简称TDI),将TCSEC扩展到数据库管理系统。TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。

TDI/TCSEC从四个方面来描述安全性级别划分的指标:安全策略、责任、保证和文档。每个方面又细分为若干项。根据计算机系统对各项指标的支持情况,TDI/TCSEC将系统划分为四组七个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高。

CC提出了目前国际上公认的表述信息技术安全性的结构,即把对信息产品的安全要求分为安全功能要求和安全保证要求。安全功能要求用以规范产品和系统的安全行为,安全保证要求解决如何正确有效地实施这些功能。安全功能要求和安全保证要求都以“类-子类-组件”的结构表述,组件是安全要求的最小构件块。

4试述CC评估保证级划分的基本内容。

答:评估保证级是在CC第三部分中预先定义的由保证组件组成的保证包,每一保证包描述了一组特定的保证要求,对应着一种评估保证级别。

从EAL1至EAL7共分为七级,按保证程度逐渐增高,如表4-1所示。

表4-1 CC评估保证级划分

5试述实现数据库安全性控制的常用方法和技术。

答:实现数据库安全性控制的常用方法和技术有:

(1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。

(2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。

(3)视图机制:为不同的用户定义不同的视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。

(4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

6什么是数据库中的自主存取控制方法和强制存取控制方法?

答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限,防止不合法用户对数据库的存取。

强制存取控制方法:每一个数据对象被强制地标以一定的密级,每一个用户也被强制地授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。

7SQL中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。

答:SQL中的自主存取控制是通过GRANT语句和REVOKE语句来实现的。如:

GRANT SELECT,INSERT ON Student TO 王平 WITH GRANT OPTION;

就是将Student表的SELECT和INSERT权限授予用户王平,后面的“WITH GRANT OPTION”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用户。

REVOKE INSERT ON Student FROM 王平 CASCADE;

就是将Student表的INSERT权限从用户王平处收回,选项CASCADE表示,如果用户王平将Student的INSERT权限又转授给了其他用户,那么这些权限也将从其他用户处收回。

8现有两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号)

部门(部门号,名称,经理名,地址,电话号)

请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能。

(1)用户王明对两个表有SELECT权力;

(2)用户李勇对两个表有INSERT和DELETE权力;

(3)每个职工只对自己的记录有SELECT权力;

(4)用户刘星对职工表有SELECT权力,对工资字段具有更新权力;

(5)用户张新具有修改这两个表的结构的权力;

(6)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力;

(7)用户杨兰具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权力,他不能查看每人的工资。

答:(1)用户王明对两个表有SELECT权力的语句为:

GRANT SELECT ON 职工,部门 TO 王明;

(2)用户李勇对两个表有INSERT和DELETE权力的语句为:

GRANT INSERT,DELETE ON 职工,部门 TO 李勇;

(3)每个职工只对自己的记录有SELECT权力的语句为:

GRANT SELECT ON 职工 WHEN USER()=NAME TO ALL;

(4)用户刘星对职工表有SELECT权力,对工资字段具有更新权力的语句为:

GRANT SELECT,UPDATE(工资)ON 职工 TO 刘星;

(5)用户张新具有修改这两个表的结构的权力的语句为:

GRANT ALTER TABLE ON 职工,部门 TO 张新;

(6)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力的语句为:

GRANT ALL PRIVILIGES ON 职工,部门 TO 周平 WITH GRANT OPTION;

(7)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资的语句为:

CREATE VIEW 部门工资 AS SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门 WHERE 职工.部门号=部门.部门号 GROUP BY 职工.部门号 GRANT SELECT ON 部门工资 TO 杨兰;

9把习题8中(1)~(7)的每一种情况,撤销各用户所授予的权力。

答:(1)撤销用户王明对两个表有SELECT权力的语句为:

REVOKE SELECT ON 职工,部门 FROM 王明;

(2)撤销用户李勇对两个表有INSERT和DELETE权力的语句为:

REVOKE INSERT,DELETE ON 职工,部门 FROM 李勇;

(3)撤销每个职工只对自己的记录有SELECT权力的语句为:

REOVKE SELECT ON 职工 WHEN(USER)=NAME FROM ALL;

(4)撤销用户刘星对职工表有SELECT权力,对工资字段具有更新权力的语句为:

REVOKE SELECT,UPDATE ON 职工 FROM 刘星;

(5)撤销用户张新具有修改这两个表的结构的权力的语句为:

REVOKE ALTER TABLE ON 职工,部门 FROM 张新;

(6)撤销用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力的语句为:

REVOKE ALL PRIVILIGES ON 职工,部门 FROM 周平;

(7)撤销用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资的语句为:

REVOKE SELECT ON 部门工资 FROM 杨兰;

DROP VIEW 部门工资;

10为什么强制存取控制提供了更高级别的数据库安全性?

答:强制存取控制是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。

11理解并解释MAC机制中主体、客体、敏感度标记的含义。

答:主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。

客体是系统中的被动实体,受主体操纵,包括文件、基表、索引、视图等。

对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。

敏感度标记被分成若干级别,例如绝密、机密、可信、公开等。主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级。

13什么是数据库的审计功能,为什么要提供审计功能?

答:审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。审计通常是很费时间和空间的,所以DBMS往往都将其作为可选特征,允许DBA根据应用对安全性的要求,灵活地打开或关闭审计功能。审计功能一般主要用于安全性要求较高的部门。

提供审计功能的原因:任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

14统计数据库中存在何种特殊的安全性问题?

答:统计数据库允许用户查询聚集类型的信息,如合计、平均值、最大值、最小值等,不允许查询单个记录信息。但是,人们可以从合法的查询中推导出不合法的信息,即可能存在隐蔽的信息通道,这是统计数据库要研究和解决的特殊的安全性问题。