【文档说明】第5章安全性控制技术.pptx,共(42)页,129.972 KB,由精品优选上传
转载请保留链接:https://www.ichengzhen.cn/view-288229.html
以下为本文档部分文字说明:
DatabaseSecurity金培权(jpq@ustc.edu.cn)第5章安全性控制技术2DatabaseSecurity金培权(jpq@ustc.edu.cn)Databasesprotection数据库保护:排除和防止各种对数据库的干扰破坏,确保数据安全可靠,以及在数据库遭到破坏后尽快地
恢复数据库保护通过四个方面来实现数据库的恢复技术Dealwithfailure并发控制技术Dealwithdatasharing完整性控制技术Enableconstraints安全性控制技术Authorizationandauthentication3DatabaseSe
curity金培权(jpq@ustc.edu.cn)主要内容数据库安全性控制概述用户标识与鉴别存取控制视图机制4DatabaseSecurity金培权(jpq@ustc.edu.cn)一、数据库安全性控制概述非法使用数据库的情况用户编写一段合法的程
序绕过DBMS及其授权机制,通过操作系统直接存取、修改或备份数据库中的数据;直接或编写应用程序执行非授权操作;通过多次合法查询从数据库中推导出一些保密数据5DatabaseSecurity金培权(jpq@ustc.edu.cn)一、数据库安全性控制概述例:某数据库应用
系统禁止查询单个人的工资,但允许查任意一组人的平均工资。用户甲想了解张三的工资,于是他:首先查询包括张三在内的一组人的平均工资然后查用自己替换张三后这组人的平均工资从而推导出张三的工资6DatabaseSec
urity金培权(jpq@ustc.edu.cn)一、数据库安全性控制概述计算机系统中的安全模型应用DBMSOSDB低高安全性控制层次方法:用户标识和鉴定存取控制审计视图操作系统安全保护密码存储7DatabaseSecu
rity金培权(jpq@ustc.edu.cn)一、数据库安全性控制概述数据库安全性控制的常用方法用户标识和鉴定存取控制视图审计密码存储8DatabaseSecurity金培权(jpq@ustc.edu.cn)
二、用户标识与鉴别用户标识与鉴别(Identification&Authentication)系统提供的最外层安全保护措施9DatabaseSecurity金培权(jpq@ustc.edu.cn)1、用户标识与鉴别基本
方法系统提供一定的方式让用户标识自己的名字或身份;系统内部记录着所有合法用户的标识;每次用户要求进入系统时,由系统核对用户提供的身份标识;通过鉴定后才提供系统使用权。用户标识和鉴定可以重复多次10DatabaseSecurity金培权(jpq
@ustc.edu.cn)2、用户标识自己的名字或身份用户名/口令简单易行,容易被人窃取每个用户预先约定好一个计算过程或者函数系统提供一个随机数用户根据自己预先约定的计算过程或者函数进行计算系统根据用户计算结果是否正确鉴定用户身份11DatabaseSecurity金培权(jpq@ustc.e
du.cn)三、存取控制存取控制机制的功能授权(Authorization)对每个用户定义存取权限验证(Authentication)对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作授权
和验证机制一起组成了DBMS的安全子系统12DatabaseSecurity金培权(jpq@ustc.edu.cn)三、存取控制常用存取控制方法自主存取控制(DiscretionaryAccessControl,简称DAC)C2级灵活强制存取控制(MandatoryAcce
ssControl,简称MAC)B1级严格13DatabaseSecurity金培权(jpq@ustc.edu.cn)1、自主存取控制方法同一用户对于不同的数据对象有不同的存取权限不同的用户对同一对象也有不同的权限用户还可将其拥有的存取权限转授给其他用户14DatabaseSec
urity金培权(jpq@ustc.edu.cn)(1)存取权限存取权限由两个要素组成数据对象操作类型15DatabaseSecurity金培权(jpq@ustc.edu.cn)(2)关系数据库系统中的存取权限16DatabaseSecurity金培权(jpq@us
tc.edu.cn)(2)关系数据库系统中的存取权限关系数据库系统中的存取权限定义方法GRANT/REVOKE/DENY17DatabaseSecurity金培权(jpq@ustc.edu.cn)(3)授予权限GRANT{ALL|statement[,...n]}TOsecurity_
account[,...n]GRANT{ALL[PRIVILEGES]|permission[,...n]}{[(column[,...n])]ON{table|view}|ON{table|view}[(column[,...n])]|O
N{stored_procedure|extended_procedure}|ON{user_defined_function}}TOsecurity_account[,...n][WITHGRANTOPTION][AS{group|role}]语句权限对象权限18
DatabaseSecurity金培权(jpq@ustc.edu.cn)(3)授予权限例子:授予语句权限下面的示例给用户Mary和John授予多个语句权限。GRANTCREATEDATABASE,CREATETABLETOMa
ry,John授予全部语句权限给用户RoseGRANTALLtoRose19DatabaseSecurity金培权(jpq@ustc.edu.cn)(3)授予权限例子:授予对象权限GRANTSELECTONauthorsTOpublicGRANTINSERT,UP
DATE,DELETEONauthorsTOMary,John,Tom20DatabaseSecurity金培权(jpq@ustc.edu.cn)(4)拒绝权限拒绝给当前数据库内的安全帐户授予权限语句权限:DENY
{ALL|statement[,...n]}TOsecurity_account[,...n]对象权限:DENY{ALL[PRIVILEGES]|permission[,...n]}{[(column[,...n])]ON{table|view}|ON{table|v
iew}[(column[,...n])]|ON{stored_procedure|extended_procedure}|ON{user_defined_function}}TOsecurity_account[,...n][CASCADE]21DatabaseSecurity金
培权(jpq@ustc.edu.cn)(4)拒绝权限例子:拒绝语句权限下例对多个用户拒绝多个语句权限。用户不能使用CREATEDATABASE和CREATETABLE语句DENYCREATEDATABASE,CREATETABLETOMary,John对用户Rose拒绝全部语句权限DEN
YALLtoRose22DatabaseSecurity金培权(jpq@ustc.edu.cn)(4)拒绝权限例子:拒绝对象权限DENYINSERT,UPDATE,DELETEONauthorsTOMary,John,Tom23Databas
eSecurity金培权(jpq@ustc.edu.cn)(5)废除权限废除以前授予或拒绝的权限。废除类似于拒绝,但是,废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。因此,如果废除用户查看表的权限,不一定能防止用户查看该表,因为已将
查看该表的权限授予了用户所属的角色。角色是权限的一个集合,可以指派给用户或其它角色。这样只对角色进行权限设置便可以实现对多个用户权限的设置24DatabaseSecurity金培权(jpq@ustc.edu.cn)(5)废除
权限举例:DENY与REVOKE区别从HumanResources角色中删除Employees表上的SELECT访问权限将废除该权限,从而使HumanResources不能再使用该表。如果HumanResources
是Administration角色的成员。如果以后将Employees上的SELECT权限授予了Administration,则HumanResources的成员可以通过Administration中的成员资格看到该表。但是,如果对HumanR
esources拒绝SELECT权限,则即使以后向Administration授予权限,HumanResources也不会继承该权限25DatabaseSecurity金培权(jpq@ustc.edu.cn
)(5)废除权限例子:废除授予用户帐户的语句权限下例废除已授予用户Joe的CREATETABLE权限。它删除了允许Joe创建表的权限。不过,如果已将CREATETABLE权限授予给了包含Joe的任何角色,那么Joe仍可创建表。REVOKECREATETABLEFROMJo
e26DatabaseSecurity金培权(jpq@ustc.edu.cn)(5)废除权限例子:废除授予多个用户帐户的多个权限下例废除授予多个用户的多个语句权限。REVOKECREATETABLE,CR
EATEINDEXFROMMary,John27DatabaseSecurity金培权(jpq@ustc.edu.cn)(5)废除权限例子:废除拒绝的权限用户Mary是Budget角色的成员,已给该角色授予了对Budget_Data表的SELECT权限。已
对Mary使用DENY语句以防止Mary通过授予Budget角色的权限访问Budget_Data表下例删除对Mary拒绝的权限,并通过适用于Budget角色的SELECT权限,允许Mary对该表使用SELECT语句。REVOKESELECTONBudget
_DataTOMary28DatabaseSecurity金培权(jpq@ustc.edu.cn)(6)权限验证对于通过鉴定后又进一步发出存取数据库操作的用户DBMS查找数据字典,根据其存取权限对操作的合法性进行检查若用户的操作请求超出了定义的权限,系统将拒绝执行此操作29DatabaseSe
curity金培权(jpq@ustc.edu.cn)(7)授权粒度授权粒度是指可以定义的数据对象的范围它是衡量授权机制是否灵活的一个重要指标授权定义中数据对象的粒度越细,即可以定义的数据对象的范围越小,授权子系统就越灵活。30DatabaseSecurity金培权(jpq@ustc.edu.
cn)(7)授权粒度关系数据库中授权的数据对象粒度数据库表属性列行31DatabaseSecurity金培权(jpq@ustc.edu.cn)(8)实现用户自定义的授权利用存取谓词存取谓词可以很复杂可以引用系统变量,如终端设备号,系统时钟等,实现与时间地点有关的存取权限,这样用户只能在某段时
间内,某台终端上存取有关数据32DatabaseSecurity金培权(jpq@ustc.edu.cn)(8)实现用户自定义的授权例:规定“只能在周一到周五的上班时间9:00-17:00之间处理仓库数据”CREATETRIGGERsecur
e_ckON仓库FORINSERT,DELETE,UPDATEASIFDATENAME(weekday,getdate())='星期六'ORDATENAME(weekday,getdate())='星期日'OR(convert(INT,DATENAME(h
our,getdate()))NOTBETWEEN9AND17)BEGINRAISERROR('只许在工作时间操作!',16,1)ROLLBACKTRANSACTIONEND33DatabaseSecurity金培权(jpq@ustc.edu.cn)(9)自主存取控制小结定义存取权限用户检查
存取权限DBMS授权粒度数据对象粒度:数据库、表、属性列、行优点能够通过授权机制有效地控制其他用户对敏感数据的存取缺点可能存在数据的“无意泄露”:低级别用户访问到保密数据原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身
并无安全性标记解决:对系统控制下的所有主客体实施强制存取控制策略34DatabaseSecurity金培权(jpq@ustc.edu.cn)2、强制存取控制方法每一个数据对象被标以一定的密级每一个用户也被授予某一个级别的许可对于任意一个对象,只有具有合法许可的用户才可以存
取35DatabaseSecurity金培权(jpq@ustc.edu.cn)(1)主体和客体在MAC中,DBMS所管理的全部实体被分为主体和客体两大类主体是系统中的活动实体DBMS所管理的实际用户代表
用户的各进程客体是系统中的被动实体,是受主体操纵的文件基本表索引……36DatabaseSecurity金培权(jpq@ustc.edu.cn)(1)敏感度标记对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)主体的敏感度标记称为存取级(ClearanceLevel)
客体的敏感度标记称为密级(ClassificationLevel)敏感度标记分成若干级别例如:绝密(TopSecret)/机密(Secret)/可信(Confidential)/公开(Public)MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取
客体37DatabaseSecurity金培权(jpq@ustc.edu.cn)(2)强制存取控制规则当某一用户(或某一主体)以标记label注册入系统时,系统要求他对任何客体的存取必须遵循下面两条规则:(1)仅当主体的存取级别大于或等于客体的密级时
,该主体才能读取相应的客体;(2)仅当主体的存取级别等于客体的密级时,该主体才能写相应的客体。38DatabaseSecurity金培权(jpq@ustc.edu.cn)(3)强制存取控制方法特点MAC是对数据本身进行密级标记无
论数据如何复制,标记与数据是一个不可分的整体只有符合密级标记要求的用户才可以操纵数据从而提供了更高级别的安全性39DatabaseSecurity金培权(jpq@ustc.edu.cn)四、视图机制视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,视图
机制更主要的功能在于提供数据独立性,其安全保护功能不够精细,往往远不能达到应用系统的要求实际中,视图机制与授权机制配合使用:首先用视图机制屏蔽掉一部分保密数据视图上面再进一步定义存取权限间接实现了用户自定义的安全控制40DatabaseSecurity金培权(jpq@ustc.edu.c
n)四、视图机制例:王平只能检索计算机系学生的信息先建立计算机系学生的视图CS_StudentCREATEVIEWCS_StudentASSELECTFROMStudentWHEREdept='CS';41DatabaseSecurity金培权(jpq@ustc.edu.cn)四、视图
机制在视图上进一步定义存取权限GRANTSELECTONCS_StudentTO王平;42DatabaseSecurity金培权(jpq@ustc.edu.cn)本章小结数据库安全性控制概述用户标识与鉴别存取控制自主存取控制方法强制存取控制方法视图机制