还剩5页未读,继续阅读
文本内容:
一、问答题
1.试简要说明数据库系统安全需求与操作系统安全需求的异同点?数据库安全需求——与OS的不同
(1)保护粒度:OS:文件级数据库:细粒度基于文件内容2数据相关:相关数据少有复杂关联的数据3数据生命周期和访问频率4数据字典的管理5逻辑对象和物理对象6数据类型的丰富程度
2.在一个实现了强制访问控制功能的,满足国标三级要求的数据库管理系统中,不再存在从高安全级到低安全级的非法信息流动,这一说法是否正确?为什么?安全等级定义A1验证设计VerifiedDesignB3安全域SecurityDomainsB2结构化保护StructuralProtectionB1标记安全保护LabeledSecurityProtectionC2受控的存取保护ControlledAccessProtectionC1自主安全保护DiscretionarySecurityProtectionD最小保护MinimalProtectionD级最低保护D级不需要安全特性C1级自主安全保护能够实现对用户和数据的分离,具备自主访问控制,保护或限制用户传播权限的能力C2级受控访问保护.自主访问控制的粒度更细;.审计踪迹能够追踪到每个用户对每个对象的访问1安全策略自主访问控制、客体重用2责任标识与鉴别、审计3保证操作性保证、生命周期保证4文档安全特性用户指南、可信设施手册、测试文档B级强制保护定义并保持敏感度标记的完整性,实施基于标记的强制访问控制B1级标记安全保护1安全策略自主访问控制、客体重用、标记、强制访问控制2责任标识与鉴别、审计在C2级的基础上有所增强3保证操作性保证、生命周期保证4文档安全特性文档、可信设施手册、测试文档、设计文档B2级结构化保护级和B1级的区别1形式化的安全模型并对系统内所有的主体和客体实施MAC和DAC2存储隐通道分析B3级安全域安全功能必须足够小系统审计设施能够识别何时将发生入侵设计与实现的一致性验证
3.在采用库外加密机制的数据库应用系统中,数据库管理系统的哪些功能会受到限制?优点.加解密由客户端或专门的加密服务器实现,减轻了数据库服务器与DBMS的运行负担.可以将加密密钥与所加密的数据分开保存,提高了安全性.由客户端与服务器的配合,可以实现端到端的网上密文传输——加解密运算在客户端进行,不影响DBMS的负载缺点.加密后数据库功能受到限制DBMS要完成对数据库文件的管理和使用,必须具有能够识别部分数据的条件因此,只能对数据库中数据进行部分加密以下几种字段不能加密1索引字段不能加密为了达到提高查询速度的目的,数据库常建立一些索引,如B树索引、HASH索引等,他们的建立和应用必须是明文状态,否则将失去索引的作用2关系运算的比较字段不能加密查询往往需要DBMS进行筛选,“条件”选择项必须是明文,否则DBMS无法进行比较筛选3表间的联接字段不能加密数据库表之间存在着密切联系,”外键”是其中一种,外键加密就无法进行表与表之间的连接运算 库内加密模式库外加密模式加解密执行者DBMS专门的密码服务器或客户端对数据库应用是否透明是否服务器端性能影响服务器运行负担大基本无影响密钥管理库内存储,风险大专门保护,风险小是否影响DBMS功能完全不影响影响索引等部分功能密码服务能力提供的算法等密码服务能力受DBMS限制可以灵活地变更,提供多种密码服务
4.有人说,“目前,国外卖给中国的数据库管理系统都是C2级的,其中存在许多隐通道”,请你谈谈对这一观点的看法?不对,因为隐通道只在实现了强制访问控制的系统中实现,C2级是自主访问控制
二、解答题
1.在根据数据库系统的特点,采用了改进的BLP模型的强制访问控制的数据库管理系统中,标记粒度是元组这个系统中建有表emp,其中的数据及其安全级如下所示,其中name,empid,Salary,dept分别保存员工姓名,员工编号,员工工资,员工所在部门,TC是元组安全级,并且普通秘密机密绝密nameempidSalarydeptTC李明12000开发部普通王晓莉23000设计部机密张平31000管理部机密江平105000设计部秘密陈坚52000测试部绝密回答下列问题:1现有一秘密级别的用户进入系统,他能够看到的数据是哪些?为什么?2另有一机密级别的用户发出更新语句UPDATEempsetsalary=4000;写出执行这条语句后,数据库中所有的数据?同级写,只影响相同安全级的
2.在一个采用了Jajodia-Sandhu模型的多级安全数据库系统中,假设只有四个安全级U普通C秘密S机密TS绝密,现有一多级关系——火箭发射表,其中发射名表示发射的卫星名或者飞船名,并且已知RTS的结果为:火箭发射表主关键字为发射名发射名任务发射目的地元组安全级飞船1号U科技探测U地球UU卫星AC搜集情报C火星CC飞船1号U科技探测U轨道ASS飞船1号U科技探测U太阳系TSTS1求Rs=前三组2若U用户发出删除语句DELETEFROM火箭发射表WHERE发射名=’飞船1号’;则RTS=?只剩第二组
3.下面给出了一个具备强制访问控制标记粒度是元组的数据库管理系统中,利用引用完整性约束,实现利用隐通道的信息传递的例子如下例所示,当一个安全级是普通的数据库用户,删除员工基本信息表中姓名是”陈晓”的员工时,系统报错,从而该用户猜测到员工工资表中有一条安全级是秘密的元组存在试设计利用这一隐通道进行信息传递的编码模式,设计利用基于主关键字的存储隐通道的同步模式,构造隐通道的使用场景引用完整性的例子:员工基本信息表主关键字员工编号员工编号姓名学历家庭住址安全级11111111牛得草本科……..普通11111112张平大专……..普通11111113陈晓研究生……..普通员工工资表外键员工编号,引用员工基本信息表的员工编号员工编号工资安全级111111113000普通111111135000秘密
三、分析题
1.设有一用户,打算对下面的学生成绩表表1加密后存储在一关系数据库中,采用下面的方法:1用DES加密算法将整个元组加密;2为了还能够对加密后的成绩进行查询,他将学生的成绩按照数据范围进行了划分,并给每个范围一个对应的数据表2所示,并将表2保存在自己的机器中;3将加密后的学生成绩表3,将表3存放在数据库服务器中假设数据库服务器不在用户自己的机器上;回答下面的问题:1若已知王琛的成绩是66,要在这个数据库服务器中删除学生王琛的数据,试写出实现的方法只写出解决问题的步骤两步查询,先粗查询找到需要解密的范围,再解密数据以后进行精查询2当攻击者已知加密方法时但是不知表2的具体数据,试分析这种加密方法是否满足密码学上的消息不可区分性,并举例说明不满足,可以进行统计分析攻击表1学生成绩表加密前表2成绩范围及其对应关系学生编号姓名课程名班级成绩成绩范围数值00001陈实数据库原理计算机030193[159400002张苹数据结构计算机030387[60,79900003李凌操作系统计算机031077[8089200004王琛数据结构计算机031366[901005表3学生成绩表加密后加密后的元组数据工资项………5………2………9………9消息的不可区分性:A给出两个数据库D1,D2,给B加密,B将密文数据库给A,让A猜测哪个密文数据库对应哪个明文数据库,A猜中的概率不比随机猜测好时,称B所用的加密方法满足消息不可区分性
2.设有一数据库应用系统编程人员,编写了一段网络应用程序,用于查询数据库中保存的工资数据在员工用自己的姓名登录系统后,在输入身份证号后,查询并显示该员工的所有工资假设该程序使用的后台数据库服务器是ORACLE,假设员工的工资表为employee_salary,其中身份证号、月份一起作为主键employee_salary表结构列名身份证号姓名部门工资月份数据类型CHAR20CHAR20CHAR20REALINT完成这一功能的Java程序片断如下Publicconnectionconn{//建立与后台ORACLE数据库的连接Try{on=DriverManager.getConnectionjdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master“sa”“1234”;Returncon;}catchSQLExceptionSqle.GetMessage}publicbooleansearch_salaryvoid{//查询当前登录员工的工资booleanf=true;Stringid_cardemp_name;id_card=Get_emp_id;//从键盘输入要查询的员工的身份证号Stringsql=select姓名,部门,工资,月份fromemployee_salarywhere身份证号=+id_card+;Try{Connectioncon=conn;//连接后台SQL-SERVER数据库Resultsetrs=con.executesql;//调用JDBC函数,执行sql中的SQL语句Whilere.next{……………..//显示输出查询结果}catchSQLException{……….异常处理}……….//结束处理}回答下列问题1试分析这段程序中是否存在安全隐患,若存在,针对该程序举例说明Sql注入攻击2提出改进该程序段的方法对输入做检查
四、在一个数据库应用系统中,由应用系统实现了基于角色的访问控制,支持一个用户可以有多个角色,一个角色可以拥有多个对象上的权限,但是不支持角色的继承,在这个应用系统中数据库表建表语句如下CREATETABLE用户角色表(角色名CHAR20用户名CHAR20,PRIMARYKEY(用户名,角色名);CREATETABLE角色权限表角色名CHAR20NOTNULL对象名CHAR20NOTNULL对象所在模式名CHAR20对象类型INTNOTNULL——为0时,表对象,为1时表示视图;权限INTNOTNULL));——角色在对象上所拥有的权限权限说明1为查询权限,2为插入权限,4为修改权限,8为删除权限,因此若在一个对象上既有查询权限又有修改权限,则权限的取值为5试设计一用户权限检查算法,算法输入为对象名和用户名,要求写出算法设计的思路,描述算法的工作流程,并给出注释?
五、在一个使用BLP模型的强制访问控制的数据库管理系统中,客体的标记粒度为表,试为该系统设计CREATETABLE、INSERT、UPDATE、DELETE和SELECT语句的功能,要求1指出客体的标记时机和各条语句中强制访问控制的检查时机?2考虑完整性约束,使得设计的语句的操作不会产生隐通道的非法信息流动就跟客体的标记粒度为元组时,利用insert\delete实现隐通道类似。