4.数据库安全性

news2025/1/18 20:24:25

学习过程参考(后续章节同)
【公开课】数据库系统概论(王珊老师)(完结)

《数据库系统概论》思维导图

【专栏必读】数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解

数据库系统概论课后习题答案(第五版 王珊、萨师煊)

第4章 数据库安全性 | 数据库知识点整理

梳理

在这里插入图片描述

名词解释

  • 数据库安全性:保护数据库以防止不合法使用所造成的 数据泄露、更改或破坏

  • 用户身份鉴别:每个用户在系统中都有一个用户标识。每个用户标识由用户名(user name)和用户标识号(UID)组成。系统内部记录着所有合法用户的标识,每次用户进入系统时,系统会核对用户的身份,只有通过鉴定后才提供相关数据库管理系统的权限
  • 存取控制:存取控制的目的就是确保只授权给有资格的用户访问数据库的权限,其余人等无法接近数据
  • 自主存取控制(DAC):用户对于不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户,因此自主存取控制非常灵活
  • 强制存取控制(MAC):每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取,因此强制存取控制因此相对比较严格

  • 授权:用户权限由数据库对象和操作类型这两个要素组成。定义一个用户的存取权限就是定义这个用户可以在哪些数据对象上进行哪些类型的操作。所谓授权就是指定义存取权限
  • 数据库角色:是被命名的一组与数据库操作相关的权限,也即角色是权限的集合。在创建用户时如果为其赋予某种角色,那么用户就自动拥有了该数据库角色所拥有的权限,从而省去了繁琐的授权语句

  • 审计:审计功能把用户对数据库的所有操作自动记录下来放入审计日志(audit log)中。审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。还可以通过对审计日志分析,对潜在的威胁提前采取措施加以防范

课后题

1.数据库安全性

数据库的安全性是指 保护数据库 以防止不合法的使用 所造成的数据泄露、更改或破坏。

2.对数据库安全性产生威胁的因素

(1)非授权用户对数据库的恶意存取和破坏。
一些黑客和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据。
(2)数据库中重要或敏感的数据被泄露
黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露。
(3)安全环境的脆弱性。
数据库的安全性与计算机系统的安全性,包括计算机硬件、操作系统、网略系统等的安全性是紧密联系的。操作系统安全的脆弱,网络协议安全保障的不足等都会造成数据库安全性的破坏。

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

简单地讲,TCSEC是1985年美国国防部颁布的《DoD 可信计算机系统评估准则》。CC通用准则V2.I 版于1999年被ISO采用为国际标准,2001年被我国采用为国家标准。目前CC巳经基本取代了TCSEC, 成为评估信息产品安全性的主要标准。
CC将评估过程划分为功能和保证两部分,评估等级分为EAL1、EAL2、EAL3、EAL4、EAL5、EAL6和EAL7共七个等级。每一级均需评估7个功能类,分别是配置管理、分发和操作、开发过程、指导文献、生命期的技术支持、测试和脆弱性评估。
CC评估保证级(EAL)的划分
评估保证级 定义 TCSEC安全级别(近似相当)
EAL1 功能测试(functionally tested)
EAL2 结构测试(structurally tested) C1
EAL3 系统地测试和检查(methodically tested and checked) C2
EAL4 系统地设计、测试和复查(methodically designed,tested and reviewed) B1
EAL5 半形式化设计和测试(semiformally designed and tested) B2
EAL6 半形式化验证的设计和测试(semiformally verified design and tested) B3
EAL7 形式化验证的设计和测试(formally verified design and tested) A1

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

(1)用户标识和鉴别
该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
(2)存取控制
通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。
(3)视图机制
为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
(4)审计(监控措施,其他为预防)
建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
(5)数据加密
对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

5.自主存取控制方法和强制~

  • 版本一
    自主存取控制DAC:用户对于不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户,因此自主存取控制非常灵活
    强制存取控制MAC:每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取,因此强制存取控制因此相对比较严格
  • 版本二(官方版)
    自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。
    强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。

6.GRANT

GRANT <权限>[,<权限>]...
ON <对象类型> <对象名>[,<对象类型> <对象名>]TO <用户>[,<用户>]...
[WITH GRANT OPTION];#用户还可以授权给别人

(1) GRANT ALL PRIVILEGES
ON Student,Class
TO U1
WITH GRANT OPTION ;
(2)GRANT SELECT,UPDATE(家庭住址),DELETE
ON Student
TO U2;
(查看-查询-select)
(数据更新:增加,修改,删除)
(3)GRANT SELECT ON Class TO PUBLIC;
(4)GRANT SELECT,UPDATE ON Student TO R1;

创建角色
CREATE  ROLE  <角色名> ;

给角色授权
 GRANT  <权限>[,<权限>]ON <对象类型>对象名  
 TO <角色>[,<角色>]…
 
将一个角色授予其他的角色或用户
GRANT  <角色1>[,<角色2>]TO  <角色3>[,<用户1>][WITH ADMIN OPTION]

角色权限回收
REVOKE <权限>[,<权限>]ON <对象类型> <对象名>
FROM <角色>[,<角色>]

(5)GRANT R1 TO U1 WITH ADMIN OPTION ;

7.GRANT & REVOKE

( 1)用户王明对两个表有SELECT 权力。
GRANT SELECT ON 职工,部门
TO 王明
( b )用户李勇对两个表有INSERT 和DELETE 权力。
GRANT INSERT,DELETE ON 职工,部门
TO 李勇
( c ) 每个职工只对自己的记录有SELECT 权力。
GRANT SELECT ON 职工
WHEN USER()=NAME
TO ALL;
( d )用户刘星对职工表有SELECT 权力,对工资字段具有更新权力。
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 杨兰;

8.撤销权限

(1) REVOKE SELECT ON 职工,部门 FROM 王明;
(2) REVOKE INSERT , DELETE ON 职工,部门 FROM 李勇;
(3) REOVKE SELECT ON 职工
WHEN USER ( ) =NAME
FROM ALI ;
(4) REVOKE SELECT , UPDATE ON 职工
FROM 刘星;
(5) REVOKE ALTER TABLE ON 职工,部门
FROM 张新;
(6) REVOKE ALL PRIVILIGES ON 职工,部门
FROM 周平;
(7) REVOKE SELECT ON 部门工资
FROM 杨兰;
DROP VIEW 部门工资;

9.MAC 机制中主体、客体、敏感度标记的含义

主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程。
客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。
对于主体和客体,DBMS 为它们每个实例(值)指派一个敏感度标记(Label )。敏感度标记被分成若干级别,例如绝密(Top Secret )、机密(Secret )、可信( Confidential )、公开(Public)等。主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级。

10.强制存取控制机制是如何确定主体能否存取客体

假设要对关系变量S进行强制存取控制,为简化起见,假设要控制存取的数据单元是元组,则每个元组标以密级,如下表所示(4=绝密,3=机密,2=秘密)
在这里插入图片描述

假设系统的存取规则是
仅当主体的许可证级别大于或等于客体的密级时才能读取相应的客体
仅当主体的许可证级别小于或等于客体的密级时才能写相应的客体
假定用户U1和U2的许可证级别分别为3和2,则根据规则用户U1能读元组S1和S2,可修改元组S2;用户U2只能读元组S1,修改元组S1

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

审计功能是指DBMS 的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。
   因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA 可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

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

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

相关文章

2023年02月IDE流行度最新排名

点击查看最新IDE流行度最新排名&#xff08;每月更新&#xff09; 2023年02月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多&#xff0c;这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&am…

MySQL的函数

目录 一.分类 聚合函数 概述 格式 操作 数学函数 操作1 操作2 操作3 字符串函数 操作1 操作2 操作3 操作4 日期函数 操作1 操作2 操作3 控制流函数 if逻辑判断语句 case when 语句 窗口函数 介绍 分类 序号函数 开窗聚合函数- SUM,AVG,MIN,MAX 分布函数-…

Java 对象拷贝与转换-org.mapstruct:mapstruct 包(@Mapper、@Mapping)的使用

MapStruct的使用 最近在学习技术时候&#xff0c;发现一个特别好用的包&#xff0c;org.mapstruct:mapstruct&#xff0c;它是专门用来处理 domin 实体类与 model 类的属性映射的 它的优势&#xff1a; 很多项目大量映射的方式通过手动get、set&#xff0c;首先写法很low&…

并发编程 · 基础篇 · android线程那些事

小木箱成长营并发编程系列教程(排期中): 并发编程 基础篇(下) android线程池那些事 并发编程 提高篇(上) Java并发关键字那些事 并发编程 提高篇(下) Java锁安全性那些事 并发编程 高级篇(上) Java内存模型那些事 并发编程 高级篇(下) Java并发BATJ面试之谈 并发编程…

Jupyter notebook——在Anaconda中多个环境下,设置不同的默认打开路径

项目背景&#xff1a;anaconda中搭建了一个python3.6&#xff0c;一个python3.7版本&#xff0c;python3.6环境版本的jupyter notebook默认打开路径设置为&#xff1a;D:\DeepLearning\cv&#xff0c;修改jupyter notebook默认路径见&#xff1a;https://blog.csdn.net/qq_1881…

分享115个图片切换JS特效,总有一款适合您

分享115个图片切换JS特效&#xff0c;总有一款适合您 115个图片切换JS特效下载链接&#xff1a;https://pan.baidu.com/s/1QX7b5LDlY6lBqMVjgBKSwA?pwdk05d 提取码&#xff1a;k05d Python采集代码下载链接&#xff1a;https://wwgn.lanzoul.com/iKGwb0kye3wj jQuery多图…

Appium+Python+pytest自动化测试框架

先简单介绍一下目录&#xff0c;再贴一些代码&#xff0c;代码里有注释Basic目录下写的是一些公共的方法&#xff0c;Data目录下写的是测试数据&#xff0c;image存的是测试失败截图&#xff0c;Log日志文件&#xff0c;Page测试的定位元素&#xff0c;report测试报告&#xff…

Linux从入门到精通

Linux从入门到精通 1. Linux 简介 Linux 内核最初只是由芬兰人林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统&#xff0c;是一个基于 POSIX&#xff08;可移植操作系统接…

Nacos 注册监听器

文章目录前言项目文件说明pom依赖bootstrap.ymlNacosConfig 配置类监听器实现类-默认实现监听器实现类-json配置处理注册监听器监听器的效果前言 本文主要讨论Nacos作为配置中心时&#xff0c;其中配置内容发生更改时&#xff0c;我们的应用程序能够做的事。 一般使用监听器来…

DeepLabV3+:Mobilenetv2的改进以及浅层特征和深层特征的融合

目录 Mobilenetv2的改进 浅层特征和深层特征的融合 完整代码 参考资料 Mobilenetv2的改进 在DeeplabV3当中&#xff0c;一般不会5次下采样&#xff0c;可选的有3次下采样和4次下采样。因为要进行五次下采样的话会损失较多的信息。 在这里mobilenetv2会从之前写好的模块中…

第四天链表

24. 两两交换链表中的节点力扣题目链接(opens new window)给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。接下来就是交换相邻两个元素了&#xff0c;此时一定要画…

vite --- 为什么选Vite

目录 什么是Vite 为什么选Vite 现实问题 为什么生产环境仍需打包 Vite 与竞品 什么是Vite Vite&#xff08;法语意为 "快速的"&#xff0c;发音 /vit/&#xff0c;发音同 "veet"&#xff09;是一种新型前端构建工具&#xff0c;能够显著提升前端开发体…

SpringBoot+Vue图书馆管理系统1.0

简介&#xff1a;本项目采用了基本的SpringBootVue设计的图书馆管理系统。详情请看截图。经测试&#xff0c;本项目正常运行。本项目适用于Java毕业设计、课程设计学习参考等用途。 项目描述 项目名称SpringBootVue图书馆管理系统1.0源码作者LHL项目类型Java EE项目 &#xff…

Zebec 上线投票治理机制,全新流支付生态正在起航

随着加密货币的兴起&#xff0c;其除了成为一种备受关注的投资品外&#xff0c;它也正在成为一种新兴的支付手段。虽然在加密行业发展早期&#xff0c;以BTC、LTC等为代表的以支付为定位老牌加密资产&#xff0c;因支付效率低下、支付成本高、合规等问题而没能实现早期的愿景&a…

Node.js:CommonJS模块化规范

CommonJS 上文提到了 Node 采用的模块化规范是 CommonJS&#xff0c;它主要规定了如何定义模块&#xff0c;如果导出模块和如何导入模块&#xff1a; 定义模块&#xff1a;一个文件就是一个模块导出模块&#xff1a;通过 module.exports 导出模块导入模块&#xff1a;通过 re…

【Linux】第八部分 Linux常用基本命令

【Linux】第八部分 Linux常用基本命令 文章目录【Linux】第八部分 Linux常用基本命令8. Linux常用基本命令8.1 帮助命令8.2 文件目录类命令pwd 显示当前工作目录的绝对路径cd 切换目录ls 列出目录的内容mkdir 创建目录rmdir 删除目录touch 创建文件cp 复制文件或者目录rm 删除文…

Kaggle系列之预测泰坦尼克号人员的幸存与死亡(随机森林模型)

Kaggle是开发商和数据科学家提供举办机器学习竞赛、托管数据库、编写和分享代码的平台&#xff0c;本节是对于初次接触的伙伴们一个快速了解和参与比赛的例子&#xff0c;快速熟悉这个平台。当然提交预测结果需要注册&#xff0c;这个可能需要科学上网了。我们选择一个预测的入…

【操作系统】4、设备管理

文章目录四、设备管理4.1 I/O设备基本概念4.2 I/O控制方式4.2.1 程序控制方式4.2.2 中断方式4.2.3 DMA控制方式4.2.4 通道控制方式4.3 缓冲技术4.4 假脱机技术四、设备管理 I/O控制方式&#xff1a;程序控制、中断、DMA、通道&#xff0c; 缓冲技术&#xff1b;假脱机技术(SPO…

大龄学长的浙大MBA提面优秀之路分享

作为今年上岸浙大MBA项目的一名中年老学长&#xff0c;想把自己在提面中取得优秀资格的经验做个梳理供大家参考&#xff0c;因为以我的经历来说&#xff0c;我认为浙大MBA提前批面试是非常有价值的&#xff0c;而且在提面过程中也发现了优秀资格其实遍布于各个年龄段和层级&…

2023-02-04 Elasticsearch环境安装

1 JDK-8的安装 查询资料自我安装即可&#xff0c;这里不做展示。 2 Elasticsearch 的安装 Elasticsearch目录结构: 配置文件&#xff1a; #节点名称&#xff0c;集群内要唯一 node.name: node-1001node.master: true node.data: true#ip 地址 network.host: localhost htt…