网络安全培训教程----数据库安全篇网络安全培训教程数据库安全篇张博博士生/研究生会主席西工大网络信息安全中心西工大计算机学院多媒体与网络安全研究室网络安全培训教程----数据库安全篇数据库系统安全1.1数据库系统简介1.2数据库系统安全概述1.3数据库的数据保护1.4死锁、活锁和可串行化1.5数据库的备份与恢复1.6攻击数据库的常用方法1.7数据库系统安全保护实例网络安全培训教程----数据库安全篇本章学习目标(1)理解数据库系统的安全性要求、故障类型、基本安全架构和安全特性。(2)了解数据库安全控制模型;数据库的死锁、活锁和可串行化;掌握数据库的备份与恢复方法。(3)熟悉攻击数据库的常用方法。(4)掌握SQLServer和Oracle数据库的安全保护方法、策略。返回本章首页网络安全培训教程----数据库安全篇1.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)安全性与可靠性问题复杂返回本节网络安全培训教程----数据库安全篇1.2数据库系统安全概述1.2.1数据库系统的安全性要求1.2.2数据库系统的安全的含义1.2.3数据库的故障类型1.2.4数据库系统的基本安全架构1.2.5数据库系统的安全特性返回本章首页网络安全培训教程----数据库安全篇1.2.1数据库系统的安全性要求1.数据库的完整性2.元素的完整性3.可审计性4.访问控制5.用户认证6.可获性网络安全培训教程----数据库安全篇表1.1数据库系统安全性要求返回本节网络安全培训教程----数据库安全篇1.2.2数据库系统的安全的含义1.系统运行安全系统运行安全包括:法律、政策的保护,如用户是否有合法权利,政策是否允许等;物理控制安全,如机房加锁等;硬件运行安全;操作系统安全,如数据文件是否保护等;灾害、故障恢复;死锁的避免和解除;电磁信息泄漏防止。网络安全培训教程----数据库安全篇2.系统信息安全系统信息安全包括:用户口令字鉴别;用户存取权限控制;数据存取权限、方式控制;审计跟踪;数据加密。返回本节网络安全培训教程----数据库安全篇1.2.3数据库的故障类型1.事务内部的故障2.系统范围内的故障3.介质故障4.计算机病毒与黑客返回本节网络安全培训教程----数据库安全篇1.2.4数据库系统的基本安全架构1.用户分类:一般将权限分为三类:数据库登录权限类、资源管理权限类和数据库管理员权限类。2.数据分类:建立视图。3.审计功能:监视各用户对数据库施加的动作。有两种方式的审计,即用户审计和系统审计。返回本节网络安全培训教程----数据库安全篇1.2.5数据库系统的安全特1.数据独立性2.数据安全性3.数据的完整性4.并发控制5.故障恢复返回本节网络安全培训教程----数据库安全篇1.3数据库的数据保护1.3.1数据库的安全性1.3.2数据库中数据的完整性1.3.3数据库并发控制返回本章首页网络安全培训教程----数据库安全篇1.3.1数据库的安全性1.用户标识和鉴定2.存取控制3.数据分级4.数据库加密网络安全培训教程----数据库安全篇图1.1数据库安全控制模型网络安全培训教程----数据库安全篇表1.2授权规则表返回本节网络安全培训教程----数据库安全篇1.3.2数据库中数据的完整性1.数据类型与值域的约束2.关键字约束3.数据联系的约束返回本节网络安全培训教程----数据库安全篇1.3.3数据库并发控制1)未加控制的并发操作,见表11.3。2)未加控制的并发操作读取造成数据不一致,见表11.4。3)未提交更新发生的并发操作错误,见表1.5。解决方案见表1.6、表1.7、表1.8。网络安全培训教程----数据库安全篇表1.3未加控制的并发操作过程网络安全培训教程----数据库安全篇表1.4并发操作造成数据不一致网络安全培训教程----数据库安全篇表1.5未提交更新而发生的并发操作网络安全培训教程----数据库安全篇表1.6原表11.3加锁后的执行状态网络安全培训教程----数据库安全篇表1.7原表11.4加锁后的执行状态网络安全培训教程----数据库安全篇表1.8原表11.5加锁后的执行状态返回本节网络安全培训教程----数据库安全篇1.4死锁、活锁和可串行化1.4.1死锁与活锁1.4.2可串行化1.4.3时标技术返回本章首页网络安全培训教程----数据库安全篇1.4.1死锁与活锁某个事务永远处于等待状态称为活锁。两个或两个以上的事务永远无法结束,彼此都在等待对方解除封锁,结果造成事务永远等待,这种封锁叫死锁。举例过程如表11.9所示。网络安全培训教程----数据库安全篇表1.9造成事务永远等待的死锁过程返回本节网络安全培训教程----数据库安全篇1.4.2可串行化并行事务执行时,系统的调度是随机的,因此,需要一个尺度去判断事务执行的正确性。当并行操作的结果与串行操作的结果相同时,我们就认为这个并行事务处理结果是正确的。这个并行操作调度称为可串行化调度。可串行化是并行事务正确性的准则。这个准则规定,一个给定的交叉调度,当且仅当它是可串行化的,才认为是正确的。返回本节网络安全培训教程----数据库安全篇1.4.3时标技术时标技术是避免因出现数据不一致而造成的破坏数据库的完整性。不会产生死锁的问题。时标和封锁技术的区别是:封锁是使一组事务的并发执行同步,使它等价于这些事务的某一串行操作;时标法也是使一组事务的交叉执行同步,但是它等价于这些事务的一个特定的串行执行,由时标的时序所确定的一个执行。如果发生冲突,通过撤消并重新启动一个事务解决。返回本节网络安全培训教程----数据库安全篇1.5数据库的备份与恢复1.5.1数据库的备份1.5.2数据库的恢复返回本章首页网络安全培训教程----数据库安全篇1.5.1数据库的备份1.冷备份:冷备份是在没有最终用户访问它的情况下关闭数据库,并将其备份。2.热备份:热备份是在数据库正在被写入的数据更新时进行。热备份严重依赖日志文件。3.逻辑备份:逻辑备份使用软件技术从数据库提取数据并将结果写入一个输出文件。返回本节网络安全培训教程----数据库安全篇1.5.2数据库的恢复1.数据库的恢复办法1)周期性地(如3天一次)对整个数据库进行转储,把它复制到备份介质中(如磁带中),作为后备副本,以备恢复之用。2)对数据库的每次修改,都记下修改前后的值,写入“运行日志”数集中。它与后备副本结合,可有效地恢复数据库。网络安全培训教程----数据库安全篇图1.2数据库的恢复故障发生点转储(静态)运行事物登记日志文件重装后备副本利用日志文件恢复事物继续运行登记日志文件网络安全培训教程----数据库安全篇2.利用日志文件恢复事务(1)登记日志文件(logging):执行操作的事务标识,操作类型,更新前数据的旧值,更新后的新值。(2)事务恢复:1)从头扫描日志文件,找出哪些事务在故障发生时已经结束,哪些事务尚未结束。2)对尚未结束的事务进行撤消处理,对已经结束的事务进行重做。返回本节网络安全培训教程----数据库安全篇1.6攻击数据库的常用方法1.突破Script的限制2.对SQL口令的突破3.利用多语句执行漏洞4.SQLServer的安装漏洞5.数据库的利用6.数据库扫描工具返回本章首页网络安全培训教程----数据库安全篇1.7数据库系统安全保护实例1.7.1SQLServer数据库的安全保护1.7.2Oracle数据库的安全性策略返回本章首页网络安全培训教程----数据库安全篇1.7.1SQLServer数据库的安全保护1.SQLServer的安全管理(1)用户识别(2)SQLServer的安全模式(3)口令(4)权限管理网络安全培训教程----数据库安全篇2.SQLServer的备份(1)SQLServer的备份类型:完全备份、增量备份、表(table)备份。(2)创建备份:备份数据库、备份事务处理日志。网络安全培训教程----数据库安全篇3.SQLServer的恢复(1)恢复数据库:删除有缺陷的数据库、重入数据库备份。(2)使用事务处理日志(3)恢复master数据库(4)恢复丢失的设备返回本节网络安全培训教程----数据库安全篇1.7.2Oracle数据库的安全性策略1.数据库数据的安全当数据库系统DownTime时,以及当数据库数据存储媒体被破坏时或当数据库用户误操作时,它应能确保数据库数据信息不至于丢失。网络安全培训教程----数据库安全篇2.数据库系统不被非法用户入侵(1)组和安全性(2)Oracle服务器实用例程的安全性(3)SQL*DBA命令的安全性(4)数据库文件的安全性(5)网络安全性网络安全培训教程----数据库安全篇3.建立安全性策略(1)系统安全性策略(2)数据的安全性策略(3)用户安全性策略(4)数据库管理者安全性策略(5)应用程序开发者的安全性策略返回本节网络安全培训教程----数据库安全篇Thankyouverymuch!本章到此结束,谢谢您的光临!返回本章首页结束放映