资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第七章数据库系统安全,第七章数据库系统安全,7.1,数据库系统简介,7.2,数据库系统安全概述,7.3,数据库的数据保护,7.4,死锁、活锁和可串行化,7.5,数据库的备份与恢复,7.6,攻击数据库的常用方法,7.7,数据库系统安全保护实例,本章学习目标,(,1,)理解数据库系统的安全性要求、故障类型、基本安全架构和安全特性。,(,2,)了解数据库安全控制模型;数据库的死锁、活锁和可串行化;掌握数据库的备份与恢复方法。,(,3,)熟悉攻击数据库的常用方法。,(,4,)掌握,SQL Server,和,Oracle,数据库的安全保护方法、策略。,返回本章首页,7.1,数据库系统简介,1,数据库系统的组成,数据库系统,分成两部分:一部分是数据库,按一定的方式存取数据;另一部分是数据库管理系统,为用户及应用程序提供数据访问,并具有对数据库进行管理、维护等多种功能。,返回本章首页,2,数据库,数据库,就是若干数据的集合体。因此数据库要由数据库管理系统进行科学地组织和管理,以确保数据库的安全性和完整性。,3数据库管理系统,(,1,),DBMS,的主要职能,1),有正确的编译功能,能正确执行规定的操作。,2),能正确执行数据库命令。,3),能保证数据的安全性、完整性,能抵御一定程度的物理破坏,能维护和提交数据库内容。,4),能识别用户、分配授权和进行访问控制。,5),顺利执行数据库访问,保证网络通信功能。,(2),DBA,的具体职责,l,决定数据库的信息内容和结构。,l,决定数据库的存储结构和存取策略。,l,定义数据的安全性要求和完整性约束条件。,l,确保数据库的安全性和完整性,不同用户对数据库的存取权限、数据的保密级别和完整性约束条件也应由,DBA,负责决定。,监督和控制数据库的使用和运行,,DBA,负责监视数据库系统的运行,及时处理运行过程中出现的问题。,数据库系统的改进和重组。,4,数据库的特性,(,1,)多用户,(,2,)高可用性,(,3,)频繁的更新,(,4,)大文件,(,5,)安全性与可靠性问题复杂,返回本节,7.2,数据库系统安全概述,数据库系统的安全性要求,数据库系统的安全的含义,数据库的故障类型,数据库系统的基本安全架构,数据库系统的安全特性,返回本章首页,数据库系统的安全性要求,1,数据库的完整性,2,元素的完整性,3,可审计性,4,访问控制,5,用户认证,6,可获性,表,7.1,数据库系统安全性要求,返回本节,数据库系统的安全的含义,1,系统运行安全,系统运行安全包括:法律、政策的保护,如用户是否有合法权利,政策是否允许等;物理控制安全,如机房加锁等;硬件运行安全;操作系统安全,如数据文件是否保护等;灾害、故障恢复;死锁的避免和解除;电磁信息泄漏防止。,2,系统信息安全,系统信息安全包括:用户口令字鉴别;用户存取权限控制;数据存取权限、方式控制;审计跟踪;数据加密。,返回本节,数据库的故障类型,1,事务内部的故障,2,系统范围内的故障,3,介质故障,4,计算机病毒与黑客,返回本节,数据库系统的基本安全架构,1,用户分类,:,一般将权限分为三类:数据库登录权限类、资源管理权限类和数据库管理员权限类。,2,数据分类,:,建立视图。,3,审计功能:,监视各用户对数据库施加的动作。有两种方式的审计,即用户审计和系统审计。,返回本节,数据库系统的安全特,1,数据独立性,2,数据安全性,3,数据的完整性,4,并发控制,5,故障恢复,返回本节,7.3,数据库的数据保护,数据库的安全性,数据库中数据的完整性,数据库并发控制,返回本章首页,数据库的安全性,1,用户标识和鉴定,2,存取控制,3,数据分级,4,数据库加密,图7.1数据库安全控制模型,表,7.2,授权规则表,返回本节,数据库中数据的完整性,1,数据类型与值域的约束,2,关键字约束,3,数据联系的约束,返回本节,数据库并发控制,1,)未加控制的并发操作,见表,7.3,。,2,)未加控制的并发操作读取造成数据不一致,见表,7.4,。,3,)未提交更新发生的并发操作错误,见表,7.5,。,解决方案见表,7.6,、表,7.7,、表,7.8,。,表,7.3,未加控制的并发操作过程,表,7.4,并发操作造成数据不一致,表,7.5,未提交更新而发生的并发操作,表,7.6,原表,7.3,加锁后的执行状态,表,7.7,原表,7.4,加锁后的执行状态,表,7.8,原表,7.5,加锁后的执行状态,返回本节,7.4,死锁、活锁和可串行化,死锁与活锁,可串行化,时标技术,返回本章首页,死锁与活锁,某个事务永远处于等待状态称为活锁。两个或两个以上的事务永远无法结束,彼此都在等待对方解除封锁,结果造成事务永远等待,这种封锁叫死锁。举例过程如表,7.9,所示。,表,7.9,造成事务永远等待的死锁过程,返回本节,可串行化,并行事务执行时,系统的调度是随机的,因此,需要一个尺度去判断事务执行的正确性。当并行操作的结果与串行操作的结果相同时,我们就认为这个并行事务处理结果是正确的。这个并行操作调度称为可串行化调度。可串行化是并行事务正确性的准则。这个准则规定,一个给定的交叉调度,当且仅当它是可串行化的,才认为是正确的。,返回本节,时标技术,时标技术是避免因出现数据不一致而造成的破坏数据库的完整性。不会产生死锁的问题。,时标和封锁技术的区别是:封锁是使一组事务的并发执行同步,使它等价于这些事务的某一串行操作;时标法也是使一组事务的交叉执行同步,但是它等价于这些事务的一个特定的串行执行,由时标的时序所确定的一个执行。如果发生冲突,通过撤消并重新启动一个事务解决。,返回本节,7.5,数据库的备份与恢复,数据库的备份,数据库的恢复,返回本章首页,数据库的备份,1,冷备份:,冷备份是在没有最终用户访问它的情况下关闭数据库,并将其备份。,2,热备份:,热备份是在数据库正在被写入的数据更新时进行。热备份严重依赖日志文件。,3,逻辑备份:,逻辑备份使用软件技术从数据库提取数据并将结果写入一个输出文件。,返回本节,数据库的恢复,1,数据库的恢复办法,1,)周期性地(如,3,天一次)对整个数据库进行转储,把它复制到备份介质中(如磁带中),作为后备副本,以备恢复之用。,2,)对数据库的每次修改,都记下修改前后的值,写入“运行日志”数集中。它与后备副本结合,可有效地恢复数据库。,图7.2 数据库的恢复,2,利用日志文件恢复事务,(,1,)登记日志文件(,logging,):,执行操作的事务标识,操作类型,更新前数据的旧值,更新后的新值。,(,2,)事务恢复:1)从头扫描日志文件,找出哪些事务在故障发生时已经结束,哪些事务尚未结束。2)对尚未结束的事务进行撤消处理,对已经结束的事务进行重做,。,返回本节,7.6,攻击数据库的常用方法,1,突破,Script,的限制,2,对,SQL,口令的突破,3,利用多语句执行漏洞,4,SQL Server,的安装漏洞,5,数据库的利用,6,数据库扫描工具,返回本章首页,7.7,数据库系统安全保护实例,SQL Server,数据库的安全保护,Oracle,数据库的安全性策略,返回本章首页,SQL Server,数据库的安全保护,1,SQL Server,的安全管理,(,1,)用户识别,(,2,),SQL Server,的安全模式,(,3,)口令,(,4,)权限管理,2,SQL Server,的备份,(,1,),SQL Server,的备份类型:完全备份、增量备份、表(,table,),备份,。,(,2,)创建备份:备份数据库、备份事务处理日志。,3,SQL Server,的恢复,(,1,)恢复数据库,:,删除有缺陷的数据库、重入数据库备份。,(,2,)使用事务处理日志,(,3,)恢复,master,数据库,(,4,)恢复丢失的设备,返回本节,Oracle,数据库的安全性策略,1,数据库数据的安全,当数据库系统,DownTime,时,以及当数据库数据存储媒体被破坏时或当数据库用户误操作时,它应能确保数据库数据信息不至于丢失。,2,数据库系统不被非法用户入侵,(1)组和安全性,(2),Oracle,服务器实用例程的安全性,(3),SQL*DBA,命令的安全性,(4)数据库文件的安全性,(5)网络安全性,3,建立安全性策略,(,1,)系统安全性策略,(,2,)数据的安全性策略,(,3,)用户安全性策略,(,4,)数据库管理者安全性策略,(,5,)应用程序开发者的安全性策略,返回本节,Thank you very much!,本章到此结束,,谢谢您的光临!,返回本章首页,结束放映,
展开阅读全文