




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、问答题1 . 试简要说明数据库系统安全需求与操作系统安全需求的异同点?数据库安全需求与OS的不同(1)保护粒度: OS: 文件级 数据库:细粒度基于文件内容(2) 数据相关: 相关数据少 有复杂关联的数据(3) 数据生命周期和访问频率(4) 数据字典的管理(5) 逻辑对象和物理对象(6) 数据类型的丰富程度2.在一个实现了强制访问控制功能的,满足国标三级要求的数据库管理系统中,不再存在从高安全级到低安全级的非法信息流动,这一说法是否正确?为什么?安全等级定义A1验证设计(Verified Design)B3安全域(Security Domains)B2结构化保护(Structural Protection)B1标记安全保护(Labeled Security Protection)C2受控的存取保护(Controlled Access Protection)C1自主安全保护(Discretionary Security Protection)D最小保护(Minimal Protection) D级:最低保护 D级不需要安全特性。C1级:自主安全保护。 能够实现对用户和数据的分离,具备自主访问控制,保护或限制用户传播权限的能力。C2级:受控访问保护 .自主访问控制的粒度更细; .审计踪迹能够追踪到每个用户对每个对象的访问1)安全策略 自主访问控制、客体重用 2)责任 标识与鉴别、审计 3)保证 操作性保证、生命周期保证 4)文档 安全特性用户指南、可信设施手册、测试文档B级:强制保护:定义并保持敏感度标记的完整性,实施基于标记的强制访问控制B1级:标记安全保护。 1) 安全策略 自主访问控制、客体重用、标记、强制访问控制2) 责任 标识与鉴别、审计在C2级的基础上有所增强3) 保证 操作性保证、生命周期保证 4)文档 安全特性文档 、可信设施手册 、测试文档、设计文档 B2级:结构化保护级 和B1级的区别: (1) 形式化的安全模型并对系统内所有的主体和客体实施MAC和DAC (2) 存储隐通道分析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) 另有一机密级别的用户发出更新语句:UPDATE emp set salary = 4000;写出执行这条语句后,数据库中所有的数据?同级写,只影响相同安全级的2. 在一个采用了Jajodia-Sandhu模型的多级安全数据库系统中,假设只有四个安全级:U(普通)C(秘密)S(机密)TS(绝密),现有一多级关系火箭发射表,其中发射名表示发射的卫星名或者飞船名,并且已知RTS的结果为:火箭发射表(主关键字为:发射名)发射名任务 发射目的地元组安全级飞船1号 U科技探测 U地球 UU卫星A C搜集情报 C火星 CC飞船 1号 U科技探测 U轨道A SS飞船1号 U科技探测 U太阳系 TSTS(1) 求Rs=?前三组(2) 若U用户发出删除语句: DELETE FROM 火箭发射表 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陈实数据库原理计算机0301931, 59)400002张苹数据结构计算机03038760,79)900003李凌操作系统计算机03107780, 89)200004王琛数据结构计算机03136690, 100)5表3:学生成绩表(加密后)加密后的元组数据工资项5299消息的不可区分性: A 给出两个数据库D1,D2,给B加密,B将密文数据库给A,让A猜测哪个密文数据库对应哪个明文数据库,A猜中的概率不比随机猜测好时,称B所用的加密方法满足消息不可区分性。2. 设有一数据库应用系统编程人员,编写了一段网络应用程序,用于查询数据库中保存的工资数据。在员工用自己的姓名登录系统后,在输入身份证号后,查询并显示该员工的所有工资。假设该程序使用的后台数据库服务器是ORACLE,假设员工的工资表为 employee_salary,其中身份证号、月份一起作为主键。employee_salary表结构 列名身份证号姓名部门工资月份数据类型CHAR(20)CHAR(20)CHAR(20)REALINT完成这一功能的Java程序片断如下:Public connection conn() /建立与后台ORACLE数据库的连接TryClass.forName( com.microsoft.jdbc.sqlserver.SQLServerDriver );con = DriverManager.getConnection(jdbc:microsoft:sqlserver:/MyDbComputerNameOrIP:1433; databaseName = master, “sa”, “1234” );Return con;catch(SQLException) Sqle.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.execute(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, 对象所在模式名 CHAR(20), 对象类型 INT NOT NULL, 为0时,表对象,为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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 针灸学治疗考试试题及答案
- 沿海三副考试试题及答案
- 航海操作考试题及答案
- 2025年甘肃省委宣传部直属事业单位选聘考试试题(含答案)
- 2024年中西医结合临床执业医师卫生资格定期考核题库(附含答案)
- 北京消防培训知识课件
- 护理查房复习试题及答案
- 传染病及突发公共卫生事件培训测试题(附答案)
- 2025年中小学“学宪法、讲宪法”知识竞赛题库及参考答案
- 2025低压电工资格考试题(含答案)
- DB14∕T 1822-2019 旅游景区安全评估规范
- 矿山安全生产法律法规
- GB/T 44670-2024殡仪馆职工安全防护通用要求
- THXCY 001-2024 草种质资源调查与收集技术规程
- 2024连续油管技术规范
- 2024版专升本宣讲课件完整版
- 双向情感障碍患者个案护理查房
- 知识题库-人社劳动知识竞赛测试题及答案(十二)
- GB/T 25849-2024移动式升降工作平台设计、计算、安全要求和试验方法
- 人工智能在机械设计中的应用
- 银行新员工入职培训课件
评论
0/150
提交评论