【数据库概论】第四章 数据库安全性

4.1 概述

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

数据库的不安全因素主要有以下几种

  • 非授权用户对数据库的恶意存取和破坏
  • 数据库中重要或者敏感数据被泄漏
  • 安全环境的脆弱性

4.2 数据库安全性控制

在这里插入图片描述
在这里插入图片描述

1.用户身份识别

用户身份识别是DBMS最外层的安全保护措施每个用户在系统中都有一个唯一的标识每次用户进入系统时由系统进行核对通过鉴定后才提供使用DBMS的权限。常用的用户身份鉴别方法有以下几种

  1. 静态口令鉴别

    最常见的鉴别方法静态口令一般由用户自己设定鉴别的时候输入正确指令则可以登入用户这些口令是静态不变的。这种方法实现简单但是安全性较低。在实际中用户喜欢使用自己的生日、手机号甚至直接是admin等简单密码作为口令因此十分容易被破解这种被称为弱口令攻击。另外的攻击被称为撞库一旦黑客攻陷一个数据库则会用从该数据库中获得的用户口令去测试其他数据库一旦有用户在两个数据库中使用了相同的口令就可能被破解。一般加强安全性的方法都是提高口令复杂度

  2. 动态口令鉴别

    目前较为安全的鉴别方式这种方式口令是动态的每次鉴别时需要使用动态产生的新口令登陆数据库。常用的方法有短信验证码和动态令牌的方法。与静态口令相比动态口令增加了窃取和破解的难度安全性较高

  3. 生物特征鉴别

    指纹、声纹、面部、瞳孔识别。安全级别较高。

  4. 智能卡识别

    智能卡是一种不可复制的硬件内置集成电路芯片具有硬件加密功能。智能卡由用户随身携带登陆DBMS需要将卡插入专用读卡器。但是智能卡中的数据是静态的可能通过内存扫描和网络监听泄漏因此一般都是智能卡和PIN码相结合使用。

2.存取控制

数据库安全最重要的一点是确保只授权给有资格的用户访问数据库的权限同时令未授权的无法接触数据。

存取控制机制主要包括定义用户权限和合法性权限检查两部分

  1. 定义用户权限并且将用户权限登记到数据字典中

    将用户拥有何种权限通过定义后存储在数据字典中被称为安全规则或者授权规则。

  2. 合法权限检查

    每当用户发出存取数据库的操作请求后DBMS查找数据字典进行合法权限检查如果用户操作超出了定义的权限则拒绝执行。
    定义用户权限和合法权限检查机制一起组成了DBMS系统的存取控制子系统

    C2级的DBMS支持自主存取控制DAC用户对于不同数据库对象由不同的存取权限而且用户还可以将拥有存取权限转授给其他用户因此自主存取非常灵活。
    B1级的DBMS支持强制存取控制MAC每一个数据库对象被标定一定的密级每一个用户被授予一定的访问级别许可证只有具有合法许可证的用户才可以存取强制存取控制比较严格

3.自主存取控制方法

用户权限由两要素组成数据库对象和操作类型。定义一个用户的存取权限就是定义这个用户可以在哪些数据库对象上进行什么类型操作。定义存取权限由称为授权。这主要通过SQL的GRANT语句和REVOKE语句实现

在关系数据库中存取控制对象不只有数据本身还有数据库模式包括数据库、基本表、视图和索引的创建等。下面列出主要的存取权限
在这里插入图片描述

4.授权授予与收回

GRANT授权语句

GRANT一般格式为

GRANT <权限>[,<权限>]…
ON <对象类型><对象名》[,<对象类型><对象名>]…
TO <用户>[,<用户>]…
[WITH GRANT OPTION]

语意为将指定操作对象的指定操作权限授予给指定用户。如果指定了WITH GRANT OPTION语句则获得某种权限的用户可以讲权限再授予其他用户没有的话被授予者只能使用不能传播权限。同时SQL不允许循环授权也就是A授权给BB授权给CC授权给A

REVOKE收回权限

授予用户权限可以由数据库管理员或者其授权者使用REVOKE收回REVOKE语句一般格式是

REVOKE <权限>[,<权限>]…
ON <对象类型><对象名>[,<对象类型><对象名>]…
FROM <用户>[,<用户>]…[CASCADE|RESTRICT];

CASCADE级联会将该用户的权限以及它授予其他用户的权限一并收回RESTRICT限制如果发现用户还将权限授予了其他用户则会拒绝执行

因为用户可以自主地觉定将数据存储的权限授予何人决定他人有无授权的权力因此这样的存取控制又称自主存取控制

3.创建数据库模式的权限

上述是向用户授予或者回收对数据的操作权限。对创建数据库模式一类的数据库对象的授权则由数据库管理员在创建用户时实现。

创建用户语句格式如下

CREATE USER <username> [WITH] [DBA|RESOURCE|CONNECT]
  • 只有系统的超级用户才有权创建一个新的数据库用户
  • 新创建的数据库用户有三种权限
  • 默认权限为CONNECT。该权限的用户只能登陆数据库并且使用由DBA或者其他用户授予的存取权限。他不能新建用户、创建模式、创建基本表。
  • 拥有RESOURCE权限的用户能够创建基本表和视图称为所创建对象的属主OWNER但是不能创建模式、创建用户。数据库对象的属主可以通过GRANT语句将该对象的权限授予他人。
  • 拥有DBA权限的用户时超级用户可以创建用户、创建模式、创建基本表和视图DBA拥有所有数据库对象的存取权限也可以将权限授予一般用户

在这里插入图片描述

4.数据库角色

数据库角色是被命名的一组与数据库操作相关的权限角色是权限的集合。

创建角色

CREATE ROLE <ROLE NAME>

给角色授权:

GRANT <权限>[,<权限>]...
ON <对象类型>对象名
TO <角色>[,<角色>]...

将一个角色授予其他的角色和用户

GRANT <ROLE1>[,<ROLE2>]...
TO <ROLE3>[,<用户1>]...
[WITH ADMIN OPTION]

5.角色权限的回收

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

6.强制存取控制方法MAC

自主存取控制由于用户对数据存储的权限也是可以授予的因此仍可能存在数据的无意泄露。比如甲授权乙操作A表但是乙却复制了A表的副本使得A表内容发生了泄露此时就需要强制存取控制方法

所谓强制存取控制是指系统为保证更高的安全性采取强制存取检查手段。它不是用户能够直接感知或进行控制的。该策略适用于那些对数据由严格而且固定密级分类的部门比如说军事部门或者政府部门。

在该系统中DBMS所管理的全部实体被分为了主体客体两大类。主体是系统中活动的实体包括实际用户以及代表各个用户的各个进程。客体是被动实体是受主体操纵的包括文件、基本表、索引、视图等等。对于实体和客体DBMS都会为他们每一个实例直拍一个敏感度标记

敏感度标记被分为若干级别分为绝密TS机密S可信C公开P。主体的敏感度标记称为许可证级别客体的称为密级。其要求如下

  • 只有主体许可级别>=客体密级的时候主体才能读取相应客体
  • 只有主体许可级别<=客体密级的时候主体才能写相应客体

如果没有第二条限制可能把数据的密级从高流向低造成数据泄露。比如某个TS密级的主体将一个TS的数据恶意降低到了P然后写回则会导致数据泄露。强制存取控制是对数据本身进行密级标记两者是不可分割的因此哪怕是数据被复制了密级也会跟随着被复制即时有了数据没有足够的密级也无法访问。

4.3 视图机制

可以为不同用户定义不同的视图将数据对象限制在一定范围内。就是说通过视图机制把保密的数据对某些用户隐藏起来。这些用户的视图中并不包含他们无权查看的数据。

4.4 审计

审计功能是达到C2以上安全级别必不可少的一项指标。审计功能将用户对数据库的所有操作自动记录下来并且放入到审计日志中。审计员可以利用审计日志监控数据库中的各种行为重现导致数据库现状的一系列事件并且找出非法存取数据的人、时间和内容。审计通常十分耗费时间和空间所以DBMS往往可以灵活打开或者关闭审计功能。审计功能主要用户对安全性要求较高的部门。

审计事件

一般包含服务器事件、系统权限、语句事件、模式对象事件等等

审计功能

  • 基本功能提供多种审计察隅方式基本的、可选的、有限的
  • 提供多套升级规则
  • 提供审计分析和报表功能
  • 审计日志管理功能包括防止误删除等等

4.5 数据加密

加密的基本思想是根据一定的原始算法将一定的原始数据——明文变成不可直接识别的格式——密文。数据加密主要包括存储加密和传输加密

存储加密

对于存储加密一般提供透明和非透明两种存储加密方式。透明存储加密是内核级加密保护方式对用户完全透明非透明存储加密则是通过多个加密函数实现的。透明存储加密是数据在写到磁盘时对数据进行加密用户读取数据时再对其进行解密。

传输加密

待补充

4.6 其他安全性保护

为了满足较高的安全等级的DBMS在自主存取技术和强制存取控制之外还有推理控制以及数据库应用中隐秘信道数据隐私保护技术

推理控制处理的是强制存取控制未解决的问题。例如利用列的函数依赖关系用户能够从低安全等级信息推导出无权访问的高安全等级信息进而导致信息泄露。数据库推理控制机制用来避免用户利用其可访问的数据反推出更高密级的数据。

隐秘信道处理的内容是利用未被强制存取控制 的SQL执行后反馈的信息进行间接信息传递。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 数据库