第九章 数据库安全性


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

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


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

正确答案: 安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,


3. 试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。

正确答案: 各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《 DoD可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria,简称TCSEC,又称桔皮书)。 TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》( Trusted Database Interpretation 简称TDI,又称紫皮书)。在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI与TCSEC一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。


4. 试述TCSEC(TDI)将系统安全级别划分为四组七个等级的基本内容。

正确答案: 根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)七个等级,依次是D;C(C1,C2);B(B1,B2,B3);A(A1),按系统可靠或可信程度逐渐增高。 这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。 各个等级的基本内容为: D级 D级是最低级别。一切不符合更高标准的系统,统统归于D组。 C1级 只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。 C2级 实际是安全产品的最低档次,提供受控的存取保护,即将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。 B1级 标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制。 B2级 结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC。 B3级 安全域。该级的TCB必须满足访问监控器的要求,审计跟踪能力更强,并提 供系统恢复过程。 A1级 验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信 各安全保护真正实现。


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

正确答案: 实现数据库安全性控制的常用方法和技术有: 1) 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2) 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC); 3) 视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 4) 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5) 数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。


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

正确答案: 自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。 *解析:自主存取控制中自主的含义是:用户可以将自己拥有的存取权限“自主”地授予别人。即用户具有一定的“自主”权。


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

正确答案: 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. 为什么强制存取控制提供了更高级别的数据库安全性?

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


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

正确答案: 主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。 客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。 对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记被分成若干级别,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public)等。主体的敏感度标记称为许可证级别(Clearance Level),客体的敏感度标记称为密级(Classification Level)。


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

正确答案: 审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。 因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。


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

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


12. 数据库的安全性是指保护数据库以防止不合法的使用所造成的_______、_______或______。

正确答案: 数据泄漏 更改 破坏


13. 计算机系统有三类安全性问题,即________ 、_________和 ________。

正确答案: 技术安全类 管理安全类 政策法律类


14. 用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有通过输入________和 ________来鉴别用户。

正确答案: 用户名 口令


15.________ 和 ________ 一起组成了DBMS的安全子系统。

正确答案: 用户权限定义 合法权检查机制


16. 当前大型的DBMS一般都支持________ ,有些DBMS同时还支持________ 。

正确答案: 自主存取控制(DAC) 强制存取控制(MAC)


17. 用户权限是由两个要素组成的:________ 和 ________ 。

正确答案: 数据对象 操作类型


18. 在数据库系统中,定义存取权限称为________ 。SQL语言用________语句向用户授予对数据的操作权限,用________语句收回授予的权限。

正确答案: 授权 GRANT REVOKE


19. 对数据库模式的授权由DBA在________ 时实现。

正确答案: 创建用户


20. 一个DBA用户可以拥有________ 、________ 和________ 权限,一个RESOURCE用户可以拥有________权限。

正确答案: CREATE USER CREATE SCHEMA CREATE TABLE CREATE TABLE


21. 数据库角色是被命名的一组与________ 相关的权限,角色是________的集合。

正确答案: 数据库操作 权限


22. 通过________ 可以把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。

正确答案: 视图机制


23. 审计一般可以分为________ 审计和 ________审计。

正确答案: 用户级 系统级