数据库安全性练习题和答案
数据库安全测试题及答案

数据库安全测试题及答案一、选择题1. 数据库安全中,以下哪项措施不是用于防止SQL注入攻击的?A. 使用参数化查询B. 存储过程C. 增加数据库访问权限D. 限制数据库用户权限答案:C2. 以下哪项是数据库备份的最佳实践?A. 定期备份B. 仅在需要时备份C. 从不备份D. 仅备份数据库的特定部分答案:A3. 在数据库安全中,加密数据的目的是什么?A. 提高查询速度B. 保护数据不被未授权访问C. 减少存储空间D. 增加数据库的复杂性答案:B二、填空题4. 数据库防火墙的主要作用是_________。
答案:防止未授权访问和SQL注入等攻击5. 数据库审计日志应该记录_________。
答案:所有关键操作和访问活动三、简答题6. 简述数据库访问控制的基本原则。
答案:数据库访问控制的基本原则包括最小权限原则、职责分离原则、数据分类原则和审计跟踪原则。
最小权限原则要求用户只能访问完成工作所必需的资源;职责分离原则确保关键任务由多人完成,以避免单一个体滥用权限;数据分类原则根据数据的敏感性进行分类,以确定不同级别的访问控制;审计跟踪原则要求记录所有访问和操作,以便于事后审计和分析。
7. 什么是数据库的三权分立?答案:数据库的三权分立是指将数据库管理的权限分为三个部分:数据所有者(Owner)、数据管理员(Administrator)和数据使用者(User)。
数据所有者拥有数据库的最高权限,负责数据库的创建和维护;数据管理员负责数据库的日常管理,如备份、恢复和性能优化;数据使用者则是普通用户,他们只能进行查询和更新操作,不能修改数据库结构。
四、论述题8. 论述数据库加密技术在保护数据安全方面的作用和局限性。
答案:数据库加密技术通过将存储在数据库中的数据转换成不可读的格式来保护数据不被未授权访问。
它的作用主要体现在以下几个方面:首先,即使数据被泄露,加密也能确保数据内容不被理解;其次,它有助于满足合规性和数据保护法规的要求;最后,加密可以防止内部威胁,即使有内部人员访问数据库,也无法获取敏感信息。
数据库考试答案

第四章习题习题1.什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
2.数据库的安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。
只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。
5.试述实现数据库安全性控制的常用方法和技术。
答:(1)用户标识和鉴别:该方法是由系统提供一定的方式让用户标识自己的名字和身份。
每次用户要求进入系统时,由系统进行核对,通过鉴定后才能提供系统的使用权。
(2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC)。
(3)视图机制:为不同的用户定义不同的视图,把数据对象限制在一定的范围内,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
(4)审计:建立审计日志,把用户对数据库的所有操作自动记录在审计日志中。
DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
6.什么是数据库中的自主存取控制方法和强制存取控制方法?答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。
当用户对数据库访问时首先检查用户的存取权限。
防止不合法用户对数据库的存取。
强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一级别的许可证。
系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
7.SQL语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。
第4章 数据库安全性(习题集)

第四章数据库安全性控制(习题集)一、名词解释1、数据库的安全性:2、自主存取控制方法:3、数据库角色:二、选择题1、以下(D)不属于实现数据库系统安全性的主要技术和方法。
A. 存取控制技术B. 视图技术C. 审计技术D. 出入机房登记和加锁2、SQL中的视图提高了数据库系统的(D)。
A. 完整性B. 并发控制C. 隔离性D. 安全性3、SQL语言的GRANT和REMOVE语句主要是用来维护数据库的(C)。
A. 完整性B. 可靠性C. 安全性D. 一致性4、在数据库的安全性控制中,授权的数据对象的(A),授权子系统就越灵活。
A. 范围越小B. 约束越细致C. 范围越大D. 约束范围大5、SQL中的视图机制提高了数据库系统的(D)。
A.完整性B.并发控制C.隔离性D.安全性6、SQL语言的GRANT和REVOKE语句主要是用来维护数据库的(C )。
A.完整性B.可靠性C.安全性D.一致性7 、安全性控制的防范对象是(B),防止他们对数据库数据的存取。
A.不合语义的数据B.非法用户C.不正确的数据D.不符合约束数据8、找出下面SQL命令中的数据控制命令(A )。
A.GRANT B.COMMIT C.UPDATE D.SELECT三、填空题1、数据库的安全性是指保护数据库以防止不合法的使用所造成的_数据泄露、数据更改或数据破坏_。
2、计算机系统有三类安全性问题,即_技术安全_ 、_管理安全_和_政策法规_。
3、用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。
常用的方法有通过输入_用户标识__和_口令_来鉴别用户。
4、用户权限是由两个要素组成的:_数据对象_ 和_操作类型_。
5、在数据库系统中,定义存取权限称为_授权_ 。
SQL语言用_GRANT_语句向用户授予对数据的操作权限,用_REVOKE_语句收回授予的权限。
6、数据库角色是被命名的一组与_数据库操作_ 相关的权限,角色是__权限_的集合。
数据库安全性与备份恢复考试

数据库安全性与备份恢复考试(答案见尾页)一、选择题1. 数据库安全性主要涉及哪些安全措施?A. 用户身份验证B. 角色分配C. 数据加密D. 访问控制列表2. 以下哪个选项不是数据库备份类型?A. 完全备份B. 增量备份C. 差异备份D. 日志备份3. 在数据库恢复过程中,哪种文件用来记录事务日志?A. 主数据文件B. 辅助数据文件C. 磁盘文件D. 重做日志文件4. 数据库复制主要用于哪个目的?A. 提高查询性能B. 实现数据容灾C. 优化数据库性能D. 数据库维护5. 在数据库管理中,如何更改数据库的默认排序顺序?A. 使用ALTER DATABASE语句B. 使用SET ORDER BY子句C. 使用ORDER BY子句D. 使用SELECT语句6. 以下哪个选项不是数据库索引的目的?A. 加速查询速度B. 减少数据冗余C. 支持数据完整性D. 存储数据值7. 在数据库备份中,如何选择合适的备份策略?A. 根据数据重要性和变化频率进行选择B. 根据备份时间窗口进行选择C. 根据系统资源和成本进行选择D. 根据数据库类型和版本进行选择8. 数据库备份可以用于哪些场景?A. 灾难恢复B. 数据迁移C. 性能优化D. 数据归档9. 在数据库恢复过程中,如何利用重做日志文件?A. 进行点时间点的恢复B. 进行增量备份的恢复C. 进行完全备份的恢复D. 进行差异备份的恢复10. 以下哪个选项不是数据库审计的作用?A. 检查潜在的安全威胁B. 验证数据的完整性和准确性C. 保证数据的可用性D. 限制非法访问11. 数据库安全性的三个主要威胁是什么?A. 非法用户访问B. 病毒感染C. 黑客攻击D. 自然灾害12. 数据库备份的基本原则是什么?A. 最小化备份数据量B. 定期备份C. 快速恢复D. 与业务需求相匹配的备份策略13. 在数据库恢复中,哪种类型的恢复是基于时间点?A. 完全恢复B. 时间点恢复C. 增量恢复D. 差量恢复14. 以下哪个不是数据库事务的特点?A. 原子性B. 一致性C. 隔离性D. 共享性15. 在数据库管理系统中,哪一个概念描述了数据的逻辑结构?A. 模式B. 内模式C. 外模式D. 物理模式16. 数据库审计的主要目的是什么?A. 监控和记录所有用户活动B. 保证数据的完整性C. 提供数据安全性D. 防止未经授权的访问17. 在SQL语言中,哪个命令用于创建一个新表?A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. MODIFY TABLE18. 数据库复制在灾难恢复中的作用是什么?A. 提供冗余数据B. 实现数据分布C. 支持负载均衡D. 提高性能19. 在数据库管理中,如何确保数据的一致性和完整性?A. 使用约束B. 实施触发器C. 进行数据验证D. 采用事务控制20. 在数据库备份中,哪种备份类型可以最大程度地减少数据丢失?A. 全备份B. 增量备份C. 差量备份D. 快照备份21. 数据库安全性的三个主要威胁是什么?A. 非法访问B. 数据泄露C. 系统故障D. 人为错误22. 以下哪个不是数据库备份类型?A. 完全备份B. 增量备份C. 差异备份D. 日志备份23. 在数据库恢复中,什么是恢复时间目标(RTO)?A. 需要恢复的数据量B. 需要恢复的时间C. 需要恢复的数据库对象D. 需要恢复的备份文件24. 以下哪个是数据库复制的主要目的?A. 提高性能B. 提高可用性C. 提高数据一致性D. 提高数据完整性25. 在数据库管理中,什么是权限管理?A. 确定不同用户对数据库对象的访问级别B. 确定不同用户对数据库数据的访问级别C. 确定不同用户对数据库权限的使用级别D. 确定不同用户对数据库维护的访问级别26. 以下哪个是数据库审计的目的?A. 监控和记录所有用户的数据库活动B. 确保数据库文件的完整性C. 防止未经授权的访问D. 提高数据库性能27. 在数据库恢复过程中,哪个步骤是“撤退阶段”?A. 恢复数据B. 重建索引C. 还原备份D. 关闭数据库28. 以下哪个是数据库分区的作用?A. 提高查询性能B. 提高数据冗余C. 提高数据安全性D. 提高数据备份效率29. 在数据库管理中,什么是数据归档?A. 对不常用的数据进行存储B. 对经常使用的数据进行存储C. 对历史数据的存储D. 对需要审计的数据进行存储30. 以下哪个是数据库集群的定义?A. 两个或多个数据库服务器组成一个集群,以提高性能和可用性B. 两个或多个数据库服务器组成一个集群,以提高性能和数据安全性C. 两个或多个数据库服务器组成一个集群,以提高可用性和数据完整性D. 两个或多个数据库服务器组成一个集群,以提高数据一致性和可用性31. 数据库安全性的重要性体现在哪些方面?A. 数据泄露可能导致财务损失B. 数据篡改可能破坏业务流程C. 非法访问可能导致法律风险D. 数据丢失可能导致无法恢复的业务中断32. 以下哪个选项是数据库备份与恢复计划的主要组成部分?A. 介质备份B. 自动备份C. 增量备份D. 全量备份33. 在数据库备份中,全量备份是指对数据库中的所有数据进行检查并备份,这通常在什么情况下进行?A. 数据库正常运行时B. 数据库维护时C. 数据库故障后D. 数据库升级时34. 在数据库恢复过程中,以下哪个步骤是用来恢复损坏的数据文件的?A. 进行数据一致性检查B. 使用备份文件替换损坏文件C. 恢复事务日志D. 重启数据库35. 数据库备份策略的三个关键因素是什么?A. 备份频率B. 备份类型(全量/增量)C. 备份数据的存储位置D. 备份数据的冗余级别36. 在数据库恢复过程中,如果事务日志已经损坏,应该采取哪种措施?A. 重新创建事务日志B. 从备份中恢复事务日志C. 启动数据库恢复程序D. 关闭数据库37. 数据库复制技术在提高系统可用性方面起到了什么作用?A. 通过主从复制实现负载均衡B. 通过主从复制实现数据备份C. 通过主从复制实现故障转移D. 通过主从复制实现读写分离38. 在数据库管理中,如何验证数据库备份的成功执行?A. 检查备份文件的完整性B. 检查备份日志的长度C. 检查备份是否包含所有需要的数据D. 检查备份是否按计划执行39. 数据库管理员在进行日常维护时,需要定期检查的内容包括哪些?A. 硬件状态B. 数据库性能指标C. 数据库备份日志D. 系统安全设置40. 在数据库安全性控制中,以下哪种手段可以限制远程用户访问数据库?A. 设置强密码策略B. 配置防火墙限制访问C. 实施访问控制列表(ACL)D. 加密敏感数据二、问答题1. 什么是数据库安全性的目标?请列举三个关键措施来实现数据库安全性。
数据库安全性与备份恢复策略考试

数据库安全性与备份恢复策略考试(答案见尾页)一、选择题1. 数据库安全性主要涉及哪些方面?A. 访问控制B. 数据加密C. 审计日志D. 以上都是2. 在数据库备份策略中,哪种备份类型是用于防止数据丢失的?A. 增量备份B. 差异备份C. 完全备份D. 版本备份3. 下列哪项措施可以提高数据库的安全性?A. 使用强密码B. 允许用户自定义权限C. 定期更新软件补丁D. 以上都是4. 在数据库恢复过程中,哪种文件包含恢复所需的关键信息?A. 备份日志文件B. 数据文件C. 控制文件D. 参数文件5. 如果数据库系统出现故障,通常首先应该采取哪种措施?A. 查看系统日志B. 进行数据恢复C. 检查硬件状态D. 制定恢复计划6. 在数据库备份中,如何确保备份数据的完整性和可恢复性?A. 使用RAID技术B. 定期进行备份验证C. 将备份数据存储在远程位置D. 以上都是7. 下列关于数据库审计日志的说法,哪个是错误的?A. 审计日志可以记录所有用户的操作B. 审计日志可以帮助检测潜在的安全威胁C. 审计日志需要定期清理D. 审计日志是数据库安全性的重要组成部分8. 在数据库备份策略中,如何平衡备份时间和备份频率?A. 根据数据的重要性和访问频率来决定B. 使用自动化工具来调度备份任务C. 考虑备份窗口和可用性D. 以上都是9. 下列哪种情况不适合使用完全备份策略?A. 数据库经常发生大量数据变更B. 数据库需要定期归档C. 数据库对实时性要求较高D. 数据库备份空间有限10. 在数据库恢复过程中,如果控制文件丢失,会导致什么样的后果?A. 数据无法恢复B. 可以恢复数据,但需要从备份中恢复其他相关文件C. 可以恢复数据,但可能会丢失一些数据D. 无法确定具体后果11. 数据库系统工程师在设计和实施安全措施时,首要考虑的是以下哪个方面?A. 数据加密B. 访问控制C. 系统审计D. 数据备份和恢复12. 在数据库备份策略中,哪种备份类型是用于保存数据库在某个特定时间点状态的方法?A. 全备份B. 增量备份C. 差异备份D. 物理备份13. 为了确保数据的完整性,数据库系统工程师在实施备份时应该采取什么措施?A. 使用RAID技术B. 定期测试备份文件的完整性C. 将备份存储在异地位置D. 对备份数据进行加密14. 如果数据库遭受灾难性损失,以下哪种恢复策略可以最大程度地减少数据丢失?A. 从最近的全备份恢复B. 从最近的增量备份恢复C. 从最近的差异备份恢复D. 从最近的物理备份恢复15. 在数据库备份策略中,全备份和增量备份的主要区别是什么?A. 全备份包含所有数据,而增量备份只包含自上次备份以来更改的数据B. 全备份需要较长的备份时间,但恢复速度较快C. 增量备份需要较短的备份时间,但恢复速度较慢D. 增量备份包含所有数据,但只在特定时间点之后的更改16. 数据库管理员定期对数据库进行审计的目的是什么?A. 检查系统性能B. 验证数据完整性C. 识别潜在的安全风险D. 监控用户活动17. 在数据库系统中,日志记录的作用是什么?A. 记录用户操作,以便于审计和追踪B. 存储数据库查询结果C. 提供数据完整性检查D. 加密数据以保护隐私18. 数据库复制主要用于哪种场景?A. 提高数据库可用性B. 增加数据库容量C. 实现数据备份和恢复D. 支持并行处理19. 在数据库备份策略中,如何平衡备份时间和备份所需资源之间的关系?A. 根据数据重要性和更新频率来决定备份时间B. 选择自动化工具来优化备份过程C. 定期评估备份效率和资源需求D. 根据业务需求来调整备份策略20. 在数据库安全审计过程中,发现某些用户存在未授权访问的情况。
数据库原理第五章数据库安全期末习题与答案

数据库原理第五章数据库安全期末习题与答案1、事务的一致性是指()A.事务一旦提交,对数据库的改变是永久的。
B.一个事务内部的操作及使用的数据对并发的其他事务是隔离的。
C.事务中包括的所有操作要么都做,要么都不做。
D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。
正确答案:D2、完整性控制的防范对象是()A.非法操作B.合法用户C.不合语义的数据D.以上答案均不对正确答案:C3、数据库技术中,“日志”和操作的关系是()A.操作的同时记录日志B.日志先于操作进行记录C.操作完成后在记录日志D.日志在操作完成之后任何时刻均可记录正确答案:B4、副本的作用时()A.数据库恢复B.完整性控制C.并发性控制D.保障安全性5、解决并发性带来的数据不一致问题普遍采用的技术是()A.封锁B.存取控制C.恢复D.协商正确答案:A二、判断题1、一级封锁协议使用共享锁解决丢失更新问题。
(错)2、一个登录账号可以对应多个数据库用户。
(对)3、删除规则的时候,需要将规则从绑定的对象上解除绑定,才能够删除。
(对)4、在出现事务故障的时候,反向扫描日志,对出现事务故障的更新操作执行反操作。
(对)5、使用一次加锁法可以解决死锁问题。
(对)三、填空题1、并发操作导致的数据库不一致问题主要包括()、读污、不可重读。
正确答案:丢失更新2、规则和默认是用来帮助用户实现数据库的()正确答案:完整性或完整性控制3、数据库恢复的基本原理是()正确答案:数据冗余4、SQL使用两种账号确保数据库的安全性,分别是()和数据库用户。
正确答案:登录账号5、封锁主要有两类锁构成,分别是()和共享锁。
正确答案:互斥锁。
数据安全水平考试题及答案

数据安全水平考试题及答案一、单项选择题(每题2分,共10分)1. 数据加密的主要目的是:A. 增加数据存储空间B. 提高数据传输速度C. 防止数据被未授权访问D. 减少数据传输错误答案:C2. 以下哪个不是数据备份的目的?A. 保护数据免受意外丢失B. 确保数据的完整性C. 减少数据存储成本D. 快速恢复数据答案:C3. 数据脱敏处理通常用于:A. 保护个人隐私B. 增加数据存储空间C. 提高数据传输速度D. 减少数据存储成本答案:A4. 以下哪项技术不是用于防止SQL注入攻击的?A. 参数化查询B. 预编译语句C. 动态SQLD. 使用存储过程答案:C5. 以下哪种加密算法属于对称加密?A. RSAB. AESC. ECCD. DES答案:B二、多项选择题(每题3分,共15分)1. 数据安全的关键组成部分包括:A. 机密性B. 完整性C. 可用性D. 可审计性答案:ABC2. 以下哪些措施可以提高数据传输的安全性?A. 使用VPNB. 使用HTTPSC. 使用FTPD. 使用SSH答案:ABD3. 以下哪些行为属于数据泄露?A. 未经授权的数据访问B. 未经授权的数据修改C. 未经授权的数据删除D. 未经授权的数据传输答案:ABD4. 以下哪些措施可以防止数据泄露?A. 定期进行安全审计B. 实施数据访问控制C. 使用防火墙D. 定期进行数据备份答案:ABC5. 以下哪些是数据加密的常见算法?A. AESB. RSAC. DESD. MD5答案:ABC三、判断题(每题1分,共5分)1. 数据备份和数据恢复是同一概念。
(错误)2. 数据加密可以防止数据被篡改。
(正确)3. 数据脱敏处理后的数据无法恢复原始数据。
(正确)4. 所有数据都应该进行加密处理。
(错误)5. 使用HTTPS可以防止中间人攻击。
(正确)四、简答题(每题5分,共10分)1. 请简述数据备份的三种常见方法。
答案:数据备份的三种常见方法包括全备份、增量备份和差异备份。
数据库安全测试题及答案

数据库安全测试题及答案一、单选题(每题2分,共10分)1. 数据库安全测试的目的是确保数据库的()。
A. 性能B. 可用性C. 安全性D. 兼容性答案:C2. SQL注入攻击属于数据库安全测试中的哪一类?A. 认证测试B. 授权测试C. 数据泄露测试D. 完整性测试答案:D3. 以下哪个选项不是数据库安全测试的内容?A. 访问控制B. 数据加密C. 性能评估D. 审计跟踪答案:C4. 以下哪个不是数据库安全措施?A. 定期备份B. 访问控制C. 数据加密D. 无限制访问答案:D5. 数据库安全测试中,对用户身份进行验证的过程称为()。
A. 认证B. 授权C. 加密D. 审计答案:A二、多选题(每题3分,共15分)1. 数据库安全测试通常包括以下哪些方面?()A. 访问控制B. 审计跟踪C. 数据加密D. 性能测试E. 漏洞扫描答案:ABCE2. 数据库安全测试中,哪些措施可以防止SQL注入攻击?()A. 使用预编译的SQL语句B. 使用参数化查询C. 限制数据库权限D. 增加数据库性能E. 使用Web应用程序防火墙答案:ABCE3. 数据库安全测试中,哪些措施可以提高数据库的安全性?()A. 定期更新数据库系统B. 定期更改数据库密码C. 定期进行安全审计D. 限制数据库的访问权限E. 使用数据库加密答案:ABCDE三、判断题(每题2分,共10分)1. 数据库安全测试只需要关注数据的机密性。
()答案:错误2. 数据库安全测试中,审计跟踪是记录用户操作的重要手段。
()答案:正确3. 数据库安全测试中,数据加密是防止数据泄露的有效手段。
()答案:正确4. 数据库安全测试中,访问控制是确保只有授权用户才能访问数据库。
()答案:正确5. 数据库安全测试中,性能测试是测试数据库响应时间的重要手段。
()答案:错误四、简答题(每题5分,共20分)1. 简述数据库安全测试的重要性。
答案:数据库安全测试的重要性在于确保数据库系统的安全性,防止数据泄露、篡改和丢失,保护企业和用户的隐私和财产安全。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库安全性习题
一、选择题
1. 以下()不属于实现数据库系统安全性的主要技术和方法。
A. 存取控制技术
B. 视图技术
C. 审计技术
D. 出入机房登记和加锁
2. SQL中的视图提高了数据库系统的()。
A. 完整性
B. 并发控制
C. 隔离性
D. 安全性
3. SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()。
A. 完整性
B. 可靠性
C. 安全性
D. 一致性
4. 在数据库的安全性控制中,授权的数据对象的(),授权子系统就越灵活。
A. 范围越小
B. 约束越细致
C. 范围越大
D. 约束范围大
三、简答题
1. 什么是数据库的安全性?
答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
数据库安全性和计算机系统的安全性有什么关系?2.
答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。
只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,
3.试述实现数据库安全性控制的常用方法和技术。
答:实现数据库安全性控制的常用方法和技术有:
1)用(户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。
每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC);
3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
从而使得对存储和传输的数据进行加密处理,数据加密:5)
不知道解密算法的人无法获知数据的内容。
4.什么是数据库中的自主存取控制方法和强制存取控制方法?
答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。
当用户对数据库访问时首先检查用户的存取权限。
防止不合法用户对数据库的存取。
强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。
系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
*解析:自主存取控制中自主的含义是:用户可以将自己拥有的存取权限“自主”地授予别人。
即用户具有一定的“自主”权。
语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。
答:
SQL中的自主存取控制是通过GRANT 语句和 REVOKE 语句来实现的。
如:
GRANT SELECT, INSERT ON Student TO 王平 WITH GRANT OPTION;
就将Student表的SELECT和INSERT权限授予了用户王平,后面的“WITH GRANT OPTION”子句表示用户王平同时也获得了.“授权”的权限,即可以把得到的权限继续授予其他用户。
REVOKE INSERT ON Student FROM 王平 CASCADE;
就将Student表的INSERT权限从用户王平处收回,选项CASCADE 表示,如果用户王平将 Student 的 INSERT 权限又转授给了其他用户,那么这些权限也将从其他用户处收回。
6.今有两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,地址,电话号)
请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:
(a) 用户王明对两个表有SELECT权力;
GRANT SELECT ON 职工,部门
TO 王明;
(b) 用户李勇对两个表有INSERT和DELETE权力;
GRANT INSERT,DELETE ON 职工,部门 TO 李勇;
(c) *每个职工只对自己的记录有SELECT权力;
GRANT SELECT ON 职工 WHEN USER()= NAME TO ALL;
这里假定系统的GRANT语句支持WHEN子句和USER()的使用。
用户将自己的名字作为ID。
注意,不同的系统这些扩展语句可能是不同的。
读者应该了解你使用的DBMS产品的扩展语句。
对工资字段具有更权力,SELECT用户刘星对职工表有 (d)
新权力;
GRANT SELECT,UPDATE(工资) ON 职工
TO 刘星;
(e) 用户张新具有修改这两个表的结构的权力;
GRANT ALTER TABLE ON 职工,部门
TO 张新;
(f) 用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力;
GRANT ALL PRIVILIGES ON 职工,部门 TO 周平 WITH GRANT OPTION;
(g) 用户杨兰具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。
答:
首先建立一个视图。
然后对这个视图定义杨兰的存取权限。
CREATE VIEW 部门工资 AS
SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门
WHERE 职工.部门号 = 部门. 部门号
GROUP BY 职工.部门号;
GRANT SELECT ON 部门工资 TO 杨兰;
7.把习题8中(a)~(g) 的每一种情况,撤销各用户所授予的权力。
.
答:
REVOKE SELECT ON 职工,部门
FROM 王明;
(b)
REVOKE INSERT,DELETE ON 职工,部门
FROM 李勇;
(c)
REOVKE SELECT ON 职工
WHEN USER()= NAME
FROM ALL;
这里假定用户将自己的名字作为ID,且系统的REOVKE语句支持WHEN子句,系统也支持USER()的使用。
(d)
REVOKE SELECT,UPDATE ON 职工
FROM 刘星;
(e)
REVOKE ALTER TABLE ON 职工,部门
FROM 张新;
(f)
职工,部门REVOKE ALL PRIVILIGES ON
FROM 周平;
REVOKE SELECT ON 部门工资
FROM 杨兰;
DROP VIEW 部门工资;
8.为什么强制存取控制提供了更高级别的数据库安全性?
答:
强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。
9.理解并解释MAC机制中主体、客体、敏感度标记的含义。
答:
主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。
客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。
敏感度标记被分成若干级别,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public)等。
主体的敏感度标记称为许可证级别(Clearance Level),客体的敏感度标记称为密级(Classification Level)。
什么是数据库的审计功能,为什么要提供审计功能?10.
答:
审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。
因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。
利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
11.统计数据库中存在何种特殊的安全性问题?
答:
统计数据库允许用户查询聚集类型的信息,如合计、平均值、最大值、最小值等,不允许查询单个记录信息。
但是,人们可以从合法的查询中推导出不合法的信息,即可能存在隐蔽的信息通道,这是统计数据库要研究和解决的特殊的安全性问题。