《数据库系统安全》复习题-S_第1页
《数据库系统安全》复习题-S_第2页
《数据库系统安全》复习题-S_第3页
《数据库系统安全》复习题-S_第4页
《数据库系统安全》复习题-S_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、问答题1 .试简要说明数据库系统安全需求与操作系统安全需求的异同点?数据库安全需求一一与OS的不同(1)保护粒度:OS:文件级数据库:细粒度基于文件内容(2)数据相关:相关数据少有复杂关联的数据(3)数据生命周期和访问频率(4)数据字典的管理(5)逻辑对象和物理对象(6)数据类型的丰富程度2.在一个实现了强制访问控制功能的,满足国标三级要求的数据库管理系统中,不再存在从高安全级到低安全级的非法信息流动,这一说法是否正确?为什么?安全等级定义A1验证设计(Verified Design)B3女全域(Security Domains)B2结构化保护(Structural Protection)

2、B1标t己保护(Labeled Security Protection)C2受控的存取保护(Controlled Access Protection)C1自王女全保护(Discretionary Security Protection)D最小保护(Minimal Protection)D级:最低保护D级不需要安全特性。C1级:自主安全保护。能够实现对用户和数据的分离,具备自主访问控制,保护或限制用户传播权限的能力。C2级:受控访问保护.自主访问控制的粒度更细;.审计踪迹能够追踪到每个用户对每个对象的访问1)安全策略自主访问控制、客体重用2)责任标识与鉴别、审计3)保证操作性保证、生命周期保证4

3、)文档安全特性用户指南、可信设施手册、测试文档B级:强制保护:定义并保持敏感度标记的完整性,实施基于标记的强制访问控制B1级:标记安全保护。1)安全策略自主访问控制、客体重用、标记、强制访问控制2)责任标识与鉴别、审计在 C2级的基础上有所增强3)保证操作性保证、生命周期保证4)文档安全特性文档、可信设施手册、测试文档、设计文档B2级:结构化保护级和B1级的区别:(1)形式化的安全模型并对系统内所有的主体和客体实施MAC和DAC(2)存储隐通道分析B3级:安全域安全功能必须足够小系统审计设施能够识别何时将发生入侵设计与实现的一致性验证3.在采用库外加密机制的数据库应用系统中,数据库管理系统的哪

4、些功能会受到限制? 优点:.加解密由客户端或专门的加密服务器实现,减轻了数据库服务器与DBMS的运行负担.可以将加密密钥与所加密的数据分开保存,提高了安全性.由客户端与服务器的配合,可以实现端到端的网上密文传输加解密运算在客户端进行,不影响 DBMS的负载缺点:.加密后数据库功能受到限制DBMS要完成对数据库文件的管理和使用,必须具有能够识别部分数据的条件。因此,只能对数据库中数据进行部分加 密。以下几种字段不能加密:(1)索引字段不能加密为了达到提高查询速度的目的,数据库常建立一些索引,如 B树索引、HASH索引等,他们的建立和应用 必须是明文状态,否则将失去索引的作用。(2)关系运算的比较

5、字段不能加密查询往往需要 DBMS进行筛选,条件”选择项必须是明文,否则 DBMS无法进行比较筛选。(3)表间的联接字段不能加密数据库表之间存在着密切联系,”外键”是其中一种,外键加密就无法进行表与表之间的连接运算。库内加密模式库外加密模式加解密执行者DBMS专门的密码服务器或客户端对数据库应用是否透明是否服务器端性能影响服务器运行负担大基本无影响密钥管理库内存储,风险大专门保护,风险小是否影响DBMS功能完全不影响影响索引等部分功能密码服务能力提供的算法等密码服务能力受DBMS限制可以灵活地变更,提供多种密他服 务4.有人说,“目前,国外卖给中国的数据库管理系统都是C2级的,其中存在许多隐通

6、道”,请你谈谈对这一观点的看法?不对,因为隐通道只在实现了强制访问控制的系统中实现,C2级是自主访问控制二、解答题1 .在根据数据库系统的特点,采用了改进的BLP模型的强制访问控制的数据库管理系统中,标记粒度是元组。这个系统中建有表emp,其中的数据及其安全级如下所示,其中 name, empid, Salary, dept分别保存员工姓名,员工编号,员工工资,员 工所在部门,TC是元组安全级,并且普通 秘密机密绝密。nameempidSalarydeptTC李明12000开发部普通王晓莉23000设计部机密张平31000管理部机密江平105000设计部秘密陈坚52000测试部绝密回答下列问题

7、:(1)现有一秘密级别的用户进入系统,他能够看到的数据是哪些?为什么?(2)另有一机密级别的用户发出更新语句:UPDATE emp set salary = 4000;写出执行这条语句后,数据库中所有的数据?同级写,只影响相同安全级的2 .在一个采用了 Jajodia-Sandhu模型的多级安全数据库系统中,假设只有四个安全级:U(普通)C(秘密)S(机密)TS(绝密),现有一多级关系一一火箭发射表,其中发射名表示发射的卫星名或者飞船名,并且已知Rts的结果为:火箭发射表(主关键字为:发射名)发射名任务发射目的地兀组安全级飞船1号U科技探测U地球UU卫星AC搜集情报C火星CC飞船1号U科技探测

8、U轨道ASS飞船1号U科技探测U太阳系TSTS求Rs=?前三组(2)若U用户发出删除语句:DELETE FROM 火箭发射表 WHERE 发射名 =飞船1号'则RTS= ?只剩第二组3 .下面给出了一个具备强制访问控制标记粒度是元组的数据库管理系统中,利用引用完整性约束,实现利用隐通道的信息传递的例子。如下例所示,当一个安全级是普通的数据库用户,删除员工基本信息表中姓名是“陈晓”的员工时,系统报错,从而该用户猜测到员工工资表中有一条安全级是秘密的元组存在。试设计利用这一隐通道进行信息传递的编码模式,设计利用基于主关键字 的存储隐通道的同步模式,构造隐通道的使用场景。引用完整性的例子:员

9、工基本信息表(主关键字:员工编号)员工编号姓名学历家庭住址安全级牛得草本科.普通张平大专.:普通陈晓研究生.普通员工工资表(外键:员工编号,引用员工基本信息表的员工编号)员工编号工资安全级3000普通5000秘密三、分析题1 .设有一用户,打算对下面的学生成绩表(表1)加密后存储在一关系数据库中,采用下面的方法:(1)用DES加密算法将整个元组加密;(2)为了还能够对加密后的成绩进行查询,他将学生的成绩按照数据范围进行了划分,并给每个范围一个对应的数据(表2所示),并将表2保存在自己的机器中;(3)将加密后的学生成绩表 3,将表3存放在数据库服务器中(假设数据库服务器不在用户自己的机器上 );

10、回答下面的问题:(1)若已知王琛的成绩是 66,要在这个数据库服务器中删除学生王琛的数据,试写出实现的方法(只写出解决问题的步骤)。两步查询,先粗查询找到需要解密的范围,再解密数据以后进行精查询(2)当攻击者已知加密方法时(但是不知表2的具体数据),试分析这种加密方法是否满足密码学上的消息不可区分性,并举例说明不满足,可以进行统计分析攻击表1:学生成绩表(加密前)表2:成绩范围及其对应关系加密后的元组数据:工资项51 299学生编号姓名课程名班级成绩00001陈实数据库原理计算机03019300002:张苹:数据结构计算机03038700003李凌操作系统计算机03107700004:土琛数据

11、结构计算机031366表3:学生成绩表(加密后)成绩范围数值1, 59)460, 79)980, 89)290, 100)5消息的不可区分性:A给出两个数据库 D1,D2,给B加密,B将密文数据库给 A,让A猜测哪个密文数据库对应哪个明文 数据库,A猜中的概率不比随机猜测好时,称B所用的加密方法满足消息不可区分性。2.设有一数据库应用系统编程人员,编写了一段网络应用程序,用于查询数据库中保存的工资数据。在员工用自己的姓名登录系统后,在输入身份证号后,查询并显示该员工的所有工资。假设该程序使用的后台数据库服务器是ORACLE ,假设员工的工资表为 employee_salary,其中身份证号、月

12、份一起作为主键。employee_salary 表结构列名身份证号姓名部门工资月份数据类型CHAR(20)CHAR(20)CHAR(20)REALINT完成这一功能的Java程序片断如下:Public connection conn()/建立与后台ORACLE数据库的连接TryClass.forName("");con = DriverManager.getConnection("jdbc:microsoft:; databaseName = master", sa”,1234” );Return con;catch(SQLException)Sqle.

13、GetMessage()public boolean search_salary(void) 查询当前登录员工的工资boolean f=true;String id_card, emp_name;id_card=Get_emp_id();/从键盘输入要查询的员工的身份证号String sql="select 姓名,部门,工资,月份 from employee_salary where 身份证号="'+id_card+"'Try_Connection con=conn(); 连接后台 SQL-SERVER 数据库Resultset rs=con.ex

14、ecute(sql); 调用 JDBC 函数,执行 sql 中的 SQL 语句While (re.next()显示输出查询结果catch(SQLException).异常处理.结束处理回答下列问题:(1)试分析这段程序中是否存在安全隐患,若存在,针对该程序举例说明。Sql注入攻击(2)提出改进该程序段的方法。对输入做检查四、在一个数据库应用系统中,由应用系统实现了基于角色的访问控制,支持一个用户可以有多个角色,一个角色可以拥有 多个对象上的权限,但是不支持角色的继承,在这个应用系统中数据库表建表语句如下:CREATE TABLE 用户角色表(角色名CHAR(20),用户名CHAR(20),PRIMARY KEY (用户名,角色名);CREATE TABLE 角色权限表(角色名 CHAR(20) NOT NULL,对象名 CHAR(20) NOT NULL,对象所在*II式名 CHAR(20),对象类型INT NOT NULL,为。时,表对象,为 1时表示视图;权限 INT NOT NULL );角色在对象上所拥有的权限 权限说明:1为查询权限,2为插入权限,4为修改权限,8为删除权限,因此若在一个对象上既有查询权限又有修改权限, 则权限的取值为5。试设计一用户权限检查算法,算法输入为对象名和用户名,要求写出算法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论