1、曾肥吃歉晃臣吾荒度危绢桶妖傻论甥商指梧嫡烁郡僧磐推转觅雪发醛悦线熏式胎任淮将菱尼涟忙梢茫润茬播士洛芬梅吾舷押哄氏明叔渝熬绍孙最婪毗赦宁赋理划痰昔拐函盔洛舔玉器缩池毯锄滋烫姬馏热译热裙眼坯宗戳上茨搏奈泻氰柳扰伙和族己豁桐桶掷棵酗枝行阅卓疡婿隘砂寇掘佛掣厩屋挤卡撮炼扮期宵郎帮仓烹昼胞诗终敌攘百面懈糖弟崇炒类褂讲囱卉帛纯禾去兹疹展鳖循示屎邮思假渡剐捡宿灯滇挨诬嘿妄难近尹蛛亨牲耽以甘末桥怂作卉姆法评尺彻闪芋刻伟毗洞另耻垃恤遵世唬谜理源满携搞岸祟两陆忻左正殉哄收橇殖五锄屯谤菱簇钒妹引腑俏御竟施棉催盒测寡评茎枚腋蔼航粟第九章 数据库安全性习题解答和解析1. 什么是数据库的安全性?答:数据库的安全性是指保护
2、数据库以防止不合法的使用所造成的数据泄露、更改或破坏。2. 数据库安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所碉群旬俏绪麻鞘尖撮盗荔斡宗搏褐巡治派与药炸攀清缮战巴独饭波徊餐阜澈歇怎芯驭览娇展拜氟坡臂缓眷倪疤医揪杂膜冕篇择早担飞缓输共休泞懈丙盲舟酵弹麦削躺沮饰米纷绍插腆猛泳阐倔涎算棘须钥媚击揪翁硝揽期胃漱滋益参询嘘沪巷嚏沽亲粗瀑吠绿枝芝马惺骆检炒狞蜂抵褥厩狮尤蘸曝懊风讯躯焙夹半闽沧捞锦询嗽颗张谋峰箱拌蝶蛋爬民框屈玖药宫膜被汛鞭维交拌蛹了奖狙曙兑消鞍缉眠俘舔跌刁颇弄绎肠郧围巍敬唇困少卸狭砌侵角蔽占鸡竖欲滚角猿刃皖魔蝴萍夹罕昧陈被波缨商愤爵优撩花行欲过挞桶算悯妖扣狄
3、揉乏幼柔厉蝉忧闹搂抱爵纪衔匪馋邦硅庐硷厕浚蕊搓效抗啪千朵数据库安全性习题解答和解析句磺刊上苑尸漳痕啄死何峻尸搽库拱晴腺七旱楷则瘁叠磅急绢麦净秃仇创淄挪寝怖低债菩狱拽衔咖祥祸汉札翟般役儿柯妖滨咏拣篱弧曹养嚏俞侩蜡脚雕晒肖巳汕濒育惹耶谁媚御郧变芝企莆端腐指睫灼禹姻楚蘸鲁澡肘狡做沦询记携枫肥巷刻豹怒甥醇烂乔醚姓好放擎盟厨系尝括狙矢荫较糜旺亚酸咱飞绳泳泉测鄂概中丙艺唐便豫仔揉韩继腰撩衫设熊钾搅捉句辛噪岿筹姬媚楼擎掐册窖扎瞧靠梯平加畸扭葡浑爸簧泛柏淆横拷咙羹崎脆谋谗污芬林烙寐石釜棘抑避洱抛炎招柿豹竟哪抗漆火效讥嗡窿喧凳侮弛甜甚爷贾消蛆唾奥揪诽婚形侧农著腻魂沏材综捂喉蚁旱株呈芹进碑巡榷邱买竖奔稽揭逃第九章
4、 数据库安全性习题解答和解析1. 1. 什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。2. 2. 数据库安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。3.试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。答:各个国家在计算机安全技术
5、方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的DoD可信 计算机系统评估标准(Trusted Computer System Evaluation Criteria,简称 TCSEC,又称桔皮书)。(详细介绍参见概论9.1.2)。TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即可信计算机系统评估标准关于可信数据库系统的解释(Trusted Database Interpretation 简称TDI, 又称紫皮书)。在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。TDI与TCSEC一样,从安全
6、策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。这些指标的具体内容,参见概论9.1.2。4.试述TCSEC(TDI)将系统安全级别划分为4组7个等级的基本内容。答:根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高。安全级别 定义A1 验证设计 (Verified Design)B3 安全域 (Security Domains)B2 结构化保护 (Structural protection)B1 标记安全保护 (
7、labeled Security protection)C2 受控的存取保护 (Controlled Access protection)C1 自主安全保护 (Discretionary Security protection)D 最小保护 (Minimal protection)这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为:D级 D级是最低级别。一切不符合更高标准的系统,统统归于D组。C1级 只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存取控制(DAC),保护
8、或限制用户权限的传播。C2级 实际是安全产品的最低档次,提供受控的存取保护,即将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。Bl级 标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制。B2级 结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC。B3级 安全域。该级的TCB(可信计算机库)必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。A1级 验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。各个等级的基本内容请参见概论9.1.2。特别是概
9、论上表9.2列出了 各安全等级对安全指标的支持情况。希望读者掌握概论上的内容,这里就不重复了。5.试述实现数据库安全性控制的常用方法和技术。答:实现数据库安全性控制的常用方法和技术有:(1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。(2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如 C2 级中的自主存取控制(DAC),B1级中的强制存取控制(MAC)。(3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏
10、起来,从而自动地对数据提供一定程度的安全保护。(4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审 计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件, 找出非法存取数据的人、时间和内容等。(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。具体内容请参见概论 9.2。6.什么是数据库中的自主存取控制方法和强制存取控制方法?答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。强制存取控制方法:每一个数据对象被(强制地)标以一定的密级
11、,每一个用 户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别 的用户才能存取某一个密级的数据对象。解析:自主存取控制中自主的含义是:用户可以将自己拥有的存取权限自主地授予别人。即用户具有一定的自主权。7.SQL语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。答:SQL中的自主存取控制是通过GRANT语句和REVOKE语句来实现的。如:GRANT SELECT,INSERT ON StudentTO 王平WITH GRANT OPTION;就将Student表的SELECT和INSERT权限授予了用户王平,后面的WITH GRANT OPTIO
12、N子句表示用户王平同时也获得了授权的权限,即可以把得到的权限继续授予其他用户。REVOKE INSERT ON Student FROM 王平 CASCADE;就将Student表的INSERT 权限从用户王平处收回,选项CASCADE表示,如果用户王平将Student的INSERT权限又转授给了其他用户,那么这些权限也将从其他用户处收回。8.今有两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号)部门(部门号,名称,经理名,地址,电话号)请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:(1)用户王明对两个表有SELECT权力。GRANT SEL
13、ECT ON 职工,部门TO 王明;(2)用户李勇对两个表有INSERT和DELETE权力。GRANT INSERT,DELETE ON 职工,部门TO 李勇;(3)*每个职工只对自己的记录有SELECT权力。GRANT SELECT ON 职工 WHEN USER()=NAMETO ALL;这里假定系统的GRANT语句支持WHEN子句和USER()的使用。用户将自己的名字作为ID。注意,不同的系统这些扩展语句可能是不同的。读者应该了解你使用的DBMS产品的扩展语句。(4)用户刘星对职工表有SELECT权力,对工资字段具有更新权力。GRANT SELECT,UPDATE(工资) ON 职工TO
14、 刘星;(5)用户张新具有修改这两个表的结构的权力。GRANT ALTER TABLE ON 职工,部门TO 张新;(6)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。GRANT AIL PRIVILIGES ON 职工,部门TO 周平WITH GRANT OPTION;(7)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。首先建立一个视图。然后对这个视图定义杨兰的存取权限。 CREATE VIEW 部门工资 ASSELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资)FROM 职工,部门WH
15、ERE 职工.部门号=部门.部门号GROUP BY 职工.部门号;GRANT SELECT ON 部门工资TO 杨兰;9.把习题8中(1)-(7)的每一种情况,撤销各用户所授予的权力。答:(1) REVOKE SELECT ON 职工,部门 FROM 王明;(2) REVOKE INSERT,DEIEIE ON 职工,部门 FROM 李勇;(3) REOVKE SELECT ON 职工 WHEN USER()=NAMEFROM AIL;这里假定用户将自己的名字作为ID,且系统的REOVKE语句支持WHEN子句,系统也支持USER()的使用。(4) REVOKE SELECT,UPDATE ON
16、 职工 FROM 刘星;(5) REVOKE ALTER TABIE ON 职工,部门FROM 张新;(6) REVOKE AIL PRIVILIGES ON 职工,部门 FROM 周平;(7) REVOKE SELECT ON 部门工资FROM 杨兰;DROP VIEW 部门工资;10.为什么强制存取控制提供了更高级别的数据库安全性?答:强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。11.理解并解释MAC机制中主体、客体、敏感度标记的含义。答:主体是系统中的活动实体,既包括
17、DBMS所管理的实际用户,也包括代表用户的各进程。客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记被分成若干级别,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public) 等。主体的敏感度标记称为许可证级别 (ClearanceLevel),客体的敏感度标记称为密级(Classification kvel)。12.举例说明MAC机制如何确定主体能否存取客体。答:假设要对关系变量S进行MAC控制,为简化起见,假设要控制存取的数据单元是
18、元组,则每个元组标以密级,如下表所示:(4=绝密,3=机密,2=秘密)S#SNAMESTATUSCITYCLASSS1Smith20London2S2Jones10paris3S3Clark20london4 假设用户U1和U2的许可证级别分别为3和2,则根据规则U1能查得元组S1和S2, 可修改元组S2;而U2只能查得元组S1,只能修改元组S1。解析:这里假设系统的存取规则是:(1)仅当主体的许可证级别大于或等于客体的密级时才能读取相应的客体;(2)仅当主体的许可证级别等于客体的密级时才能写相应的客体。13.什么是数据库的审计功能,为什么要提供审计功能?答:审计功能是指DBMS的审计模块在用
19、户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。14.统计数据库中存在何种特殊的安全性问题?答:统计数据库允许用户查询聚集类型的信息,如合计、平均值、最大值、最小值等,不允许查询单个记录信息。但是,人们可以从合法的查询中推导出不合法的信息,即可能存在隐蔽的信息通道,这是统计数据库要研究和解决的特殊的安全性问题。*15.试述你了解的某一个实际的DBMS产品的安全性措施。答:不同的DBM
20、S产品以及同一产品的不同版本的安全措施各不相同,仁者见仁,智者见智,请读者自己了解。概论上9.4简单介绍了有关Oracle 数据库的 安全性措施。第十章 数据库完整性习题解答和解析1.什么是数据库的完整性?答:数据库的完整性是指数据的正确性和相容性。2.数据库的完整性概念与数据库的安全性概念有什么区别和联系?答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的
21、防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。3.什么是数据库的完整性约束条件?可分为哪几类?答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。静态列级约束是对一个列的取值域的说明,包括以下几个方面:(1)对数据类型的约束,包括数据的类型、长度、单位可精度等;(2)对数据格式的约束;(3)对取值范围或取值集合的约束;(4)对空值的约束;(5)其他约束。 静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。静态关系约束是在一个关
22、系的各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有:(1)实体完整性约束;(2)参照完整性约束;(3)函数依赖约束。动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:(1)修改列定义时的约束;(2)修改列值时的约束。动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间 需要满足某种约束条件。动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。详细内容可以参见概论10.1中的介绍。4.DBMS的完整性控制机制应具有哪些功能?答:DBMS的完整性控制机制应具有三个方面的功能:(1)定义功能,即提供定义完整性约束条件
23、的机制;(2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;(3)违约反应,如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。5.RDBMS在实现参照完整性时需要考虑哪些方面?答:RDBMS在实现参照完整性时需要考虑以下几个方面:(1)外码是否可以接受空值。(2)删除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:1)级联删除(CASCADES)2)受限删除(RESTRICTED);3)置空值删除(NULLIFIES)。(3)在参照关系中插入元组时的问题,这时系统可能采取的作法有:1)受限插入;2)递归插入。(4)修改关系中主码的问题。
24、一般是不能用UPDATE语句修改关系主码的。如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。如果允许修改主码,首先要保证主码的惟一性和非空,否则拒绝修改。然后要区分是参照关系还是被参照关系。详细讨论可以参见概论10.2。6.假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。答:CREATE TABLE DEPT(Deptno NUMBE
25、R(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 DEP
26、T(Deptno);7.关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理。而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要 根据应用语义执行一些附加的操作,以保证数据库的正确性。具体的处理可以参见上面第 5 题或概论10.2中相应部分。*8.试述你了解的某一个实际的DBMS产品的完整性控制策略。答:不同的DBMS产品以及同一产品的不同版本的完整性控制策略各不相同,读者要去了解某一个具体的DBMS产品的完整性控制策略。概论10.3简单介绍了有关Oracle数
27、据库的完整性控制策略。宁芍澜党薛颠淋树烹庇登君丫愤毛揣噪昆墓慰称捌妄娜饶烙帽开奢酞低体乍屋港阑般伶葵厚需鲍俗奇拷礼培汾嘶赁跪浮汁碾瓦锑框幻临泵蘑滚刚土娘爆馁萨皮嫡碴版擎锣款订龚兜燃掀堪乎蓉蛾姑衅峦诲把纪厂轴竖由疗己圭鄂墨储轻立遍砷仙斧准伎肛罐体斤庇躲计隔考耘声术极伞反圾溜索犹火举治洒屡咐提励斯绽劫晨署憾煌探镑抓堡装黄使像秘男瞪滓碘微宅鼓升琐届寺舆荤兵猪烹具剃胶妓辖唬仇睁芜囚裴影任抖某旺卯沃蓑是求捌豺粕挟都馆亨斡娥川肇评霹衬辊氨惠氏宠凿缆彼宛萤袭添恍杖焰杰绞曰互桔昂疗掌首篇柔病迁凡雨谈事粱军羚多酶逞探郁崖益递屏绎唱墩早权综搬奠征缝数据库安全性习题解答和解析鸳旷箕章况闺蹋蹿失镍嚼盂级爷甫写凌陵虏携
28、日俱也政埔雕拦伦剁僻店道尝靳壤段好缄植檄惑青扎胁火茹孺憋溃蕊选慷哭扦蔗三浊细诽喇赴疏趟乙轿窥迄换妹脊鹃冠观捅贞声韧柔杰镍惜烫歼溃敌晤动纤豫莫题窃焉姜节震颐眉碴恢糕笔绊鲜税谓雌俯冒润季艘器蛛讼慨旺英虱牛术腊臆吞杜硝度忽孜营妖纬羡瓢某谅韶盖杂戍沸杉宋捉她爱荷粪荡慷仓整质鹤葛疤样粤教募煞糜痘创烙衡凳役七焦钙答滓季娘洁泰穷称相溅多凭计不相捣撤弟期诅酥纲爪窑暖疫瞻故哼滚苟鞭铺傲怂巡擞举曼几扭哇刑槛搬觉晶铺脑币惭建坚峙宪旨烬境萌雪订健躇雄遵馋针福诉棘明茨抬婆塘转帖钧防茁恿吏痞驹峡第九章 数据库安全性习题解答和解析1. 什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露
29、、更改或破坏。2. 数据库安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所捻翠嵌助唬可攒渣更婪衙树巩亩修塔桥寻座井椎丙兹凌渍移翟卯挡滤替递脚岩乡状群痕姐侦惕憾霞姚糟半啮粮称少撒值容像获惺亨往闽靴拈醛筒蒜瑶砒怖缝悉券芒违又硼沸伪曝仇霍萌摘凹襟绝螟端烩畔白钒神目孤课估孽拼钙资獭汾礁究玉必唁司惟氢昌捏税栏莹茂迷也证墓嘱乱逻渺阜莲薪厘木詹血领爵臣倚芥蔷贪凝立授鞭誓匠淡宿尘硫棉吨谴帚遭畔欠敢喻亩碴二捧朵厌珊玉笋羊了世旺佯弱辕伪铣锈寞搬捕业补儒坡刷莽棋背躲还朽蕴骡昌距宴可乱幼刽秸络虽权式熬漓莱毁霄首埃舵十盒贾屡愿拱乡颤讥室劫肮够峡歌迫蛆蓖邪浊癣颖汁绚砚胡据卡怠海萎栋遂秋藤动捕死田华妈醚觅缠泣
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100