数据库系统概论--第四章课后习题

news2024/9/22 6:29:21

1.什么是数据库的安全性?

 

答:

  • 数据库安全,是指以保护数据库系统、数据库服务器和数据库中的数据、应用、存储,以及相关网络连接为目的,是防止数据库系统及其数据遭到泄露、篡改或破坏的安全技术。

  • 数据库安全与一般应用系统安全基本相同,主要涉及诸如访问控制、身份认证、机密性、完整性和可用性等一些基本问题。与一般应用系统相比,数据库系统既包含有大量的数据信息,又拥有众多的用户,因此,数据库安全问题较一般应用系统安全更为突出。

  • 数据库安全包括数据库系统安全和数据库中数据的安全。数据库系统安全涉及系统运行安全和系统信息安全两个方面,一方面指数据库系统所依赖的环境安全,另一方面指 DBMS 的安全,这两个方面构成了数据库系统安全的基础;数据库中数据安全是数据库安全的主要内容,它主要涉及数据库中数据的机密性、完整性和可用性等内容。

2.举例说明对数据库安全性产生威胁的因素。

答: 

(1)滥用过高权限:当用户(或应用程序)被授予超出了其工作职能所需的数据库访问权限时,这些权限可能会被恶意滥用。例如,一个大学管理员在工作中只需要能够更改学生的联系信息,不过他可能会利用过高的数据库更新权限来更改分数。

(2) 滥用合法权限:用户还可能将合法的数据库权限用于未经授权的目的。假设一个恶意的医务人员拥有可以通过自定义Web应用程序查看单个患者病历的权限。通常情况下,该Web应用程序的结构限制用户只能查看单个患者的病史,即无法同时查看多个患者的病历并且不允许复制电子副本。但是,恶意的医务人员可以通过使用其他客户端(如MS-Excel)连接到数据库,来规避这些限制。通过使用MS-Excel以及合法的登录凭据,该医务人员就可以检索和保存所有患者的病历。

(3) 权限提升:攻击者可以利用数据库平台软件的漏洞将普通用户的权限转换为管理员权限。漏洞可以在存储过程、内置函数、协议实现甚至是SQL语句中找到。例如,一个金融机构的软件开发人员可以利用有漏洞的函数来获得数据库管理权限。使用管理权限,恶意的开发人员可以禁用审计机制、开设伪造的帐户以及转帐等。

 3.试述信息安全标准的发展历史,试述CC评估保证级划分的基本内容。

答:

       信息安全标准的发展历史:

简单地讲,TCSEC是1985年美国国防部颁布的《DoD 可信计算机系统评估准则》。CC通用准则V2.I 版于1999年被ISO采用为国际标准,2001年被我国采用为国家标准。目前CC巳经基本取代了TCSEC, 成为评估信息产品安全性的主要标准。

 

试述CC评估保证级划分的基本内容:如图

CC评估保证级(EAL)的划分
评估保证级定义TCSEC安全级别(近似相当)
EAL1功能测试
EAL2结构测试C1
EAL3系统地测试和检查C2
EAL4系统地设计、测试和检查B1
EAL5半形式化设计和测试B2 
EAL6半形式化验证的设计和测试B2b168.com
EAL7形式化验证的设计和测试A1

4.试述实现数据库安全性控制的常用方法和技术。

答:

实 现 数 据 库 安 全 性 控 制 的 常 用 方 法 和 技 术 有 :

( 1 )用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求 进入系统时 , 由系统进核对, 通过鉴定后才提供系统的使用权 。

( 2 )存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如 CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存 取 控 制 ( MAC ) 。

( 3 )视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。

( 4 )审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中 ,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数 据 的 人 、时 间 和 内 容 等 。

( 5 )数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

 

5.什么是数据库中的自主存取控制方法和强制存取控制方法。

答:

自主存取控制方法:定义各个用户对不同数据对象的存取权限 。当用户对数据库访问时首先检查用户的存取权限 。防止不合法用户对数据库的存取 。

 

强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强 制地)授予某一个级别的许可证 。系统规定只有具有某一许可证级别的用户才能存取某一 个密级的数据对象。

 

 

6. 对下列两个关系模式:

    学生(学号,姓名,年龄,性别,家庭住址,班级号)

    班级(班级号,班级名,班主任,班长)使用GRANT 语句完成下列授权功能:

(1) 授予用户U1对两个表的所有权限,并可给其他用户授权。

(2) 授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。

(3) 将对班级表查看权限授予所有用户。

(4) 将对学生表的查询、更新权限授予角色R1。

(5) 将角色R1授予用户U1,并且U1可继续授权给其他角色。

答:

 (1)GRANT ALL PRIVILIGES ON TABLE 学生,班级 TO U1 WITH GRANT OPTION;

(2) GRANT SELECT,UPDATE(家庭地址) ON TABLE 学生 TO U2;

(3) GRANT SELECT ON 班级 TO PUBLIC;

(4) GRANT SELECT,UPDATA ON TABLE 学生 TO R1;

(5) GRANT R1 TO U1 WITH GRANT OPTION;

 

7.今有以下两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号)

部门(部门员,名称,经理名,地址,电话号)

请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:

(1) 用户王明对两个表有SELECT权限。

(2) 用户李勇对两个表有INSERT和DELETE权限。

(3) 每个职工只对自己的记录有SELECT权限。

(4) 用户刘星对职工表有SELECT权限,对工资字段具有更新权限。

(5) 用户张新具有修改这两个表的结构的权限。

(6) 用户周平具有对两个表的所有权限(读、插、改、删数据),并具有给其他用户,授权的权限。

(7) 用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权限,他不能查看每个人的工资。

答:

 (1)  GRANT SELECT ON 职工,部门 TO 王明;

(2)  GRANT INSERT,DELETE ON 职工,部门 TO 李勇;

(3)  GRANT SELECT ON 职工 WHEN USER()=NAME TO ALL;

(4) GRANT SELECT,UPDATE(工资)ON 职工 TO 刘星;

(5)  GRANT ALTER TABLE ON 职工,部门 TO 张新;

(6)  GRANT ALL PRIVILIGES ON 职工,部门 TO 周平 WITH GRANT OPTION;

(7) CREATE VIEW 部门工资 AS SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资)FROM 职工,部门 WHERE 职工. 部门号=部门.部门号 GROUP BY 职工.部门号 GRANT SELECT ON 部门工资 TO 杨兰;

8.针对习题7中(1)~(7)的每一种情况,撤销个用户所授予的权限。

 

 (1) 

REVOKE SELECT
ON Staff
FROM 王明;

REVOKE SELECT
ON Dep
FROM 王明;

(2)  

REVOKE INSERT,DELETE
ON Staff
FROM 李勇;

REVOKE INSERT,DELETE
ON Dep
FROM 李勇;

(3)  

同时删除视图
revoke select
on Users
from public;
drop view Users; 

(4) 

REVOKE SELECT,UPDATE(Sts)
ON Staff
FROM 刘星;

(5)   

revoke update
on Staff
from 张新;
 
revoke update
on Dep
from 张新;

或者

REVOKE ALTER
ON Staff
FROM 张新;

REVOKE ALTER
ON Dep
FROM 张新;

(6)   

revoke all 
on Staff
from 周平 cascade;
 
revoke all 
on Dep
from 周平 cascade;

或者

revoke select,update,delete,insert
on Staff
from 周平;

revoke select,update,delete,insert
on Dep
from 周平;

(7)  

REVOKE SELECT
ON Dep_sts
FROM 杨兰;
DROP VIEW Dep_sts;
 

9.解释强制存取控制机制中的主体、客体、敏感度标记的含义。

答:

(1)主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。

(2) 客体是系统中的被动实体,受主体操纵,包括文件、基表、索引、视图等。对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。

(3) 敏感度标记被分成若干级别,例如绝密、机密、可信、公开等。主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级。

10.举例说明强制存取控制机制是如何确定主体是否能存取客体的。

答: 

 

 

 11.什么是数据库的审计功能,为什么要提供审计功能呢?

答:

     审计功能是指 DBMS的审计模块在用户对数据库履行操作的同时把所有操作自动记录到系统的审计日记中。

      因为任何系统的安全保护举措都不是十全十美的,蓄意偷窃损坏数据的人总可能存在。利用数据库的审计功能, DBA 能够依据审计追踪的信息,重现致使数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/453220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超级国际象棋:第二个里程碑已完成

获取Cartesi资助的项目的最新进展,现在将完全去中心化的Web3国际象棋带到你的手中 “Ultrachess是一个完全基于区块链的国际象棋应用程序,由Cartesi Rollup技术支持,允许用户将真实价值投入到比赛中,不仅仅是他们的Elo分数。 此…

Controller里面的重定向无法跳转网址

Controller里面的重定向无法跳转网址时,需要在要跳转的页面地址前面加上tomcat里面的本项目的总网址,如下图所示

代码随想录之平衡二叉树

本题思路是针对高度,只不过是判断高度之差的绝对值是否大于1罢了,这里引入特殊变量-1用来说明不是平衡二叉树 如果左右子节点对应的子树有一个不是平衡二叉树就一直-1返回到头了。 只有全是平衡二叉树时才正常运行完。 class Solution { public:int tra…

Windows 下 GitKraken 6.5.1免费版本安装

文章目录 1. 安装 6.5.1 版本2. 更换快捷方式3. 登录 用过 GitKraken 都说好,不过,GitKraken 从 6.5.3 版本开始收费,它的最后一个免费版本是 6.5.1 ,当你使用收费版本而又未付费时,使用 GitKranken 将无法打开私有仓库…

【学习资源】终身机器学习之增量学习

从机器学习存在的问题谈起,介绍增量学习可以解决怎样的问题,增量学习的类别,实现增量学习的方法,增量学习的评价指标和常用数据集,类别增量学习典型方法和代码库以及参考资源,希望能帮助大家用增量学习提高…

产品结构优化叠加渠道红利释放,劲仔食品是下一个食品大牛股吗?

A股有着独特的“四条鱼”标的,其中三家都是做大鱼:鳗鱼、三文鱼、罗非鱼。但在消费者这一侧听得最多的,往往是那个“劲仔小鱼”,和它背后的劲仔食品。 这只是一个诙谐的说法,但劲仔食品的业绩质量好,却是不…

Flutter 状态管理框架 Provider 和 Get 原理分析

为什么需要状态管理? 首先,为什么需要状态管理,这是因为 Flutter 基于 声明式 构建 UI ,使用状态管理的目的之一就是解决「声明式」开发带来的问题。 「声明式」开发是一种区别于传原生的方式,所以我们没有在原生开发…

Java8特性之Lambda表达式

1.概念 lambda表达式是Java8的一个新特性,从本质上来讲是一个匿名函数,可以使用这个匿名函数实现接口中的方法,并且非常简洁。 通常来讲,使用 lambda表达式 是为了简化接口实现的。关于接口实现,可以有很多种方式来实…

MongoDB多字段重复数据的查询与删除

MongoDB的语法平时接触的不错,更多的是使用关系型数据库。最近遇到一个问题,在MongoDB中,需要找出三个字段重复的数据,有点类似于SQL数据中的三个字段组成的唯一键。并且需要将重复的数据保留一条,其余删除。但是在Mon…

跌倒检测和识别3:Android实现跌倒检测(含源码,可实时跌倒检测)

跌倒检测和识别3:Android实现跌倒检测(含源码,可实时跌倒检测) 目录 跌倒检测和识别3:Android实现跌倒检测(含源码,可实时跌倒检测) 1. 前言 2. 跌倒检测数据集说明 3. 基于YOLOv5的跌倒检测模型训练 4.跌倒检测模型Android…

Kubernetes----Pod,资源对象文件

kubectl容器管理 kubectl用于控制Kubernetes集群的命令行工具 语法格式 kubectl [command] [type] [name] [flages] command: 子命令,如create,get,describe,delete type: 资源类型,可以表示为单数,复数形式或缩写形式 name: 资…

2023年4月份上新的图像领域分割模型设计系列论文(一)

来源:投稿 作者:王老师 编辑:学姐 论文1 论文标题: Learning Semantic-Aware Knowledge Guidance for Low-Light Image Enhancement 论文链接: https://arxiv.org/pdf/2304.07039v1.pdf代码链接: https://…

Java性能优化之序列化优化

1、Java 序列化及其缺陷 Java 提供了一种序列化机制,这种机制能够将一个对象序列化为二进制形式(字节数组),用于写入磁盘或输出到网络,同时也能从网络或磁盘中读取字节数组,反序列化成对象,在程…

无法启动此程序,因为计算机中丢失VCRUNTIME140.dll”错误的解决办法

vcruntime140.dll是什么什么文件呢?为什么电脑在运行一些游戏或许软件的时候会出现丢失vcruntime140.dll,然后游戏或许软件运行失败?这个dll文件是电脑重要的运行库文件。丢失了会导致很多程序无法运行。 首先打开电脑浏览器以后在顶部网页栏目输入&am…

MATLAB实现图像滤波及噪声消除

图像增强是指根据特定的需要突出一幅图像中的某些信息,同时削弱或去除某些不需要的信息的处理方法。其主要目的是使处理后的图像对某种特定的应用来说,比原始图像更适用。因此,这类处理是为了某种应用目的而去改善图像质量的。处理的结果使图…

ROS学习第三十六节——Gazebo仿真环境搭建

https://download.csdn.net/download/qq_45685327/87719408 1.直接添加现成模型 1.1加入环境模型 在工程文件中创建worlds文件夹&#xff0c;并把之前下载的box_house.world文件放入 1.2编写launch文件 deamo03_car_world.launch <launch><!-- 将 Urdf 文件的内容…

CCGNet用于发现共晶材料中的coformer

共晶工程&#xff08;cocrystal engineering&#xff09;在制药&#xff0c;化学和材料领域有广泛应用。然而&#xff0c;如何有效选择coformer一直是一个挑战性课题。因此&#xff0c;作者开发了一个基于GNN的深度学习框架用于快速预测共晶的形成。为了从现有报告的6819个正样…

超详细Redis入门教程——Redis命令(下)

前言 本文小新为大家带来 超详细Redis入门教程——Redis命令 相关知识&#xff0c;具体内容包括简单动态字符串 SDS&#xff0c;集合的底层实现原理&#xff0c;BitMap 操作命令&#xff0c;HyperLogLog 操作命令&#xff0c;Geospatial 操作命令&#xff0c;发布/订阅命令&…

2023.04.23 学习周报

文章目录 摘要文献阅读1.题目2.摘要3.介绍4.模型4.1 研究区域4.2 自相关分析4.3 LSTM 5.实验与讨论5.1 高架道路不同位置空气污染物的变化5.2 高架道路不同位置空气污染物的相关性5.3 高架道路不同位置空气污染物预测 6.结论7.展望 度规张量1.曲率2.度量张量3.代码实现4.平行四…

基于遗传算法的梯级水电站群优化调度研究(Matlab代码实现)

&#x1f4a5; &#x1f4a5; &#x1f49e; &#x1f49e; 欢迎来到本博客 ❤️ ❤️ &#x1f4a5; &#x1f4a5; &#x1f3c6; 博主优势&#xff1a; &#x1f31e; &#x1f31e; &#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 …