数据库安全性

本文探讨了数据库的安全性问题,包括非授权访问、数据泄露、安全环境脆弱性以及安全标准。文章详细介绍了各种安全措施如用户身份鉴别、存取控制(自主存取控制和强制存取控制)、视图机制和审计的重要性。
摘要由CSDN通过智能技术生成

背景:数据库的一大特性就是数据共享,这样我们就不能不考虑数据库的安全性问题。

1.数据库的不安全因素

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

  • 一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户 口令,然后假冒合法用户偷取、修改甚至破坏用户数据。
  • 数据库管理系统提供的安全措施主要包括
    • 用户身份鉴别
    • 存取控制
    • 视图等技术

1.2数据库中重要或敏感的数据被泄露

  • 黑客和敌对分子千方百计盗窃数据库中的重要数据
  • 一些机密信息被暴露
  • 数据库管理系统提供的主要技术有
    • 强制存取控制
    • 数据加密存储
    • 加密传输 
    • 审计日志分析

1.3安全环境的脆弱性

  • 数据库的安全性与计算机系统的安全性紧密联系
    •  计算机硬件、操作系统、网络系统等的安全性
  • 建立一套可信(Trusted)计算机系统的概念和标准

2.安全标准简介

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

2.2TCSEC/TDI安全级别划分

3.数据库安全性控制概述

3.1非法使用数据库的情况

  • 用户编写一段合法的程序绕过DBMS及其授权机制,通过操作系统直接 存取、修改或备份数据库中的数据;
  • 直接或编写应用程序执行非授权操作;
  • 通过多次合法查询数据库从中推导出一些保密数据;
  • 破坏安全性的行为可能是无意的,故意的,恶意的。

3.2计算机系统中,安全措施是一级一级层层设置

  • 系统根据用户标识鉴定用户身份,合法用户才准许进入计算机系统
  • 数据库管理系统还要进行存取控制,审计,视图,只允许用户执行合法 操作
  • 操作系统有自己的保护措施
  • 数据以密码形式存储到数据库中

3.3用户标识与鉴别

  • 1.静态口令鉴别
    • 静态口令一般由用户自己设定,这些口令是静态不变的(自己设置的密码)
  •  2.动态口令鉴别
    • 口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理 系统,即采用一次一密的方法(手机验证码)
  • 3.智能卡鉴别
    • 智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能
  • 4.生物特征鉴别
    • 通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等

3.4存取控制

3.4.1存取控制机制的功能

确保只授权给有资格的用户访问数据库的权限

3.4.2存取控制机制的组成

3.4.3权限的种类

  • 维护数据库管理系统的权限
  • 操作数据库对象和数据的权限

3.4.4用户(即合法用户)按操作权限分

  • 数据库系统管理员
  • 数据库对象拥有者
  • 普通用户

4.常用存取控制方法

自主存取控制(Discretionary Access Control ,简称DAC)

  • C2级、 灵活
  • 用户对不同的数据对象不同的存取权限
  • 不同的用户同一对象也有不同的权限
  • 用户还可将其拥有的存取权限转授给其他用户

强制存取控制(Mandatory Access Control,简称 MAC)

  • B1级、严格
  • 每一个数据对象被标以一定的密级
  •  每一个用户也被授予某一个级别的许可证
  • 对于任意一个对象只有具有合法许可证的用户才可以存取

4.1自主存取控制方法

可以通过通过 SQL 的GRANT 语句和REVOKE 语句实现。

用户权限组成

  • 数据对象
  • 操作类型

定义用户存取权限

  • 定义用户可以在哪些数据库对象上进行哪些类型的操作

定义存取权限称为授权

4.1.1grant语句

授权 GRANT语句的一般格式:

(例一)把查询Student表权限授给用户U1

GRANT SELECT
ON TABLE Student
TO U1;

(例二)把对Student表和Course表的全部权限授予用户U2和U3

GRANT ALL PRIVILIGES
ON TABLE Student, Course
TO U2, U3;

(例三)把对表SC的查询权限授予所有用户

GRANT SELECT
ON TABLE SC
TO PUBLIC;

(例四)把查询Student表和修改学生学号的权限授给用户U4

GRANT UPDATE(Sno), SELECT
ON TABLE Student
TO U4;

对属性列的授权时必须明确指出相应属性列名

(例五)把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予 其他用户

GRANT INSERT
ON TABLE SC
TO U5 WITH GRANT OPTION;

U5可以传播此权限:

GRANT INSERT ON TABLE SC TO U6
WITH GRANT OPTION;

U6可以传播此权限:

GRANT INSERT ON TABLE SC TO U7;

U5--> U6--> U7,但U7不能再传播此权限

例:在数据库的安全性控制中,授权的数据对象的____C_____,授权子系统 就越灵活。

(A)范围越大

(B)约束范围大

(C)范围越小

(D)约束越细致

4.1.2SQL收回权限的功能

例:把用户U4修改学生学号的权限收回

REVOKE UPDATE(Sno)
ON TABLE Student
FROM U4;

例:收回所有用户对表SC的查询权限

REVOKE SELECT 
ON TABLE SC 
FROM PUBLIC;

例:把用户U5对SC表的INSERT权限收回

REVOKE INSERT 
ON TABLE SC 
FROM U5 CASCADE;

系统将收回直接或间接从U5处获得的对SC表的INSERT权限

收回U6、U7获得的对SC表的INSERT权限:

<--U5<-- U6<-- U7

4.1.3数据库角色

  • 数据库角色是被命名的一组与数据库操作相关的权限
  • 角色是权限的集合
  • 创建角色
    • CREATE ROLE <角色名>
  • 给角色授权
    • GRANT <权限组> <对象> ON TO <角色组>
  • 将一个角色授予其他的角色或用户
  • 角色权限的回收

例:安全性控制的防范对象是?防止他们对数据库数据的存取。

答:非法非授权用户

4.2强制存取控制方法(MAC)

MAC适用于对数据有严格而固定密级分类的部门 ,如军 事部门、 政府部门

主体与客体:

  • 主体 是系统中的活动实体
    • 数据库管理系统所管理的实际用户
    • 代表用户的各进程
  • 客体 是系统中的被动实体,是受主体操纵的
    • 文件、 基表、 索引、 视图

4.2.1敏感度标记

敏感度标记分成若干级别

  • 绝密(Top Secret,TS)
  • 机密(Secret,S)
  •  可信(Confidential,C)
  • 公开(Public,P)

主体——许可证级别

客体——密级

对于任意一个对象,只有具有合法许可证的用户才可以存取

4.2.2强制存取控制规则

  • 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读 相应的客体;
  • 主体的许可证级别 <=客体的密级,主体能客体,用户可为写入的 数据对象赋予高于自己的许可证级别的密级,一旦数据被写入,该用户 自己也不能再读该数据对象了

5.视图机制

  • 视图机制通过为不同用户定义不同视图,把数据对象限制在一定 的范围内
  • 视图机制把要保密的数据对无权存取这些数据的用户隐藏起来, 从而自动对数据提供一定程度的安全保护
  • 视图机制更主要的功能在于提供数据独立性,其安全保护功能太 不精细,往往远不能达到应用系统的要求。

6.审计

启用一个专用的审计日志(Audit Log),将用户对数据库的所有操作记录在上面。DBA可以利用审计日志中的追踪信息,找出非法存取数据的人。C2以上安全级别的DBMS必须具有审计功能

  • 16
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

背水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值