2009年 7月 25日 6时 9分 计算机网络安全基础第 5章 数据库系统安全数据库的安全性是指数据库的任何部分都不允许受到恶意侵害,或未经授权的存取与修改。数据库是网络系统的核心部分,有价值的数据资源都存放在其中,这些共享的数据资源既要面对必需的可用性需求,又要面对被篡改、损坏和被窃取的威胁。
通常,数据库的破坏来自下列四个方面:
( 1) 系统故障;
( 2) 并发所引起的数据的不一致;
( 3) 转入或更新数据库的数据有错误,更新事务时未遵守保持数据库一致的原则;
( 4)人为的破坏,例如,数据被非法访问,甚至被篡改或破坏。
2009年 7月 25日 6时 9分 计算机网络安全基础第 5章 数据库系统安全本章主要内容:
1,数据库安全概述
2,数据库安全的威胁
3,数据库的数据保护
4,数据库备份与恢复
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
5.1.1 简介数据库系统是计算机技术的一个重要分支,从 60年代后期开始发展 。 虽然起步较晚,但近几十年来已经形成为一门新兴学科,应用涉及面很广,几乎所有领域都要用到数据库 。
数据库,形象上讲就是若干数据的集合体 。 这些数据存在于计算机的外存储器上,而且不是杂乱无章地排列的 。 数据库数据量庞大,用户访问频繁,有些数据具有保密性,因此数据库要由数据库管理系统 ( DBMS)
进行科学的组织和管理,以确保数据库的安全性和完整性 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
5.1.2 数据库的特性面对数据库的安全威胁,必须采取有效安全措施 。
这些措施可分为两个方面,即支持数据库的操作系统和同属于系统软件的 DBMS。 DBMS的安全使用特性有以下几点要求 。
1,多用户网络系统上的数据库是提供给多个用户访问的 。 这意味着对数据库的任何管理操作,其中包括备份,都会影响到用户的工作效率,而且不仅是一个用户而是多个用户的工作效率 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
2,高可靠性网络系统数据库有一个特性是高可靠性 。 因为,多用户的数据库要求具有较长的被访问和更新的时间,以完成成批任务处理或为其它时区的用户提供访问 。
3,频繁的更新数据库系统由于是多用户的,对其操作的频率以每秒计远远大于文件服务器 。
4,文件大数据库文件经常有几百 KB甚至几个 GB。 另外,数据库一般比文件有更多需要备份的数据和更短的用于备份的时间 。 另外,如果备份操作超过了备份窗口还会导致用户访问和系统性能方面的更多的问题,因为这时数据库要对更多的请求进行响应 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
5.1.3 数据库安全系统特性
1,数据独立性数据独立于应用程序之外 。 理论上数据库系统的数据独立性分为以下两种 。
( l) 物理独立性 。 数据库的物理结构的变化不影响数据库的应用结构,从而也就不能影响其相应的应用程序 。
这里的物理结构是指数据库的物理位置,物理设备等 。
( 2) 逻辑独立性 。 数据库逻辑结构的变化不会影响用户的应用程序,数据类型的修改,增加,改变各表之间的联系都不会导致应用程序的修改 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
2,数据安全性比较完整的数据库对数据安全性采取以下措施 。
( 1) 将数据库中需要保护的部分与其它部分相隔离 。
( 2) 使用授权规则 。
( 3) 将数据加密,以密码的形式存于数据库内 。
3,数据的完整性通常表明数据在可靠性与准确性上是可信赖的,同时也意味着数据有可能是无效的或不完整的 。 数据完整性包括数据的正确性,有效性和一致性 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
4,并发控制如果数据库应用要实现多用户共享数据,就可能在同一时刻多个用户要存取数据,这种事件叫做并发事件 。
当一个用户取出数据进行修改,在修改存入数据库之前如有其它用户再取此数据,那么读出的数据就是不正确的 。 这时就需要对这种并发操作施行控制,排除和避免这种错误的发生,保证数据的正确性 。
5,故障恢复当数据库系统运行时出现物理或逻辑上的错误,系统能尽快恢复正常,这就是数据库系统的故障恢复功能 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
5.1.4 数据库管理系统数据库管理系统 ( Data Base Management System,
DBMS) 是一个专门负责数据库管理和维护的计算机软件系统 。 它是数据库系统的核心,对数据库系统的功能和性能有着决定性影响 。 DBMS的主要职能为:
( 1) 有正确的编译功能,能正确执行规定的操作;
( 2) 能正确执行数据库命令;
( 3) 保证数据的安全性,完整性,能抵御一定程度的物理破坏,能维护和提交数据库内容;
( 4) 能识别用户,分配授权和进行访问控制,包括身份识别和验证;
( 5) 顺利执行数据库访问,保证网络通信功能 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述数据库系统的数据管理员全面地管理和控制数据库系统,包括以下一些职责 。
( 1) 决定数据库的信息内容和结构 。
( 2) 决定数据库的存储结构和存取策略 。
( 3) 定义数据的安全性要求和完整性约束条件 。
( 4) DBA的重要职责是确保数据库的安全性和完整性 。
不同用户对数据库的存取权限,数据的保密级别和完整性约束条件也应由 DBA负责决定 。
( 5) 监督和控制数据库的使用和运行 。
( 6) 数据库系统的改进和重组 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.2 数据库安全的威胁发现威胁数据库安全的因素和检查相应措施是数据库安全性的一个问题的两个方面,二者缺一不可 。
对数据库构成的威胁主要有篡改,损坏和窃取三种情况 。
1,篡改所谓的篡改指的是对数据库中的数据未经授权进行修改,使其失去原来的真实性 。 篡改是人为因素而发生的 。 一般来说,发生这种人为的篡改的原因主要的有如下几种 。
个人利益驱动,隐藏证据,恶作剧,无知 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.2 数据库安全的威胁
2.损坏网络系统中数据的真正丢失是数据库安全性所面对的一个威胁。其表现的形式是:表和整个数据库部分或全部被删除、移走或破坏。产生损坏的原因主要有破坏、
恶作剧和病毒。
3,窃取窃取一般是对敏感数据的,窃取的手法除了将数据复制到软盘之类的可移动的介质上外,也可以把数据打印后取走 。 导致窃取的原因有如下几种:
工商业间谍,不满和要离开的员工,被窃的数据可能比想象中的更有价值 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
5.3.1 数据库的故障类型数据库的故障是指从保护安全的角度出发,数据库系统中会发生的各种故障 。 这些故障主要包括:事务内部的故障,系统故障,介质故障和计算机病毒与黑客等 。
事务 ( Transaction) 是指并发控制的单位,它是一个操作序列 。 在这个序列中的所有操作只有两种行为,要么全都执行,要么全都不执行 。 因此,事务是一个不可分割的单位 。 事务以 COMMIT语句提交给数据库,以
ROLLBACK作为对已经完成的操作撤销 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护事务内部的故障多发生于数据的不一致性,主要表现为以下几种 。
丢失修改,不能重复读,,脏,数据的读出,即不正确数据的读出 。
系统故障又称软故障,是指系统突然停止运行时造成的数据库故障 。 如 CPU故障,突然断电和操作系统故障,这些故障不会破坏数据库,但会影响正在运行的所有事务,因为数据库缓冲区中的内容会全部丢失,运行的事务非正常终止,从而造成数据库处于一种不正确的状态 。 这种故障对于一个需要不停运行的数据库来讲损失是不可估量的 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护介质故障又称硬故障,主要指外存故障 。 如:磁盘磁头碰撞,瞬时的强磁场干扰 。 这类故障会破坏数据库或部分数据库,并影响正在使用数据库的所有事务 。
病毒是一种计算机程序,它的功能在于破坏计算机中的数据,使计算机处于一种不正确的状态,妨碍计算机用户的使用 。 而且病毒具有自我繁殖的能力,传播速度很快 。 有些病毒一旦发作就会马上摧毁系统 。
黑客的危害要比计算机病毒更大 。 黑客往往是一些精通计算机网络和软,硬件的计算机操作者,他们利用一些非法手段取得计算机的授权,非法却又随心所欲地读取甚至修改其它计算机数据,造成巨大的损失 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
5.3.2 数据库的数据保护数据库保护主要是指数据库的安全性,完整性,并发控制和数据库恢复 。
1,数据库的安全性安全性问题是所有计算机系统共有的问题,并不是数据库系统特有的,但由于数据库系统数据量庞大且多用户存取,安全性问题就显得尤其突出 。 由于安全性的问题可分为系统问题与人为问题,所以一方面我们可以从法律,政策,伦理,道德等方面控制约束人们对数据库的安全使用,另一方面还可以从物理设备,操作系统等方面加强保护,保证数据库的安全 。 另外,可以从数据库本身实现数据库的安全性保护 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
( 1) 用户标识和鉴定通过核对用户的名字或身份,决定该用户对系统的使用权。数据库系统不允许一个未经授权的用户对数据库进行操作。
当用户登录时,系统用一张用户口令表来鉴别用户身份。另外一种标识鉴定的方法是用户不用标识自己,
系统提供相应的口令表,这个口令表是系统给出一个随机数,用户按照某个特定的过程或函数进行计算后给出结果值,系统同样按照这个过程或函数对随机数进行计算,如果与用户输入的相等则证明此用户为合法用户,
可以再接着为用户分配权限。否则,系统认为此用户根本不是合法用户,拒绝进入数据库系统。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
( 2) 存取控制对于存取权限的定义称为授权 。 这些定义经过编译后存储在数据字典中 。 每当用户发出数据库的操作请求后,DBMS查找数据字典,根据用户权限进行合法权检查 。 若用户的操作请求超出了定义的权限,系统就拒绝此操作 。 授权编译程序和合法权检查机制一起组成了安全性子系统 。
数据库系统中,不同的用户对象有着不同的操作权力。对数据库的操作权限一般包括查询权、记录的修改权、索引的建立权和数据库的创建权。应把这些权力按一定的规则授予用户,以保证用户的操作在自己的权限范围之内。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
( 3) 数据分级有些数据库系统对安全性的处理是把数据分级 。 这种方案为每一数据对象 ( 文件,记录或字段等 ) 赋予一定的保密级 。 例如:绝密级,机密级,秘密级和公用级 。
对于用户,也分成类似的级别,系统便可规定两条规则:
① 用户 I只能直看比他级别低的或同级的数据;
② 用户 I只能修改和他同级的数据 。
在第 ② 条中,用户 I显然不能修改比他级别高的数据,但同时他也不能修改比他级别低的数据 。 如果用户
I要修改比他级别低的数据,那么首先要降低用户 I的级别或提高数据的级别使得两者之间的级别相等 。
数据分级法是一种独立于值的一种简单的控制方式 。
它的优点是系统能执行,信息流控制,。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
( 4) 数据加密为了更好地保证数据的安全性,可用密码存储口令、
数据,对远程终端信息用密码传输防止中途非法截获等。
我们把原始数据称为明文,用加密算法对明文进行加密。
加密算法的输入是明文和密钥,输出是密码文。加密算法可以公开,但加密一定是保密的。密码文对于不知道加密钥的人来说是不易解密的。
一种“明钥加密法”,可以随意使用加密算法和加密钥,但相应的解密钥是保密的。因此明钥法有两个密钥,一个用于加密,一个用于解密。而且解密钥不能从加密钥推出。即便有人能进行数据加密,如果不授权解密,他几乎不可能解密。
2009年 7月 25日 6时 9分 计算机网络安全基础
2,数据的完整性数据的完整性主要是指防止数据库中存在不符合语义的数据,防止错误信息的输入和输出 。 数据完整性包括数据的正确性,有效性和一致性 。
实现对数据的完整性约束要求系统有定义完整性约束条件的功能和检查完整性约束条件的方法 。
数据库中的所有数据都必须满足自己的完整性约束条件,这些约束包括以下几种。
( 1)数据类型与值域的约束
( 2)关键字约束
( 3)数据联系的约束
5.3 数据库的数据保护
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
3,数据库并发控制目前,多数数据库都是大型多用户数据库,所以数据库中的数据资源必须是共享的。为了充分利用数据库资源,应允许多个用户并行操作数据库。数据库必须能对这种并行操作进行控制,即并发控制,以保证数据在不同的用户使用时的一致性。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复数据库的失效往往导致一个机构的瘫痪,然而,任何一个数据库系统总不可能不发生故障。数据库系统对付故障有两种办法:其一是尽可能提高系统的可靠性;
另一种办法是在系统发出故障后,把数据库恢复至原来的状态。仅仅有第一点是远远不够的,必须有第二种办法,即必须有数据库发生故障后的恢复原状态的技术。
5.4.1 数据库备份的评估数据库系统如果发生故障可能会导致数据的丢失,
要恢复丢失的数据,必须对数据库系统作备份。在此之前,对数据库的备份作一个全面的评估是很有必要的。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
1,备份方案的评估对数据库备份方案的评估主要指的是在制定数据库备份方案之前必须对下列问题进行分析,在分析的基础上作出评估 。 包括:备份所需的费用的评估 和技术评估 。
更新发生在已被复制区 更新发生在未备份区
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复两种不同状态处的更新
2,数据库备份的类型常用的数据库备份的方法有冷备份,热备份和逻辑备份三种 。
冷备份的思想是关闭数据库系统,在没有任何用户对它进行访问的情况下备份 。 这种方法在保持数据的完整性方面是最好的一种 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复冷备份通常在系统无人使用的时候进行。冷备份的最好办法之一是建立一个批处理文件,该文件在指定的时间先关闭数据库,然后对数据库文件进行备份,最后再启动数据库。
数据库正在运行时所进行的备份称为热备份。数据库的热备份依赖于系统的日志文件。在备份进行时,日志文件将需要作更新或更改的指令“堆起来”,并不是真正将任何数据写入数据库记录。当这些被更新的业务被堆起来时,数据库实际上并未被更新,因此,数据库能被完整地备份。
所谓的逻辑备份是使用软件技术从数据库中提取数据并将结果写入一个输出文件。该输出文件不是一个数据库表,而是表中的所有数据的一个映像。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
5.4.2 数据库备份的性能数据库备份的性能可以用被复制到磁带上的数据的数据量和进行该项工作所花的时间两个参数来说明 。 提高数据库备份性能的办法有如下几种 。
( 1) 升级数据库管理系统 。
( 2) 使用更快的备份设备 。
( 3) 备份到磁盘上 。 磁盘可以是处于同一系统上的,也可以是 LAN的另一个系统上的 。
( 4) 使用本地备份设备 。 使用此方法时应保证连接的
SCSI接口适配卡能承担高速扩展数据传输 。
( 5) 使用分区备份 。 直接从磁盘分区读取数据,而不是使用文件系统 API调用 。 这种办法可加快备份的执行 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
5.4.3 系统和网络完整性
1,服务器保护保护服务器的办法包括:
( 1) 电力调节,以保证能使服务器运行足够长的时间以完成数据库的备份;
( 2) 环境管理,应将服务器置于有空调的房间,通风口和管理应保持干净,并定期检查和清理;
( 3) 服务器所在房间应加强安全管理;
( 4) 做好服务器中硬件的更换工作,从而提高服务器中硬件的可靠性;
( 5) 尽量使用辅助服务器以提供实时故障的跨越功能;
( 6) 通过映像技术或其它任何形式进行复制以便提供某种程度的容错 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
2,客户机的保护对客户机的保护可以从如下几个方面进行:
( 1) 电力调节,保证客户机正常运行所需的电力供应;
( 2) 配置后备电源,确保电力供应中断之后客户机能持续运行直至文件被保存和完成业务;
( 3) 定期更换客户机或工作站的硬件 。
3,网络连接网络连接是处于服务器与工作站或客户机之间的线缆,集线器,路由器或其它类似的设备 。 为此,线缆的安装应具有专业水平,且用的配件应保证质量,还需配有网络管理工具监测通过网络连接的数据传输 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
5.4.4 制定备份的策略备份主要考虑以下的几个因素:
( l) 备份周期是按月,周,天还是小时;
( 2) 使用冷备份还是热备份;
( 3) 使用增量备份还是全部备份,或者两者同时使用
( 增量备份只备份自上次备份后的所有更新的数据,全部备份是完整备份数据库中所有数据 。 ) ;
( 4) 使用什么介质进行备份,备份到磁盘还是磁带;
( 5) 是人工备份还是设计一个程序定期自动备份;
( 6) 备份介质的存放是否防窃,防磁,防火 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
5.4.5 数据库的恢复恢复也称为重载或重入,是指当磁盘损坏或数据库崩溃时,通过转储或卸载的备份重新安装数据库的过程 。
1,恢复技术的种类恢复技术大致可以分为如下三种:
( 1) 单纯以备份为基础的恢复技术周期性地把磁盘上的数据库复制或转储到磁带上 。
( 2) 以备份和运行日志为基础的恢复技术系统运行日志用于记录数据库运行的情况,一般包括三个内容:前像 ( Before Image,简称 BI),后像
( After Image,简称 AI) 和事务状态 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复所谓的前像是指数据库被一个事务更新时,所涉及的物理块更新后的影像,它以物理块为单位 。 前像在恢复中所起的作用是帮助数据库恢复更新前的状态,即撤销更新,这种操作称为撤销 ( undo) 。
后像恰好与前像相反,它是当数据库被某一事务更新时,所涉及的物理块更新前的影像,其单位和前像一样以物理块为单位。后像的作用是帮助数据库恢复到更新后的状态,相当于重做一次更新。这种操作在恢复技术中称为重做( Redo)。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复每个事务有两种可能的结果:
① 事务提交后结束,这说明事务已成功执行,事务对数据库的更新能被其它事务访问 。
②事务失败,需要消除事务对数据库的影响,对这种事务的处理称为卷回( Rollback)。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复基于备份和日志为基础的这种恢复技术,当数据库失效时,可取出最近备份,然后根据日志的记录,对未提交的事务用前像卷回,这称为后恢复 ( Backward
Recovery) ; 对已提交的事务,必要时用后像重做,称向前恢复 ( Forward Recovery) 。
这种恢复技术的缺点是,由于需要保持一个运行的记录,既花费较大的存储空间,又影响到数据库正常工作的性能。它的优点可使数据库恢复到最近的一致状态。
大多数数据库管理系统也都支持这种恢复技术。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
( 3) 基于多备份恢复技术多备份恢复技术的前提是每一个备份必须具有独立的失效模式( Independent Failure Mode),这样可以利用这些备份互为备份,用于恢复。所谓独立失效模式是指各个备份不致于因同一故障而一起失效。获得独立失效模式的一个重要的要素是各备份的支持环境尽可能地独立,其中包括不共用电源、磁盘、控制器以及 CPU等。
在部分可靠要求比较高的系统中,采用磁盘镜像技术,
即数据库以双备份的形式存放在二个独立的磁盘系统中,
为了使失效模式独立,两个磁盘系统有各自的控制器和
CPU,但彼此可以相互切换。在读数时,可以选读其中任一磁盘;在写数据时,两个磁盘都写入同样的内容,
当一个磁盘中的数据丢失时,可用另一个磁盘的数据来恢复。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
2,恢复的办法数据库的恢复大致有如下的办法 。
( l) 周期性地对整个数据库进行转储,把它复制到备份介质中 ( 如磁带中 ),作为后备副本,以备恢复之用 。
转储通常又可分为静态转储和动态转储 。 静态转储是指转储期间不允许 ( 或不存在 ) 对数据库进行任何存取,修改活动,而动态转储是指在存储期间允许对数据库进行存取或修改 。
( 2) 对数据库的每次修改,都记下修改前后的值,写入
,运行日志,中 。 它与后备副本结合,可有效地恢复数据库 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
3.利用日志文件恢复事务
( 1)登记日志文件( Logging)
事务运行过程中,系统把事务开始、事务结束(包括 Commit和 Rollback) 以及对数据库的插入、删除、
修改等每一个操作作为一个登记记录( Log记录)存放到日志文件中。
( 2)事务恢复
( 3)利用转储和日志文件当数据库本身被破坏时 ( 如硬盘故障和病毒破坏 )
可重装转储的后备副本,然后运行日志文件,执行事务恢复,这样就可以重建数据库 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
4,易地更新恢复技术每个关系有一个页表,页表中每一项是一个指针,指向关系中的每一页(块)。当更新时,
旧页保留不变,另找一个新页写入新的内容。在提交时,把页表的指针从旧页指向新页,即更新页表的指针。旧页实际上起到了前像的作用。由于存储介质可能发生故障,后像还是需要的。旧页又称影页( Shadow)。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
5,失效的类型及恢复的对策如果备份由于不可抗拒的因素而损坏,那么,以上所述的恢复方法将无能为力 。
( 1) 事务失效 ( Transaction Failure)
事务失效发生在事务提交之前,事务一旦提交,即使要撤销也不可能了 。 造成事务失效的原因有:
① 事务无法执行而自行中止;
② 操作失误或改变主意而要求撤销事务;
③ 由于系统调度上的原因而中止某些事务的执行 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复对事务失效采取如下措施以予恢复:
① 消息管理丢弃该事务的消息队列;
② 如果需要可进行撤销;
③ 从活动事务表 ( Active Transaction List) 中删除该事务的事务标识,释放该事务占用的资源 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
( 2) 系统失效这里所指的系统包括操作系统和数据库管理系统 。
系统失效是指系统崩溃,必须重新启动系统,内存中的数据可能丢失,而数据库中的数据未遭破坏 。 发生系统失效的原因有:
① 掉电;
② 除数据库存储介质外的硬,软件故障;
③ 重新启动操作系统和数据库管理系统;
④ 恢复数据库至一致状态时,对未提交的事务进行了
Undo操作,对已提交的事务进行了 Redo的操作 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
( 3) 介质失效 ( Media Failure)
介质失效指磁盘发生故障,数据库受损,例如划盘,
磁头破损等 。
现代的 DBMS对介质失效一般都提供恢复数据库至最近状态的措施,具体过程如下:
① 修复系统,必要时更换磁盘;
② 如果系统崩溃,则重新启动系统;
③ 加载最近的备份;
④用运行日志中的后像重做,取最近备份以后提交的所有事务。
2009年 7月 25日 6时 9分 计算机网络安全基础小 结
1,数据库安全概述在安全方面数据库具有:数据独立性,数据安全性,
数据的完整性,并发控制和故障恢复等特点 。
2,数据库安全的威胁对数据库构成的威胁主要有篡改,损坏和窃取 。
3,数据库的数据保护数据库的故障是指从保护安全的角度出发,数据库系统中会发生的各种故障 。 这些故障主要包括:事务内部的故障,系统范围内的故障,介质故障,计算机病毒与黑客等 。
数据库保护主要是指数据库的安全性,完整性,并发控制和数据库恢复 。
2009年 7月 25日 6时 9分 计算机网络安全基础小 结
4,数据库备份与恢复数据库系统对付故障有两种办法:一种办法是尽可能提高系统的可靠性;另一种办法是在系统发生故障后,
把数据库恢复至原来的状态 。
常用的数据库备份的方法有冷备份,热备份和逻辑备份三种 。
提高数据库备份性能的办法有:升级数据库管理系统,使用更快的备份设备,备份到磁盘上,使用本地备份设备以及使用原始磁盘分区备份等 。
保护数据库的完整性,除了提高性能的技术之外,
也可以通过系统和网络的高可靠性得以实现 。
2009年 7月 25日 6时 9分 计算机网络安全基础习题与思考题
1,试分析数据库安全的重要性,说明数据库安全所面临的威胁 。
2,数据库中采用了哪些安全技术和保护措施?
3,数据库的安全策略有哪些? 简述其要点 。
4,数据库的加密有哪些要求? 加密方式有哪些种类?
5,事务处理日志在数据库中有何作用?
6,数据库管理系统的主要职能有哪些?
7,简述常用数据库的备份方法 。
8,简述易地更新恢复技术 。
9,简述介质失效后,恢复的一般步骤 。
10,什么叫,前像,,什么叫,后像,?
通常,数据库的破坏来自下列四个方面:
( 1) 系统故障;
( 2) 并发所引起的数据的不一致;
( 3) 转入或更新数据库的数据有错误,更新事务时未遵守保持数据库一致的原则;
( 4)人为的破坏,例如,数据被非法访问,甚至被篡改或破坏。
2009年 7月 25日 6时 9分 计算机网络安全基础第 5章 数据库系统安全本章主要内容:
1,数据库安全概述
2,数据库安全的威胁
3,数据库的数据保护
4,数据库备份与恢复
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
5.1.1 简介数据库系统是计算机技术的一个重要分支,从 60年代后期开始发展 。 虽然起步较晚,但近几十年来已经形成为一门新兴学科,应用涉及面很广,几乎所有领域都要用到数据库 。
数据库,形象上讲就是若干数据的集合体 。 这些数据存在于计算机的外存储器上,而且不是杂乱无章地排列的 。 数据库数据量庞大,用户访问频繁,有些数据具有保密性,因此数据库要由数据库管理系统 ( DBMS)
进行科学的组织和管理,以确保数据库的安全性和完整性 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
5.1.2 数据库的特性面对数据库的安全威胁,必须采取有效安全措施 。
这些措施可分为两个方面,即支持数据库的操作系统和同属于系统软件的 DBMS。 DBMS的安全使用特性有以下几点要求 。
1,多用户网络系统上的数据库是提供给多个用户访问的 。 这意味着对数据库的任何管理操作,其中包括备份,都会影响到用户的工作效率,而且不仅是一个用户而是多个用户的工作效率 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
2,高可靠性网络系统数据库有一个特性是高可靠性 。 因为,多用户的数据库要求具有较长的被访问和更新的时间,以完成成批任务处理或为其它时区的用户提供访问 。
3,频繁的更新数据库系统由于是多用户的,对其操作的频率以每秒计远远大于文件服务器 。
4,文件大数据库文件经常有几百 KB甚至几个 GB。 另外,数据库一般比文件有更多需要备份的数据和更短的用于备份的时间 。 另外,如果备份操作超过了备份窗口还会导致用户访问和系统性能方面的更多的问题,因为这时数据库要对更多的请求进行响应 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
5.1.3 数据库安全系统特性
1,数据独立性数据独立于应用程序之外 。 理论上数据库系统的数据独立性分为以下两种 。
( l) 物理独立性 。 数据库的物理结构的变化不影响数据库的应用结构,从而也就不能影响其相应的应用程序 。
这里的物理结构是指数据库的物理位置,物理设备等 。
( 2) 逻辑独立性 。 数据库逻辑结构的变化不会影响用户的应用程序,数据类型的修改,增加,改变各表之间的联系都不会导致应用程序的修改 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
2,数据安全性比较完整的数据库对数据安全性采取以下措施 。
( 1) 将数据库中需要保护的部分与其它部分相隔离 。
( 2) 使用授权规则 。
( 3) 将数据加密,以密码的形式存于数据库内 。
3,数据的完整性通常表明数据在可靠性与准确性上是可信赖的,同时也意味着数据有可能是无效的或不完整的 。 数据完整性包括数据的正确性,有效性和一致性 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
4,并发控制如果数据库应用要实现多用户共享数据,就可能在同一时刻多个用户要存取数据,这种事件叫做并发事件 。
当一个用户取出数据进行修改,在修改存入数据库之前如有其它用户再取此数据,那么读出的数据就是不正确的 。 这时就需要对这种并发操作施行控制,排除和避免这种错误的发生,保证数据的正确性 。
5,故障恢复当数据库系统运行时出现物理或逻辑上的错误,系统能尽快恢复正常,这就是数据库系统的故障恢复功能 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述
5.1.4 数据库管理系统数据库管理系统 ( Data Base Management System,
DBMS) 是一个专门负责数据库管理和维护的计算机软件系统 。 它是数据库系统的核心,对数据库系统的功能和性能有着决定性影响 。 DBMS的主要职能为:
( 1) 有正确的编译功能,能正确执行规定的操作;
( 2) 能正确执行数据库命令;
( 3) 保证数据的安全性,完整性,能抵御一定程度的物理破坏,能维护和提交数据库内容;
( 4) 能识别用户,分配授权和进行访问控制,包括身份识别和验证;
( 5) 顺利执行数据库访问,保证网络通信功能 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.1 数据库安全概述数据库系统的数据管理员全面地管理和控制数据库系统,包括以下一些职责 。
( 1) 决定数据库的信息内容和结构 。
( 2) 决定数据库的存储结构和存取策略 。
( 3) 定义数据的安全性要求和完整性约束条件 。
( 4) DBA的重要职责是确保数据库的安全性和完整性 。
不同用户对数据库的存取权限,数据的保密级别和完整性约束条件也应由 DBA负责决定 。
( 5) 监督和控制数据库的使用和运行 。
( 6) 数据库系统的改进和重组 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.2 数据库安全的威胁发现威胁数据库安全的因素和检查相应措施是数据库安全性的一个问题的两个方面,二者缺一不可 。
对数据库构成的威胁主要有篡改,损坏和窃取三种情况 。
1,篡改所谓的篡改指的是对数据库中的数据未经授权进行修改,使其失去原来的真实性 。 篡改是人为因素而发生的 。 一般来说,发生这种人为的篡改的原因主要的有如下几种 。
个人利益驱动,隐藏证据,恶作剧,无知 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.2 数据库安全的威胁
2.损坏网络系统中数据的真正丢失是数据库安全性所面对的一个威胁。其表现的形式是:表和整个数据库部分或全部被删除、移走或破坏。产生损坏的原因主要有破坏、
恶作剧和病毒。
3,窃取窃取一般是对敏感数据的,窃取的手法除了将数据复制到软盘之类的可移动的介质上外,也可以把数据打印后取走 。 导致窃取的原因有如下几种:
工商业间谍,不满和要离开的员工,被窃的数据可能比想象中的更有价值 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
5.3.1 数据库的故障类型数据库的故障是指从保护安全的角度出发,数据库系统中会发生的各种故障 。 这些故障主要包括:事务内部的故障,系统故障,介质故障和计算机病毒与黑客等 。
事务 ( Transaction) 是指并发控制的单位,它是一个操作序列 。 在这个序列中的所有操作只有两种行为,要么全都执行,要么全都不执行 。 因此,事务是一个不可分割的单位 。 事务以 COMMIT语句提交给数据库,以
ROLLBACK作为对已经完成的操作撤销 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护事务内部的故障多发生于数据的不一致性,主要表现为以下几种 。
丢失修改,不能重复读,,脏,数据的读出,即不正确数据的读出 。
系统故障又称软故障,是指系统突然停止运行时造成的数据库故障 。 如 CPU故障,突然断电和操作系统故障,这些故障不会破坏数据库,但会影响正在运行的所有事务,因为数据库缓冲区中的内容会全部丢失,运行的事务非正常终止,从而造成数据库处于一种不正确的状态 。 这种故障对于一个需要不停运行的数据库来讲损失是不可估量的 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护介质故障又称硬故障,主要指外存故障 。 如:磁盘磁头碰撞,瞬时的强磁场干扰 。 这类故障会破坏数据库或部分数据库,并影响正在使用数据库的所有事务 。
病毒是一种计算机程序,它的功能在于破坏计算机中的数据,使计算机处于一种不正确的状态,妨碍计算机用户的使用 。 而且病毒具有自我繁殖的能力,传播速度很快 。 有些病毒一旦发作就会马上摧毁系统 。
黑客的危害要比计算机病毒更大 。 黑客往往是一些精通计算机网络和软,硬件的计算机操作者,他们利用一些非法手段取得计算机的授权,非法却又随心所欲地读取甚至修改其它计算机数据,造成巨大的损失 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
5.3.2 数据库的数据保护数据库保护主要是指数据库的安全性,完整性,并发控制和数据库恢复 。
1,数据库的安全性安全性问题是所有计算机系统共有的问题,并不是数据库系统特有的,但由于数据库系统数据量庞大且多用户存取,安全性问题就显得尤其突出 。 由于安全性的问题可分为系统问题与人为问题,所以一方面我们可以从法律,政策,伦理,道德等方面控制约束人们对数据库的安全使用,另一方面还可以从物理设备,操作系统等方面加强保护,保证数据库的安全 。 另外,可以从数据库本身实现数据库的安全性保护 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
( 1) 用户标识和鉴定通过核对用户的名字或身份,决定该用户对系统的使用权。数据库系统不允许一个未经授权的用户对数据库进行操作。
当用户登录时,系统用一张用户口令表来鉴别用户身份。另外一种标识鉴定的方法是用户不用标识自己,
系统提供相应的口令表,这个口令表是系统给出一个随机数,用户按照某个特定的过程或函数进行计算后给出结果值,系统同样按照这个过程或函数对随机数进行计算,如果与用户输入的相等则证明此用户为合法用户,
可以再接着为用户分配权限。否则,系统认为此用户根本不是合法用户,拒绝进入数据库系统。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
( 2) 存取控制对于存取权限的定义称为授权 。 这些定义经过编译后存储在数据字典中 。 每当用户发出数据库的操作请求后,DBMS查找数据字典,根据用户权限进行合法权检查 。 若用户的操作请求超出了定义的权限,系统就拒绝此操作 。 授权编译程序和合法权检查机制一起组成了安全性子系统 。
数据库系统中,不同的用户对象有着不同的操作权力。对数据库的操作权限一般包括查询权、记录的修改权、索引的建立权和数据库的创建权。应把这些权力按一定的规则授予用户,以保证用户的操作在自己的权限范围之内。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
( 3) 数据分级有些数据库系统对安全性的处理是把数据分级 。 这种方案为每一数据对象 ( 文件,记录或字段等 ) 赋予一定的保密级 。 例如:绝密级,机密级,秘密级和公用级 。
对于用户,也分成类似的级别,系统便可规定两条规则:
① 用户 I只能直看比他级别低的或同级的数据;
② 用户 I只能修改和他同级的数据 。
在第 ② 条中,用户 I显然不能修改比他级别高的数据,但同时他也不能修改比他级别低的数据 。 如果用户
I要修改比他级别低的数据,那么首先要降低用户 I的级别或提高数据的级别使得两者之间的级别相等 。
数据分级法是一种独立于值的一种简单的控制方式 。
它的优点是系统能执行,信息流控制,。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
( 4) 数据加密为了更好地保证数据的安全性,可用密码存储口令、
数据,对远程终端信息用密码传输防止中途非法截获等。
我们把原始数据称为明文,用加密算法对明文进行加密。
加密算法的输入是明文和密钥,输出是密码文。加密算法可以公开,但加密一定是保密的。密码文对于不知道加密钥的人来说是不易解密的。
一种“明钥加密法”,可以随意使用加密算法和加密钥,但相应的解密钥是保密的。因此明钥法有两个密钥,一个用于加密,一个用于解密。而且解密钥不能从加密钥推出。即便有人能进行数据加密,如果不授权解密,他几乎不可能解密。
2009年 7月 25日 6时 9分 计算机网络安全基础
2,数据的完整性数据的完整性主要是指防止数据库中存在不符合语义的数据,防止错误信息的输入和输出 。 数据完整性包括数据的正确性,有效性和一致性 。
实现对数据的完整性约束要求系统有定义完整性约束条件的功能和检查完整性约束条件的方法 。
数据库中的所有数据都必须满足自己的完整性约束条件,这些约束包括以下几种。
( 1)数据类型与值域的约束
( 2)关键字约束
( 3)数据联系的约束
5.3 数据库的数据保护
2009年 7月 25日 6时 9分 计算机网络安全基础
5.3 数据库的数据保护
3,数据库并发控制目前,多数数据库都是大型多用户数据库,所以数据库中的数据资源必须是共享的。为了充分利用数据库资源,应允许多个用户并行操作数据库。数据库必须能对这种并行操作进行控制,即并发控制,以保证数据在不同的用户使用时的一致性。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复数据库的失效往往导致一个机构的瘫痪,然而,任何一个数据库系统总不可能不发生故障。数据库系统对付故障有两种办法:其一是尽可能提高系统的可靠性;
另一种办法是在系统发出故障后,把数据库恢复至原来的状态。仅仅有第一点是远远不够的,必须有第二种办法,即必须有数据库发生故障后的恢复原状态的技术。
5.4.1 数据库备份的评估数据库系统如果发生故障可能会导致数据的丢失,
要恢复丢失的数据,必须对数据库系统作备份。在此之前,对数据库的备份作一个全面的评估是很有必要的。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
1,备份方案的评估对数据库备份方案的评估主要指的是在制定数据库备份方案之前必须对下列问题进行分析,在分析的基础上作出评估 。 包括:备份所需的费用的评估 和技术评估 。
更新发生在已被复制区 更新发生在未备份区
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复两种不同状态处的更新
2,数据库备份的类型常用的数据库备份的方法有冷备份,热备份和逻辑备份三种 。
冷备份的思想是关闭数据库系统,在没有任何用户对它进行访问的情况下备份 。 这种方法在保持数据的完整性方面是最好的一种 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复冷备份通常在系统无人使用的时候进行。冷备份的最好办法之一是建立一个批处理文件,该文件在指定的时间先关闭数据库,然后对数据库文件进行备份,最后再启动数据库。
数据库正在运行时所进行的备份称为热备份。数据库的热备份依赖于系统的日志文件。在备份进行时,日志文件将需要作更新或更改的指令“堆起来”,并不是真正将任何数据写入数据库记录。当这些被更新的业务被堆起来时,数据库实际上并未被更新,因此,数据库能被完整地备份。
所谓的逻辑备份是使用软件技术从数据库中提取数据并将结果写入一个输出文件。该输出文件不是一个数据库表,而是表中的所有数据的一个映像。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
5.4.2 数据库备份的性能数据库备份的性能可以用被复制到磁带上的数据的数据量和进行该项工作所花的时间两个参数来说明 。 提高数据库备份性能的办法有如下几种 。
( 1) 升级数据库管理系统 。
( 2) 使用更快的备份设备 。
( 3) 备份到磁盘上 。 磁盘可以是处于同一系统上的,也可以是 LAN的另一个系统上的 。
( 4) 使用本地备份设备 。 使用此方法时应保证连接的
SCSI接口适配卡能承担高速扩展数据传输 。
( 5) 使用分区备份 。 直接从磁盘分区读取数据,而不是使用文件系统 API调用 。 这种办法可加快备份的执行 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
5.4.3 系统和网络完整性
1,服务器保护保护服务器的办法包括:
( 1) 电力调节,以保证能使服务器运行足够长的时间以完成数据库的备份;
( 2) 环境管理,应将服务器置于有空调的房间,通风口和管理应保持干净,并定期检查和清理;
( 3) 服务器所在房间应加强安全管理;
( 4) 做好服务器中硬件的更换工作,从而提高服务器中硬件的可靠性;
( 5) 尽量使用辅助服务器以提供实时故障的跨越功能;
( 6) 通过映像技术或其它任何形式进行复制以便提供某种程度的容错 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
2,客户机的保护对客户机的保护可以从如下几个方面进行:
( 1) 电力调节,保证客户机正常运行所需的电力供应;
( 2) 配置后备电源,确保电力供应中断之后客户机能持续运行直至文件被保存和完成业务;
( 3) 定期更换客户机或工作站的硬件 。
3,网络连接网络连接是处于服务器与工作站或客户机之间的线缆,集线器,路由器或其它类似的设备 。 为此,线缆的安装应具有专业水平,且用的配件应保证质量,还需配有网络管理工具监测通过网络连接的数据传输 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
5.4.4 制定备份的策略备份主要考虑以下的几个因素:
( l) 备份周期是按月,周,天还是小时;
( 2) 使用冷备份还是热备份;
( 3) 使用增量备份还是全部备份,或者两者同时使用
( 增量备份只备份自上次备份后的所有更新的数据,全部备份是完整备份数据库中所有数据 。 ) ;
( 4) 使用什么介质进行备份,备份到磁盘还是磁带;
( 5) 是人工备份还是设计一个程序定期自动备份;
( 6) 备份介质的存放是否防窃,防磁,防火 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
5.4.5 数据库的恢复恢复也称为重载或重入,是指当磁盘损坏或数据库崩溃时,通过转储或卸载的备份重新安装数据库的过程 。
1,恢复技术的种类恢复技术大致可以分为如下三种:
( 1) 单纯以备份为基础的恢复技术周期性地把磁盘上的数据库复制或转储到磁带上 。
( 2) 以备份和运行日志为基础的恢复技术系统运行日志用于记录数据库运行的情况,一般包括三个内容:前像 ( Before Image,简称 BI),后像
( After Image,简称 AI) 和事务状态 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复所谓的前像是指数据库被一个事务更新时,所涉及的物理块更新后的影像,它以物理块为单位 。 前像在恢复中所起的作用是帮助数据库恢复更新前的状态,即撤销更新,这种操作称为撤销 ( undo) 。
后像恰好与前像相反,它是当数据库被某一事务更新时,所涉及的物理块更新前的影像,其单位和前像一样以物理块为单位。后像的作用是帮助数据库恢复到更新后的状态,相当于重做一次更新。这种操作在恢复技术中称为重做( Redo)。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复每个事务有两种可能的结果:
① 事务提交后结束,这说明事务已成功执行,事务对数据库的更新能被其它事务访问 。
②事务失败,需要消除事务对数据库的影响,对这种事务的处理称为卷回( Rollback)。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复基于备份和日志为基础的这种恢复技术,当数据库失效时,可取出最近备份,然后根据日志的记录,对未提交的事务用前像卷回,这称为后恢复 ( Backward
Recovery) ; 对已提交的事务,必要时用后像重做,称向前恢复 ( Forward Recovery) 。
这种恢复技术的缺点是,由于需要保持一个运行的记录,既花费较大的存储空间,又影响到数据库正常工作的性能。它的优点可使数据库恢复到最近的一致状态。
大多数数据库管理系统也都支持这种恢复技术。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
( 3) 基于多备份恢复技术多备份恢复技术的前提是每一个备份必须具有独立的失效模式( Independent Failure Mode),这样可以利用这些备份互为备份,用于恢复。所谓独立失效模式是指各个备份不致于因同一故障而一起失效。获得独立失效模式的一个重要的要素是各备份的支持环境尽可能地独立,其中包括不共用电源、磁盘、控制器以及 CPU等。
在部分可靠要求比较高的系统中,采用磁盘镜像技术,
即数据库以双备份的形式存放在二个独立的磁盘系统中,
为了使失效模式独立,两个磁盘系统有各自的控制器和
CPU,但彼此可以相互切换。在读数时,可以选读其中任一磁盘;在写数据时,两个磁盘都写入同样的内容,
当一个磁盘中的数据丢失时,可用另一个磁盘的数据来恢复。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
2,恢复的办法数据库的恢复大致有如下的办法 。
( l) 周期性地对整个数据库进行转储,把它复制到备份介质中 ( 如磁带中 ),作为后备副本,以备恢复之用 。
转储通常又可分为静态转储和动态转储 。 静态转储是指转储期间不允许 ( 或不存在 ) 对数据库进行任何存取,修改活动,而动态转储是指在存储期间允许对数据库进行存取或修改 。
( 2) 对数据库的每次修改,都记下修改前后的值,写入
,运行日志,中 。 它与后备副本结合,可有效地恢复数据库 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
3.利用日志文件恢复事务
( 1)登记日志文件( Logging)
事务运行过程中,系统把事务开始、事务结束(包括 Commit和 Rollback) 以及对数据库的插入、删除、
修改等每一个操作作为一个登记记录( Log记录)存放到日志文件中。
( 2)事务恢复
( 3)利用转储和日志文件当数据库本身被破坏时 ( 如硬盘故障和病毒破坏 )
可重装转储的后备副本,然后运行日志文件,执行事务恢复,这样就可以重建数据库 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
4,易地更新恢复技术每个关系有一个页表,页表中每一项是一个指针,指向关系中的每一页(块)。当更新时,
旧页保留不变,另找一个新页写入新的内容。在提交时,把页表的指针从旧页指向新页,即更新页表的指针。旧页实际上起到了前像的作用。由于存储介质可能发生故障,后像还是需要的。旧页又称影页( Shadow)。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
5,失效的类型及恢复的对策如果备份由于不可抗拒的因素而损坏,那么,以上所述的恢复方法将无能为力 。
( 1) 事务失效 ( Transaction Failure)
事务失效发生在事务提交之前,事务一旦提交,即使要撤销也不可能了 。 造成事务失效的原因有:
① 事务无法执行而自行中止;
② 操作失误或改变主意而要求撤销事务;
③ 由于系统调度上的原因而中止某些事务的执行 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复对事务失效采取如下措施以予恢复:
① 消息管理丢弃该事务的消息队列;
② 如果需要可进行撤销;
③ 从活动事务表 ( Active Transaction List) 中删除该事务的事务标识,释放该事务占用的资源 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
( 2) 系统失效这里所指的系统包括操作系统和数据库管理系统 。
系统失效是指系统崩溃,必须重新启动系统,内存中的数据可能丢失,而数据库中的数据未遭破坏 。 发生系统失效的原因有:
① 掉电;
② 除数据库存储介质外的硬,软件故障;
③ 重新启动操作系统和数据库管理系统;
④ 恢复数据库至一致状态时,对未提交的事务进行了
Undo操作,对已提交的事务进行了 Redo的操作 。
2009年 7月 25日 6时 9分 计算机网络安全基础
5.4 数据库备份与恢复
( 3) 介质失效 ( Media Failure)
介质失效指磁盘发生故障,数据库受损,例如划盘,
磁头破损等 。
现代的 DBMS对介质失效一般都提供恢复数据库至最近状态的措施,具体过程如下:
① 修复系统,必要时更换磁盘;
② 如果系统崩溃,则重新启动系统;
③ 加载最近的备份;
④用运行日志中的后像重做,取最近备份以后提交的所有事务。
2009年 7月 25日 6时 9分 计算机网络安全基础小 结
1,数据库安全概述在安全方面数据库具有:数据独立性,数据安全性,
数据的完整性,并发控制和故障恢复等特点 。
2,数据库安全的威胁对数据库构成的威胁主要有篡改,损坏和窃取 。
3,数据库的数据保护数据库的故障是指从保护安全的角度出发,数据库系统中会发生的各种故障 。 这些故障主要包括:事务内部的故障,系统范围内的故障,介质故障,计算机病毒与黑客等 。
数据库保护主要是指数据库的安全性,完整性,并发控制和数据库恢复 。
2009年 7月 25日 6时 9分 计算机网络安全基础小 结
4,数据库备份与恢复数据库系统对付故障有两种办法:一种办法是尽可能提高系统的可靠性;另一种办法是在系统发生故障后,
把数据库恢复至原来的状态 。
常用的数据库备份的方法有冷备份,热备份和逻辑备份三种 。
提高数据库备份性能的办法有:升级数据库管理系统,使用更快的备份设备,备份到磁盘上,使用本地备份设备以及使用原始磁盘分区备份等 。
保护数据库的完整性,除了提高性能的技术之外,
也可以通过系统和网络的高可靠性得以实现 。
2009年 7月 25日 6时 9分 计算机网络安全基础习题与思考题
1,试分析数据库安全的重要性,说明数据库安全所面临的威胁 。
2,数据库中采用了哪些安全技术和保护措施?
3,数据库的安全策略有哪些? 简述其要点 。
4,数据库的加密有哪些要求? 加密方式有哪些种类?
5,事务处理日志在数据库中有何作用?
6,数据库管理系统的主要职能有哪些?
7,简述常用数据库的备份方法 。
8,简述易地更新恢复技术 。
9,简述介质失效后,恢复的一般步骤 。
10,什么叫,前像,,什么叫,后像,?