数据库安全性习题解答和解析

上传人:缘*** 文档编号:106253318 上传时间:2022-06-13 格式:DOCX 页数:7 大小:37.34KB
返回 下载 相关 举报
数据库安全性习题解答和解析_第1页
第1页 / 共7页
数据库安全性习题解答和解析_第2页
第2页 / 共7页
数据库安全性习题解答和解析_第3页
第3页 / 共7页
点击查看更多>>
资源描述
第九章数据库安全性习题解答和解析1. 1.什么是数据库的安全性答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。2. 2.数据库安全性和计算机系统的安全性有什么关系答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。3. 试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。答:各个国家在计算机安全技术方面都建立了 一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的DoD可信 计算机系统评估标准 (Trusted Computer System Evaluation Criteria, 简称 TCSEC,又称桔皮书)。(详细介绍参 见概论。TDI/TCSEC标准是将TCSECT展到数据库管理系统,即可信计算机系统评估标准关于 可信数据库系统的解释(Trusted Database Interpretation 简称TDI,又称紫皮书)。在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。TDI与TCSECH样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的 指标。每个方面又细分为若干项。这些指标的具体内容,参见概论。4. 试述TCSEC(TDI)将系统安全级别划分为4组7个等级的基本内容。答:根据计算机系统对安全T各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division个等级,依次是D C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐安全级别A1B3B2B1C2C1D渐增高。验证设计(Verified Design) 安全域(Security Domains) 结构化保护(Structural protection)标记安全保护 (labeled Security protection)受控的存取保护 (Controlled Access protection) 自主安全保护 (Discretionary Security protection) 最小保护(Minimal protection)这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为:D级D级是最低级别。一切不符合更高标准的系统,统统归于D组。C1级 只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存 取控制(DAC),保护或限制用户权限的传播。C2级实际是安全产品的最低档次,提供受控的存取保护,即将C1级的DACS一步细化, 以个人身份注册负责, 并实施审计和资源隔离。Bl 级 标记安全保护。对系统的数据加以标记, 并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制。B2级 结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和 MAC。B3级安全域。该级的TCB(可信计算机库)必须满足访问监控器的要求,审计跟踪能力 更强 , 并提供系统恢复过程。A1级 验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。各个等级的基本内容请参见概论。特别是概论上表列出了 各安全等级对安全指标的支持情况。希望读者掌握概论上的内容, 这里就不重复了。5. 试述实现数据库安全性控制的常用方法和技术。答:实现数据库安全性控制的常用方法和技术有:(1) 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时, 由系统进行核对 , 通过鉴定后才提供系统的使用权。(2) 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如 C2 级中的自主存取控制 (DAC),B1 级中的强制存取控制 (MAC)。(3) 视图机制: 为不同的用户定义视图 , 通过视图机制把要保密的数据对无权存取的用户隐藏起来 , 从而自动地对数据提供一定程度的安全保护。(4) 审计:建立审计日志, 把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。(5) 数据加密: 对存储和传输的数据进行加密处理, 从而使得不知道解密算法的人无法获知数据的内容。具体内容请参见概论 。6. 什么是数据库中的自主存取控制方法和强制存取控制方法答: 自主存取控制方法: 定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。强制存取控制方法:每一个数据对象被 ( 强制地 ) 标以一定的密级, 每一个用 户也被 (强制地 ) 授予某一个级别的许可证 。 系统规定只有具有某一许可证级别 的用户才能存取某一个 密级的数据对象。解析: 自主存取控制中自主的含义是: 用户可以将自己拥有的存取权限 自主 地授予别人。即用户具有一定的 自主 权。语言中提供了哪些数据控制 ( 自主存取控制 ) 的语句请试举几例说明它们的使用方法。答:SQL中的自主存取控制是通过GRAN曲句和REVOK晤句来实现的。如: GRANTSELECT,INSERT ON StudentTO 王平WITH GRANT OPTION;就将Student表的SELEC甘口 INSERT权限授予了用户王平,后面的WITH GRANTOPTION 子句表示用户王平同时也获得了 授权 的权限,即可以把得到的权限继续授予其他用户。REVOKE INSERT ON Student FROM 王平 CASCADE;就将Student表的INSERT权限从用户王平处收回,选项CASCADE示,如果用户王平将 Student的INSERT权限又转授给了其他用户,那么这些权限也将从其他用户处收回。8 . 今有两个关系模式:职工 (职工号 , 姓名 , 年龄 ,职务 , 工资 , 部门号 )部门 (部门号 , 名称 , 经理名 , 地址 , 电话号 )请用SQL的GRAN而REVOKED句(加上视图机制)完成以下授权定义或存取控制功能:(1)用户王明对两个表有 SELEC锹力。GRANT SELECT ONR工,部门TO 王明 ;(2)用户李勇对两个表有 INSERT和DELETER力。GRANT INSERT,DELETE ONR工,部门TO 李勇 ;(3)*每个职工只对自己的记录有SELEC依力。GRANT SELECT ONR 工WHEN USER()=NAME TO ALL;这里假定系统的 GRAN语句支持 WHE步句和USER()的使用。用户将自己的名字作为 ID。 注意,不同的系统这些扩展语句可能是不同的。读者应该了解你使用的DBMS品的扩展语句。(4)用户刘星对职工表有 SELECT力,对工资字段具有更新权力。GRANT SELECT,UPDAT可资)ON 职工 TO 刘星 ;(5) 用户张新具有修改这两个表的结构的权力。GRANT ALTER TABLE ONR工,部门TO 张新 ;(6) 用户周平具有对两个表所有权力 (读 , 插, 改 , 删数据 ), 并具有给其他用户授权的权 力。GRANT AIL PRIVILIGES ON 职工 , 部门TO 周平WITH GRANT OPTION;(7)用户杨兰具有从每个部门职工中SELECT!高工资、最低工资、平均工资的权力 ,他不能查看每个人的工资。首先建立一个视图。然后对这个视图定义杨兰的存取权限。CREATE VIEWB门工资 ASSELECT部门.名称,MAX(工资),MIN(工资),AVG(工资)FROMIH工,部门WHERE只工部门号二部门.部门号GROUP BYP(工部门号;GRANT SELECT ONFB 门工资 TO 杨兰 ;9 .把习题8中- 的每一种情况,撤销各用户所授予的权力。答:(1) REVOKE SELECT ON 职工,部门 FROME明;(2) REVOKE INSERT,DEIEIE ON 职工,部门 FRO冲勇;(3) REOVKE SELECT ON 职工WHEN USER(尸NAME FROM AIL;这里假定用户将自己的名字作为ID,且系统的REOVK反句支持 WHEN?句,系统也支持USER()的使用。(4) REVOKE SELECT,UPDATE ON 工FROMU星;(5) REVOKE ALTER TABIE ON 职工,部门 FROM长新;(6) REVOKE AIL PRIVILIGES ON 职工,部门 FROM周平;(7) REVOKE SELECT ON 部门工资 FROM兰;DROP VIEWB门工资;10 .为什么强制存取控制提供了更高级别的数据库安全性答:强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是 一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。11 .理解并解释MACM制中主体、客体、敏感度标记的含义。答:主体是系统中的活动实体,既包括DBM薪管理的实际用户,也包括代表用户的各进程。客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记 被分成若干级别,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public) 等。主体的敏感度标记称为许可证级别(Clearance Level),客体的敏感度标记称为密级(Classification kvel) 。12.举例说明MACM制如何确定主体能否存取客体。答:假设要对关系变量 S进彳T MAC!制,为简化起见,假设要控制存取的数据单元是元组 则每个元组标以密级,如下表所示:(4=绝密,3=机密,2=秘密)S#SNAMESTATUSCITYCLASSS1Smith20London2S2Jones10paris3S3Clark20london4假设用户U1和U2的许可证级别分别为3和2,则根据规则U1能查得元组S1和S2,可修改元组S2;而U2只能查得元组 S1,只能修改元组 S1。解析:这里假设系统的存取规则是: (1) 仅当主体的许可证级别大于或等于客体的密级时才能读取相应的客体;(2) 仅当主体的许可证级别等于客体的密级时才能写相应的客体。13. 什么是数据库的审计功能, 为什么要提供审计功能答:审计功能是指 DBMS勺审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。因为任何系统的安全保护措施都不是完美无缺的 , 蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA 可以根据审计跟踪的信息, 重现导致数据库现有状况的一系列事件 , 找出非法存取数据的人、时间和内容等。14. 统计数据库中存在何种特殊的安全性问题答:统计数据库允许用户查询聚集类型的信息, 如合计、平均值、最大值、最小值等,不允许查询单个记录信息 。 但是 , 人们可以从合法的查询中推导出不合法的信息, 即可能存在隐蔽的信息通道, 这是统计数据库要研究和解决的特殊的安全性问题。*15.试述你了解的某一个实际的DBMS品的安全性措施。答:不同的DBMS品以及同一产品的不同版本的安全措施各不相同,仁者见仁,智者见智 , 请读者自己了解。概论上简单介绍了有关Oracle 数据库的 安全性措施。第十章 数据库完整性习题解答和解析1. 什么是数据库的完整性答:数据库的完整性是指数据的正确性和相容性。2. 数据库的完整性概念与数据库的安全性概念有什么区别和联系答:数据的完整性和安全性是两个不同的概念, 但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据, 防止错误信息的输入和输出 , 即所谓垃圾进垃圾出 (GarbageIn Garbage Out) 所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取 。 也就是说 , 安全性措施的防范对象是非法用户和非法操作 , 完整性措施的防范对象是不合语义的数据。3. 什么是数据库的完整性约束条件可分为哪几类答: 完整性约束条件是指数据库中的数据应该满足的语义约束条件。 一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。静态列级约束是对一个列的取值域的说明 , 包括以下几个方面:(1) 对数据类型的约束, 包括数据的类型、长度、单位可精度等;(2) 对数据格式的约束;(3) 对取值范围或取值集合的约束;(4) 对空值的约束;(5) 其他约束。静态元组约束就是规定组成一个元组的各个列之间的约束关系 , 静态元组约束只局限在单个元组上。静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有:(1) 实体完整性约束;(2) 参照完整性约束;(3) 函数依赖约束。动态列级约束是修改列定义或列值时应满足的约束条件, 包括下面两方面: (1) 修改列定义时的约束;(2) 修改列值时的约束。动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间 需要满足某 种约束条件。动态关系约束是加在关系变化前后状态上的限制条件, 例如事务一致性、原子性等约束条件。详细内容可以参见概论中的介绍。的完整性控制机制应具有哪些功能答:DBMS勺完整性控制机制应具有三个方面的功能:(1) 定义功能 , 即提供定义完整性约束条件的机制 ;(2) 检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;(3) 违约反应, 如果发现用户的操作请求使数据违背了完整性约束条件, 则采取一定的动作来保证数据的完整性。在实现参照完整性时需要考虑哪些方面答:RDBMSE实现参照完整性时需要考虑以下几个方面:(1) 外码是否可以接受空值。(2) 删除被参照关系的元组时的考虑, 这时系统可能采取的作法有三种:1) 级联删除(CASCADES)2) 受限删除(RESTRICTED);3) 置空值删除(NULLIFIES) 。(3) 在参照关系中插入元组时的问题 , 这时系统可能采取的作法有:1) 受限插入 ;2) 递归插入。(4)修改关系中主码的问题。一般是不能用 UPDAT的句修改关系主码的。如果需要修改主码值 , 只能先删除该元组 , 然后再把具有新主码值的元组插入到关系中。 如果允许修改主码首先要保证主码的惟一性和非空, 否则拒绝修改。然后要区分是参照关系还是被参照关系。详细讨论可以参见概论。6. 假设有下面两个关系模式:职工(职工号, 姓名, 年龄,职务, 工资 , 部门号), 其中职工号为主码;部门(部门号, 名称, 经理名 , 电话 ), 其中部门号为主码。用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码; 定义参照完整性; 定义职工年龄不得超过 60 岁。答: CREATE TABLE DEPT(Deptno NUMBER(2),Deptname VARCHAR(10),Manager VARCHAR(10),phoneNumber Char(12)CONSTRAINT PK_SC PRIMARY KEY (Deptno);CREATE TABIE EMP(Empno NUMBER(4),Ename VARCHAR(10),Age NUMBER(2),CONSTRAINT Cl CHECK (Age=60),Job VARCHAR(9),Sal NUMBER(7,2),Deptno NUMBER(2),CONSTRAINT FK_DEPINOFOREIGN KEY (Deptno)REFERENCES DEPT(Deptno);7. 关系系统中 , 当操作违反实体完整性、 参照完整性和用户定义的完整性约束条件时, 一般是如何分别进行处理的答 : 对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理。而对于违反参照完整性的操作, 并不都是简单地拒绝执行, 有时要 根据应用语义执行一些附加的操作, 以保证数据库的正确性。具体的处理可以参见上面第5 题或 概论 中相应部分。*8.试述你了解的某一个实际的DBM歹品的完整性控制策略。答:不同的DBMS品以及同一产品的不同版本的完整性控制策略各不相同,读者要去了解某一个具体的 DBMS品的完整性控制策略。概论简单介绍了有关Oracle 数据库的完整性控制策略。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!