计算机网络安全技术ch8

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机网络安全技术第四篇信息安全技术第8章数据库系统安全技术计算机网络安全技术本章学习目标数据库系统的安全框架和安全性要求数据库的死锁、活锁和可串行化数据库的备份与恢复方法攻击数据库的常用方法Oracle数据库的安全管理计算机网络安全技术引言数据库系统担负着存储和管理数据信息的任务,是计算机应用技术的一个重要分支,从20世纪70年代后期开始发展,虽然起步较晚,但近30年来已经形成为一门新兴学科。数据库应用涉及面很广,几乎所有领域都要用到数据库系统。因而,如何保证和加强其安全性和保密性,已成为目前迫切需要解决的热门课题。计算机网络安全技术8.1数据库系统安全概述8.1.1数据库系统的组成数据库系统的组成数据库:按一定的规则和方式存取数据的集合体。数据库管理系统(DBMS):专门负责数据库管理和维护的计算机软件系统。DBMS的功能有正确的编译功能,能正确执行规定的操作。能正确执行数据库命令。能保证数据的安全性、完整性,能抵御一定程度的物理破坏,能维护和提交数据库内容。能识别用户、分配授权和进行访问控制,包括身份识别和验证。顺利执行数据库访问,保证网络通信功能。DBA的职责决定数据库的信息内容和结构;决定数据库的存储结构和存取策略;定义数据的安全性要求和完整性约束条件;确保数据库的安全性和完整性;监督和控制数据库的使用和运行。计算机网络安全技术8.1.2数据库系统安全的含义数据库系统运行安全数据库系统运行安全包括法律、政策的保护,如用户是否有合法权利,政策是否允许等;物理控制安全,如机房加锁等;硬件运行安全;操作系统安全,如数据文件是否保护等;灾害、故障恢复;避免和解除死锁;防止电磁信息泄漏。数据库系统信息安全数据库系统信息安全包括用户口令鉴别,用户存取权限控制,数据存取权限、方式控制,审计跟踪,数据加密。计算机网络安全技术8.1.3数据库系统的安全性要求安全问题注释物理上的数据库完整性预防数据库数据物理方面的问题。如掉电,以及当被灾祸破坏后能重构数据库逻辑上的数据库完整性保持数据的结构。如一个字段的值的修改不至于影响其他字段元素的完整性包含在每个元素中的数据是准确的可审计性能够追踪到谁访问修改过数据的元素访问控制允许用户只访问被批准的数据,以及限制不同的用户有不同的访问模式,如读或写用户认证确保每个用户被正确地识别,既便于审计跟踪,也为了限制对特定的数据进行访问可获(用)性用户一般可以访问数据库以及所有被批准访问的数据计算机网络安全技术数据库管理系统对完整性的要求数据库的完整性数据库的完整性是DBMS和计算系统管理者的责任。整个数据库的一种保护形式是对系统上的所有文件做周期性备份。元素的完整性数据库元素的完整性是指它们的正确性和准确性。•字段检查•通过访问控制来维护数据库的完整性和一致性•维护数据库的更改日志。可审计性计算机网络安全技术数据库管理系统对保密性和可获性的要求访问控制数据库常常根据用户访问权限进行逻辑分割。数据库管理系统(DBMS)必须实施访问控制策略,指定哪些数据允许被访问或者禁止访问;指定允许谁访问哪些数据,这些数据可以是字段或记录,或者甚至是元素。对数据库的访问控制和操作系统的访问控制有根本区别。通过推理访问数据可能不需要有对安全目标的直接访问权。操作系统和数据库的访问控制目标在规模上是不同的。用户认证DBMS在操作系统之外作为一个应用程序被运行,这意味着它没有互操作系统的可信赖路径,因此必须怀疑它所收到的任何数据,包括用户认证。可获性DBMS的可获性。问题之一来自于对两个用户请求同一记录的仲裁;问题之二是为了避免暴露被保护的数据而需要扣发某些非保护的数据计算机网络安全技术8.1.4数据库系统的安全框架数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关。因此,从广义上讲,数据库系统的安全框架可以划分为三个层次,分别为:网络系统层次、操作系统层次、数据库管理系统层次。计算机网络安全技术网络系统层次的安全网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大作用离不开网络系统的支持,数据库系统的用户(如异地用户、分布式用户)也要通过网络才能访问数据库的数据。所以,数据库的安全首先依赖于网络系统,网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。网络系统层次的安全防范技术有很多种,主要有防火墙、入侵检测技术等。计算机网络安全技术操作系统层次的安全操作系统是大型数据库系统的运行平台,为数据库系统提供一定程度的安全保护。目前操作系统平台大多数集中在NT和UNIX,安全级别通常为C1、C2级。主要安全技术有操作系统安全策略、安全管理策略、数据安全等方面。其中操作系统安全策略用于配置本地计算机的安全设置,包括密码策略、账户锁定策略、审核策略、IP安全策略、用户权利指派、加密数据的恢复代理及其他安全选项,具体可以体现在用户账户、口令、访问权限、审计等方面。安全管理策略是指网络管理员对系统实施安全管理所采取的方法及策略。针对不同的操作系统、网络环境,需要采取的安全管理策略一般也不尽相同,其核心是保证服务器的安全和分配好各类用户的权限。数据安全主要包括:数据加密技术、数据备份、数据存储的安全性、数据传输的安全性等。可以采用的技术很多,主要有Kerberos认证,IPSec,SSL,TLS,VPN等技术。计算机网络安全技术数据库管理系统层次的安全当前面两个层次已经被突破的情况下,数据库管理系统在一定程度上能保障数据库数据的安全。目前市场上流行的关系数据库管理系统的安全性功能都很弱,所以,数据库的安全不能得到保障,这就要求数据库管理系统必须有一套强有力的安全机制。数据库管理系统本身提供的用户名/口令识别,视图、使用权限控制,审计等管理措施,大型数据库管理系统Oracle,Sybase,Ingress等均有此功能。应用程序设置的控制管理,如使用较普遍的FoxBASE,FoxPro等。作为数据库用户,最关心自身数据资料的安全,特别是用户的查询权限问题。计算机网络安全技术8.1.5数据库系统的安全特性1.数据独立性数据独立于应用程序之外。理论上数据库系统的数据独立性分为两种:物理独立性。数据库的物理结构的变化不影响数据库的应用结构,从而也就不影响其相应的应用程序。这里的物理结构是指数据库的物理位置、物理设备等。逻辑独立性。数据库逻辑结构的变化不会影响用户的应用程序。数据类型的修改、增加、改变各表之间的联系都不会导致应用程序的修改。这两种数据独立性都要靠DBMS来实现。到目前为止,物理独立性已经能基本实现,但逻辑独立性实现起来非常困难,数据结构一旦发生变化,一般情况下,相应的应用程序都要作或多或少的修改。追求这一目标也成为数据库系统结构复杂的一个重要原因。计算机网络安全技术2.数据安全性一个数据库能否防止无关人员得到他不应该知道的数据,是数据库是否实用的一个重要指标。如果一个数据库对所有的人都公开数据,那么这个数据库就不是一个可靠的数据库。完整的数据库对数据安全性采取了以下措施:将数据库中需要保护的部分与其他部分相隔离。使用授权规则。这是数据库系统经常使用的一个办法,数据库给用户ID号和口令、权限。当用户用此ID号和口令登录后,就会获得相应的权限。不同的用户或操作会有不同的权限。比如,对于一个表,某人有修改权,而其他人只有查询权。将数据加密,以密码的形式存于数据库内。计算机网络安全技术3.数据的完整性数据完整性这一术语用来泛指与损坏和丢失相对的数据状态。它通常表明数据在可靠性与准确性上是可信赖的,同时也意味着数据有可能是无效的或不完整的。数据完整性包括数据的正确性、有效性和一致性。正确性。数据在输入时要保证其输入值与定义这个表时相应的域的类型一致。如表中的某个字段为数值型,那么它只能允许用户输入数值型的数据,否则不能保证数据库的正确性。有效性。在保证数据正确的前提下,系统还要约束数据的有效性。如对于月份字段,若输入值为17,那么这个数据就是无效数据,这种无效输入也称为“垃圾输入”。当然,若数据库输出的数据是无效的,相应地称为“垃圾输出”。一致性。当不同的用户使用数据库,应该保证他们取出的数据必须一致。因为数据库系统对数据的使用是集中控制的,因此数据的完整性控制还是比较容易实现的。计算机网络安全技术4.并发控制如果数据库应用要实现多用户共享数据,就可能在同一时刻多个用户要存取数据,这种事件叫做并发事件。当一个用户取出数据进行修改,修改存入数据库之前如有其他用户再取此数据,那么读出的数据就是不正确的。这时就需要对这种并发操作施行控制,排除和避免这种错误的发生,保证数据的正确性。计算机网络安全技术5.故障恢复当数据库系统运行时出现物理或逻辑上的错误时,如何尽快将它恢复正常,这就是数据库系统的故障恢复功能。数据库的故障主要包括:事务内部的故障系统范围内的故障介质故障计算机病毒与黑客等。计算机网络安全技术事务内部的故障事务(Transaction)是指并发控制的单位,它是一个操作序列。在这个序列中的所有操作只有两种行为,要么全都执行,要么全都不执行。因此,事务是一个不可分割的单位。事务用COMMIT语句提交给数据库,用ROLLBACK语句撤销已经完成的操作。事务内部的故障多发生于数据的不一致性,主要表现为以下几种:丢失修改。两个事务T1和T2读入同一数据,T2提交的结果破坏了T1提交的结果,T1对数据库的修改丢失,造成数据库中数据错误。不能重复读。事务T1读取某一数据,事务T2读取并修改了同一数据,T1为了对读取值进行校对再读取此数据,便得到了不同的结果。例如,T1读取数据B=200,T2也读取B并把它修改为300,那么T1再读取数据B得到300,与第一次读取的数值不一致。“脏”数据的读出,即不正确数据的读出。T1修改某一数据,T2读取同一数据,但T1由于某种原因被撤销,则T2读到的数据为“脏”数据。例如,T1读取数据B值100修改为200,则T2读取B值为200,但由于事务T1被撤销,其所做的修改宣布无效,B值恢复为100,而T2读到的数据是200,就与数据库内容不一致了。计算机网络安全技术系统范围内的故障数据库系统故障又称为数据库软故障,是指系统突然停止运行时造成的数据库故障。如CPU故障、突然断电、操作系统故障,这些故障不会破坏数据库,但会影响正在运行的所有事务,因为数据库缓冲区的内容会全部丢失,运行的事务非正常终止,从而造成数据库处于一种不正确的状态。这种故障对于一个需要不停运行的数据库来讲,损失是不可估量的。恢复子系统必须在系统重新启动时让所有非正常终止事务ROLLBACK,把数据库恢复到正确的状态。计算机网络安全技术介质故障。介质故障又称硬故障,主要指外存故障,如磁盘磁头碰撞,瞬时的强磁场干扰。这类故障会破坏数据库或部分数据库,并影响正在使用数据库的所有事务。所以,这类故障的破坏性很大。计算机病毒与黑客。计算机病毒的内容详见第8章。病毒发作后造成的数据库数据的损坏必须要求操作者自己去恢复。对于黑客,更需要计算机数据库加强安全管理。这种安全管理对于那些机密性的数据库显得尤为重要。计算机网络安全技术8.2数据库的保护随着计算机越来越深入的使用,一些大型数据库中存储着大量保密性的信息,如国防、金融、军事等方面。若这些数据库中的数据遭到破坏,造成的损失难以估量。所以数据库的保护是数据库运行过程中一个不可忽视的方面。数据库系统必须建立自己的保护机制,提供数据保护功能。数据库的保护主要包含数据库的安全性、完整性、并发控制和数据库恢复等内容。计算机网络安全技术8.2.1数据库的安全性安全性问题是所有计算机系统共有的问题,并不是数据库系统特有的,但由于数据库系统数据量庞大且多用户存取,安全性问题就显得尤其突出。由于安全性问题有系统问题与人为问题,所以一方面用户可以从法律、政策、伦理、道德等方

1 / 53
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功