第四章、数据库安全性

第四章、数据库安全性

4.1、数据库安全性概述

1、数据库安全概念

①、问题的提出

②、数据可以共享,因为共享带来安全性的问题

③、所以数据库的共享不可能没有限制条件

2、数据库的安全性

①、是指保护数据库以防止不合法的使用造成数据泄漏,更改或破坏

②、系统安全保护措施有效是数据库系统的主要性能指标之一

4.1.1、数据库的不安全因素

1、非授权用户对数据库的恶意存取和破坏

1、黑客、非法漏洞盗取数据

2、主要的安全措施:用户身份鉴别、存取控制和视图

2、重要或敏感数据被泄漏

1、数据库管理系统提供技术:强制存取控制、数据加密存储和加密传输

2、安全较高的系统提供了:审计日志分析

3、安全环境的脆弱性

1、数据库的安全性和计算机系统的安全性紧密联系,包括计算机硬件、操作系统、网络系统

2、就是数据库周围环境也需要安全

3、计算机需要一套可信的就计算机安全的标准

4.1.2、安全标准简介

1、安全标准的发展历史

1、1985年、美国国防部颁布《DoD可信挤时间系统评估标准》

2、其他国家也有很多标准,导致计算机安全标准不统一,浪费计算机内部资源

3、1993年联合行动提出CC项目

4、1999年CCV2.1,为国际标准

5、2001年,CCV2.1,我国采用为国家标准

2、TCSEC标准

1、介绍

1、1991年4月,美国计算机安全中心,颁布TDI(可信计算机系统评估标准关于可信数据库系统的解释)

2、TDI成为紫皮书

2、安全划分级别

1、安全策略、责任、保证、文档4个方面

2、级别图

image-20230905211855458

3、7个等级,可靠度主键提高

4、有向下兼容关系

5、D级:一切不符合更高标准的系统(DOS操作系统)

6、C1:非常初级的自主安全保护(保护用户权限,自主存取控制DAC)

7、C2级:安全产品的最低档次(Windows2000,个人身份注册)

8、B1:标记安全保护(系统数据加标记,强制存取控制MAC)

9、B2:结构化保护(建立形式化安全策略模型包含DAC、MAC)

10、B3:安全域(TCB满足访问监控器、数据恢复,备份数据库,回滚)

11、A1:验证设计(包含B3,系统形式化设计说明验证)

3、CC标准

1、组成

1、简介和一般模型:术语、概念、模型、评估框架

2、安全功能要求:列出各类及子类和组件,一起组成

3、安全保证要求:提出评估保证级

2、评估保证级划分(EAL)

image-20230905213222148

4.2、数据安全性控制

1、非法使用数据库的情况

①编写合法程序绕过数据库管理员的授权机制

②暴力破解执行非授权操作

③通过多次合法查询数据库,进行推到

2、计算机系统的安全模型

1、模型如下

image-20230905213728077

3、数据库有关的安全性

1、主要包括:用户身份验证、多层存取控制、审计、视图、数据加密等

1、安全模型

image-20230905214147570

2、存取控制流程

1、数据库系统对SQL访问请求的数据用户,进行鉴别

2、SQL处理层进行自主存取控制和强制存取控制,进一步可以推理控制

3、对用户行为和系统关键操作进行审计,对异常用户进行审计

4.2.1、用户身份鉴别

1、用户身份鉴别概念

1、验证是否为合法用户,有没有权限

2、类似账号密码登录

2、用户表示组成

1、用户名和用户标识号

2、用户标识号是在系统生命周期的唯一(大学学号)

3、用户身份鉴别方法

1、静态口令

1、用户自己设定

2、动态口令

1、每次鉴别都生成一个口令(密码)

2、一次一用

3、生物特征

1、指纹、虹膜等

4、智能卡

1、内置集成电路芯片,具有硬件加密功能

4.2.2、存取控制

1、存取控制机制组成

1、用户权限定义和合法权检查机组成

1、用户权限定义

1、数据库管理员分配

2、记录到数据字典

2、合法权限检查

1、用户发出存取数据库操作请求

2、DBMS查找数据字典,进行合法权限检查

2、常用存取控制方法

1、自主存取控制DBC

1、用户对数据对象,有不同的权限、范围、能力不同

2、用户可以将自身权限转授给其他用户

3、C2级的数据库管理系统支持

2、强制存取控制

1、数据对象被标志成一定的秘密等级,用户级别和数据级别一致才能访问

2、B1级数据库管理系统支持

3、存取控制对象权限

1、图示

image-20230905221111756

4.2.3、自主存取控制方法

1、GRANT语句和REVOKE语句实现

1、用户权限概念

1、定义用户可以在哪些数据库对象定义那些类型的操作,就叫授权

2、用户权限组成

1、数据对象、操作类型

3、关系数据库中存取控制对象

4.2.4、授权:授予与回收

1、GRANT和REVOKE语句

1、GRANT

1、内容

1、操作对象的指定操作权限授予指定用户

2、格式
GRANT<权限>[,<权限>]
ON <对象类型> <对象名>
TO <用户> [<用户>]
[WITH GRANT OPTION];
3、说明

1、发起GRANT法人,可以是数据库管理员、数据库对象创建者,拥有该权限的用户

2、接受权限可以是1个人或一群人

3、WITH GRANT OPTION子句:有权限,该权限可以授予其他用户,没有权限,该权限不能授予其他用户

4、SQL标准不允许循环授权

4、例子

1、例子1

image-20230905231450101

2、REVOKE

1、内容

1、可以由数据库管理员 或其他授权的人,收回权限

2、格式
REVOKE <权限> [,<权限>]
ON <对象类型> <对象名> [,<对象类型><对象名>]
FROM <用户> [,<用户> CASCADE|RESTRICT]
3、例子

1、例子1

image-20230905232053538

2、注意

①用户U5的权限被收回了,还加了CASCADE关键字的话,就是连根拔起,系统也会吧U5授予其他用户权限也收回

3、总结

1、数据库管理的授权

1、拥有所有对象的权限

2、可以根据情况授予其他用户权限

2、用户授权

1、拥有自己建的表的所有权限

2、可以使用GRANT,把权限分给其他用户

3、被授权用户的权限

1、如果有“WITH GRANT OPTION”关键字的话,就可以把权限授予其他用户

4、授予出去的权限在必要时可以用REVOKE进行收回

4、创建数据库模式的权限

1、数据库管理员,创建用户,需要给用户对创建数据库模式的权限

1、格式
CREATE USER <username>
[WITH] [DBA|RESOURCE|CONNECT];
2、说明

1、DBA才能创建一个新的数据库用户

2、新创建数据库用户,有三种权限CONNNECT/RESOURCE和DBA,默认只有CONNECT

3、CONNECT权限:只能登录数据库

4、RESOURCE权限:能创建基本表和视图,可以管理自己创建的数据对象,不能创建模式,不能创建用户

5、DBA所有都可以创建,也可以创建一个新的DBA

3、权限与可执行操作对照表

1、图示

image-20230905233028259

4.2.5、数据库角色

1、数据库角色是被命名的一组与数据库操作相关的权限,用户是权限的集合

2、可以为一组具有相同角色的用户创建一个角色,简化授权过(例如之前要给每个学生名字授权,现在创建一个学生角色,就只用弄一次)

3、SQL使用CREATE ROLE语句;再用GRANT授权

1、角色的创建

1、格式

CREATE ROLE <角色名>;

2、给角色授权

1、格式

GRANT <权限>[,<权限>]
ON <对象类型> 对象名 
TO <角色> [,<角色>];
3、将一个角色授予其他角色或用户
1、格式
GRANT <角色1>[,<角色2>]
TO <角色3>[,<用户1>]
[WITH ADMIN OPTION]
2、说明

1、授予权限的角色,拥有被授权角色的所有权限

2、可以授予给其他角色

3、角色权限的收回

1、格式
REVOKE <权限>[,<权限>]
ON <对象类型> <对象名>
FROM <角色>[,<角色>]
2、说明

1、可以收回、也相当于修改用户的权限

2、REVOKE的执行者只能是:授予权限的用户、DBA、权限比该权限大的角色

3、例子

1、例子1

image-20230905234814312

4.2.6、强制存取控制方法

1、自主存取控制缺点

1、风险

1、数据将“无意泄漏”

2、原因

1、只对数据存取有权限

2、对数据本身没有安全性标记

3、解决

1、对系统控制下的所有主客体实施强制存取控制策略

2、强制存取控制

1、作用

1、更高安全性、无法直接感知,控制

2、强制存取控制实体分类

1、主体:系统中的活动实体,用户和代表用户的各进程

2、客体:系统中被动实体,就是数据库中的数据

3、敏感度标记(Label)

1、主体和客体都有标签

4、敏感度标记分成若干级别

1、绝密:TS

2、机密:S

3、可信:C

4、公开:P

5、次序:TS>=S>=C>=P

6、主体敏感度标记:许可证级别

7、客体敏感度标记:密级

3、强制存取控制规则

1、两条规则

1、主体许可证级别>=客体密级,才能读取客体

2、主体许可证级别<=客体密级,才能写相应客体

2、说明

1、标记和数据是不可分的整体

2、符合密级,用户才能操作

3、前提是先自主存取控制(先登录有权限访问数据库,但是可能没有权限访问高级别数据)

4、自主存取控制+强制存取控制

4、DAC+MAC安全检查

1、图示

image-20230906000620530

4.3、视图机制

1、作用

1、保密数据不对用户开放,直接隐藏起来

2、间接地实现支持存取谓词的用户权限定义

3、视图不是实表,是虚表。就类似一块幕布,投影所需数据在上面

2、例子

image-20230906201444491

4.4、审计

1、什么是审计?

1、审计日志:对用户在数据库操作的所有步骤记录

2、审计员:利用审计日志监控数据库的各种行为,找出非法存取数据的人、时间、内容

3、:C2以上的安全级别DBMS必须有审计功能

2、审计功能的可选性

1、审计很浪费时间空间

2、DBA可以灵活开启和关闭

3、主要用于较高的部门

3、审计事件

1、服务器事件

1、审计数据库发生的事件

2、系统权限

1、对系统有用的结构或模式对象进行操作的审计,一般要求操作是通过系统获得的

3、语句事件

1、对SQL语句、DDL、DML、DQL、DCL语句进行审计

4、模式对象事件

1、对特点模式对象上进行SELECT或DML操作的审计

4、审计功能

1、基本功能

1、提供多种审计查阅方式(查阅审计)

2、多套审计规则

1、初始化设定

3、提供审计分析和报表功能
4、审计日志管理功能

1、审计日志,必须先转储后删除

2、对审计日志提供完整性和保密性保护

3、只有审计员才有阅读和转储审计记录,不允许其他用户修改

5、提供程序审计设置及审计局记录信息的专门视图

5、审计分类

1、分为用户级审计、系统级审计

1、用户级审计

1、任何用户可以设置审计,只针对自己创建的表

2、系统级审计

1、只有数据库管理员设置,检测数据库所有操作

6、AUDIT语句NOAUDIT语句

1、AUDIT语句:设置审计功能
2、NOAUDIT语句:取消审计功能
3、例子

image-20230906203542844

4、说明

1、审计设置和审计日志,一般存储在数据字典

2、必须打开审计开关,系统参数audit_trail设为true,才能看到审计信息

3、数据库安全审计系统,提供了一种事后检查的安全机制

4.5、数据加密

1、防止数据库中的数据在,存储和传输中失密的有效手段

2、根据算法,将明文变成不可直接识别的格式—密文

3、存储加密和传输加密

1、存储加密

1、透明存储加密

1、内核级加密保护方式,对用户完全透明

2、将数据写在磁盘的时候,对数据进行加密,授权用户读取数据,再进行解密

3、信息即可应用创建不需要做任何修改,只需要在创建表语句中说明,需要加密的字段

4、内核加密方法:性能较好,安全完备性较高

5、非透明存储加密

1、通过多个加密函数实现

2、传输加密

1、链路加密

1、链路层进行加密

2、由报头和报文两部分组成,报文和报头加密

2、端到端加密

1、发送端加密,接收端解密

2、只加密报文,不加密报头

3、所需密码设备数量相对较少,容易被非法监听者获取敏感信息

3、数据库管理系统可信传输示意图

image-20230906213821469

1、确定通信双方端点的可靠性

1、采取数字证书的服务器和客户端认证方式,通信时,先像对方提供己方证书,然后使用本地的CA证书信任列表(白名单)和证书撤销列表对阶收到的对方证书进行验证

2、协商加密算法和密钥

1、确定对方可靠后,就会开始协商

3、可信数据传输

1、数据被发送前,会进行密钥加密,以密文形式在网上传输。数据接收时,需要用相同的加密算法,进行解密

4.6、其他安全性措施

1、推理控制

1、概念

1、处理强制存取控制未解决的问题,避免用户能够越级访问机密数据

2、常用方法

1、基于函数依赖的推理控制,基于每个关联的推荐控制机制

2、隐蔽信道

1、处理强制存取控制未解决的问题

3、数据隐私保护

1、个人控制,不愿意其他人知道的数据;整个阶段都要加密(包括加入、存储、传输等)

4.7、小结

1、数据库管理系统是数据库的核心,必须有一套完整而有效的安全机制

2、安全措施

1、用户身份鉴别

2、自主存取控制和强制存取控制技术

3、视图技术和审计技术

4、数据加密存储和加密传输

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇