[精选]第6章计算机安全技术.pptx
《[精选]第6章计算机安全技术.pptx》由会员分享,可在线阅读,更多相关《[精选]第6章计算机安全技术.pptx(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 数据库系统安全数据库系统安全6.1 数据库安全概述数据库安全概述 6.2 数据库的数据保护数据库的数据保护 6.3 死锁、活锁和可串行化死锁、活锁和可串行化 6.4 数据库的备份与恢复数据库的备份与恢复 6.5 SQL Server 数据库安全保护数据库安全保护 6.1 数据库安全概述数据库安全概述6.1.1 简介简介数据库系统是计算机技术的一个重要分支,从数据库系统是计算机技术的一个重要分支,从60年年代后期开始开展。虽然起步较晚,但近代后期开始开展。虽然起步较晚,但近30年来年来已经形成为一门,已经形成为一门,应用涉及应用涉及面很广,几乎所有面很广,几乎所有领域都要用到数据库。
2、领域都要用到数据库。数据库,形象上讲就是假设干数据的集合体。这些数据库,形象上讲就是假设干数据的集合体。这些数据存在于计算机的外存储器上,而且不是杂数据存在于计算机的外存储器上,而且不是杂乱无章地排列的。数据库数据量庞大、用户访乱无章地排列的。数据库数据量庞大、用户访问频繁,有些数据具有保密性,因此数据库要问频繁,有些数据具有保密性,因此数据库要由数据库管理系统由数据库管理系统DBMS进行科学地组织进行科学地组织和管理,以确保数据库的安全性和完整性。和管理,以确保数据库的安全性和完整性。很多数据库应用于客户机很多数据库应用于客户机/效劳器效劳器client/server平台,这已成为平台,这已
3、成为90年代主流的计算模式。在年代主流的计算模式。在server端,数据库由端,数据库由server上的上的DBMS进行管理。进行管理。由于由于client/server结构允许效劳器有多个客户端,结构允许效劳器有多个客户端,各个终端对于数据的共享要求非常强烈,这就涉各个终端对于数据的共享要求非常强烈,这就涉及到数据库的安全性与可靠性问题。及到数据库的安全性与可靠性问题。例如:在校园网中,各个部门要共用一个或几个效例如:在校园网中,各个部门要共用一个或几个效劳器,要分别对不同的或相同的数据库进行读取、劳器,要分别对不同的或相同的数据库进行读取、修改、增删,而且各个部门之间很有可能有进行修改、增
4、删,而且各个部门之间很有可能有进行交叉浏览的需求,但是对于人事部门的资料其他交叉浏览的需求,但是对于人事部门的资料其他部门就无权进行修改,其他部门的资料人事部门部门就无权进行修改,其他部门的资料人事部门也不能随意修改,另外还要防止一些别有用心的也不能随意修改,另外还要防止一些别有用心的人的蓄意破坏。这就是属于数据库的安全性问题,人的蓄意破坏。这就是属于数据库的安全性问题,DBMS必须具备这方面的功能。必须具备这方面的功能。6.1.2 数据库的特性数据库的特性面对数据库的安全威胁,必须采取有效的安全措施。面对数据库的安全威胁,必须采取有效的安全措施。这些措施可分为两个方面,即支持数据库的操作这些
5、措施可分为两个方面,即支持数据库的操作系统和同属于系统软件的系统和同属于系统软件的DBMS。后者的安全使后者的安全使用特性有以下几点要求:用特性有以下几点要求:1.多用户多用户尽管网络效劳器是用来资源共享的,但其上存储的尽管网络效劳器是用来资源共享的,但其上存储的大多数文件是用来给单用户访问的,而大多数文件是用来给单用户访问的,而LAN上的上的数据库却是供多个用户访问的。这就意味着任何数据库却是供多个用户访问的。这就意味着任何数据库管理操作,包括备份,会影响到用户的工数据库管理操作,包括备份,会影响到用户的工作效率,而且是许多用户的工作效率。作效率,而且是许多用户的工作效率。2.高可用性高可用
6、性与多用户的问题相关的是,数据库系统要求被访问与多用户的问题相关的是,数据库系统要求被访问和更新的时间长度。和更新的时间长度。虽然办公自动化文件效劳器在非工作时间很少进行虽然办公自动化文件效劳器在非工作时间很少进行什么操作,但数据库系统却经常需要运行长的、什么操作,但数据库系统却经常需要运行长的、多的时间以完成批处理任务或为其他时区的用户多的时间以完成批处理任务或为其他时区的用户提供访问。提供访问。3.频繁的更新频繁的更新 文件效劳器在文件效劳器在白天白天一般没有大量的磁盘写入操作。一般没有大量的磁盘写入操作。一个办公自动化文件被翻开之后,可能每隔一个办公自动化文件被翻开之后,可能每隔15分分
7、钟该文件的改动被保存一次。如果有钟该文件的改动被保存一次。如果有250个用户个用户在该效劳器上工作,这就意味着,平均每在该效劳器上工作,这就意味着,平均每4秒就秒就有一个文件需要被保存。这与每秒要支持有一个文件需要被保存。这与每秒要支持50次事次事务处理的数据库相比是相当少的。务处理的数据库相比是相当少的。4.大文件大文件数据库一般有很多的文件。像文字处理这样的办公数据库一般有很多的文件。像文字处理这样的办公自动化应用的文件,平均大小是在自动化应用的文件,平均大小是在510KB之间。之间。数据库文件经常有几百数据库文件经常有几百KB甚至几个甚至几个GB。6.1.3 数据库安全系统特性数据库安全
8、系统特性1.数据独立性数据独立性数据独立于应用程序之外。理论上数据库系统的数数据独立于应用程序之外。理论上数据库系统的数据独立性分为两种:据独立性分为两种:1 物理独立性:数据库的物理结构的变化不影物理独立性:数据库的物理结构的变化不影响数据库的应用结构,从而也就不能影响其相应响数据库的应用结构,从而也就不能影响其相应的应用程序。这里的物理结构是指数据库的物理的应用程序。这里的物理结构是指数据库的物理位置、物理设备等。位置、物理设备等。2 逻辑独立性:数据库逻辑结构的变化不会影逻辑独立性:数据库逻辑结构的变化不会影响用户的应用程序,数据类型的修改、增加、改响用户的应用程序,数据类型的修改、增加
9、、改变各表之间的联系都不会导致应用程序的修改。变各表之间的联系都不会导致应用程序的修改。这两种数据独立性都要靠这两种数据独立性都要靠DBMS来实现。到目前为来实现。到目前为止,物理独立性已经能基本实现,但逻辑独立性止,物理独立性已经能基本实现,但逻辑独立性实现起来非常困难,数据结构一旦发生变化,一实现起来非常困难,数据结构一旦发生变化,一般情况下,相应的应用程序都要作或多或少的修般情况下,相应的应用程序都要作或多或少的修改。追求这一目标也成为数据库系统结构复杂的改。追求这一目标也成为数据库系统结构复杂的一个重要原因。一个重要原因。2.数据安全性数据安全性一个数据库能否实现防止无关人员得到他不应
10、该知一个数据库能否实现防止无关人员得到他不应该知道的数据,是数据库是否实用的一个重要指标。道的数据,是数据库是否实用的一个重要指标。如果一个数据库对所有的人都公开数据,那么这如果一个数据库对所有的人都公开数据,那么这个数据库就不是一个可靠的数据库。个数据库就不是一个可靠的数据库。一般,比较完整的数据库对数据安全性采取以下措一般,比较完整的数据库对数据安全性采取以下措施:施:1 将数据库中需要保护的局部与其他局部相隔将数据库中需要保护的局部与其他局部相隔离;离;2 使用授权规则。这是数据库系统经常使用的使用授权规则。这是数据库系统经常使用的一个方法,数据库给用户一个方法,数据库给用户ID号和口令
11、、权限。当号和口令、权限。当用户用此用户用此ID号和口令登录后,就会获得相应的权号和口令登录后,就会获得相应的权限。不同的用户或操作会有不同的权限。比方,限。不同的用户或操作会有不同的权限。比方,对于一个表,某人有修改权,而其他人只有查询对于一个表,某人有修改权,而其他人只有查询权;权;3 将数据加密,以密码的形式存于数据库内。将数据加密,以密码的形式存于数据库内。3.数据的完整性数据的完整性数据完整性这一术语用来泛指与损坏和丧失相对的数据完整性这一术语用来泛指与损坏和丧失相对的数据状态。它通常说明数据在可靠性与准确性上数据状态。它通常说明数据在可靠性与准确性上是可信赖的,同时也意味着数据有可
12、能是无效的是可信赖的,同时也意味着数据有可能是无效的或不完整的。数据完整性包括数据的正确性、有或不完整的。数据完整性包括数据的正确性、有效性和一致性。效性和一致性。1 正确性:数据在输入时要保证其输入值与定正确性:数据在输入时要保证其输入值与定义这个表时相应的域的类型一致。如表中的某个义这个表时相应的域的类型一致。如表中的某个字段为数值型,那么它只能允许用户输入数值型字段为数值型,那么它只能允许用户输入数值型的数据,否则不能保证数据库的正确性。的数据,否则不能保证数据库的正确性。2 有效性:在保证数据正确的前提下,系统还有效性:在保证数据正确的前提下,系统还要约束数据的有效性。例如:对于月份字
13、段,假要约束数据的有效性。例如:对于月份字段,假设输入值为设输入值为16,那么这个数据就是无效数据,这,那么这个数据就是无效数据,这种无效输入也称为种无效输入也称为“垃圾输入。当然,假设数垃圾输入。当然,假设数据库输出的数据是无效的,相应称为据库输出的数据是无效的,相应称为“垃圾输出垃圾输出。3 一致性:当不同的用户使用数据库,应该保一致性:当不同的用户使用数据库,应该保证他们取出的数据必须一致。证他们取出的数据必须一致。因为数据库系统对数据的使用是集中控制的,因此因为数据库系统对数据的使用是集中控制的,因此数据的完整性控制还是比较容易实现的。数据的完整性控制还是比较容易实现的。4.并发控制并
14、发控制如果数据库应用要实现多用户共享数据,就可能在如果数据库应用要实现多用户共享数据,就可能在同一时刻多个用户要存取数据,这种事件叫做并同一时刻多个用户要存取数据,这种事件叫做并发事件。当一个用户取出数据进行修改,在修改发事件。当一个用户取出数据进行修改,在修改存入数据库之前如有其他用户再取此数据,那么存入数据库之前如有其他用户再取此数据,那么读出的数据就是不正确的。这时就需要对这种并读出的数据就是不正确的。这时就需要对这种并发操作施行控制,排除和防止这种错误的发生,发操作施行控制,排除和防止这种错误的发生,保证数据的正确性。保证数据的正确性。5.故障恢复故障恢复当数据库系统运行时出现物理或逻
15、辑上的错误时,当数据库系统运行时出现物理或逻辑上的错误时,如何尽快将它恢复正常,这就是数据库系统的故如何尽快将它恢复正常,这就是数据库系统的故障恢复功能。障恢复功能。6.1.4 数据库管理系统数据库管理系统DBMSdata base management system是一个专是一个专门负责数据库管理和维护的计算机软件系统。它门负责数据库管理和维护的计算机软件系统。它是数据库系统的核心,对数据库系统的功能和性是数据库系统的核心,对数据库系统的功能和性能有着决定性影响。能有着决定性影响。DBMS不但负责数据库的维不但负责数据库的维护工作,还要按数据库管理员的要求保证数据库护工作,还要按数据库管理员
16、的要求保证数据库的安全性和完整性。的安全性和完整性。DBMS的主要职能为:的主要职能为:有正确的编译功能,能正确执行规定的操作有正确的编译功能,能正确执行规定的操作能正确执行数据库命令能正确执行数据库命令保证数据的安全性、完整性,能抵御一定程度的物保证数据的安全性、完整性,能抵御一定程度的物理破坏,能维护和提交数据库内容理破坏,能维护和提交数据库内容能识别用户,分配授权和进行访问控制,包括身份能识别用户,分配授权和进行访问控制,包括身份识别和验证识别和验证顺利执行数据库访问,保证网络通信功能顺利执行数据库访问,保证网络通信功能另一方面,数据库的管理不但要靠另一方面,数据库的管理不但要靠DBMS
17、,还要靠还要靠人员。这些人员主要是指管理、开发和使用数据人员。这些人员主要是指管理、开发和使用数据库系统的数据管理员库系统的数据管理员DBA,database administrator、系统分析员、应用程序员和用系统分析员、应用程序员和用户。用户是对应用程序员设计的应用程序模块的户。用户是对应用程序员设计的应用程序模块的使用,系统分析员负责应用系统的需求分析和标使用,系统分析员负责应用系统的需求分析和标准说明,而且要和用户及准说明,而且要和用户及DBA相结合,确定系统相结合,确定系统的软硬件配置并参与数据库各级应用的概要设计。的软硬件配置并参与数据库各级应用的概要设计。这些人中最重要的是这些
18、人中最重要的是DBA,他们负责全面地管理他们负责全面地管理和和控制数据库系统,具体的职责包括:控制数据库系统,具体的职责包括:决定数据库的信息内容和结构决定数据库的信息内容和结构决定数据库的存储结构和存取策略决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件定义数据的安全性要求和完整性约束条件DBA的重要职责是确保数据库的安全性和完整性。的重要职责是确保数据库的安全性和完整性。不同用户对数据库的存取权限、数据的保不同用户对数据库的存取权限、数据的保 别和别和完整性约束条件也应由完整性约束条件也应由DBA负责决定负责决定监督和控制数据库的使用和运行监督和控制数据库的使用和运行DB
19、A负责监视数据库系统的运行,及时处理运行过负责监视数据库系统的运行,及时处理运行过程中出现的问题。尤其是遇到硬件、软件或人为程中出现的问题。尤其是遇到硬件、软件或人为故障时,数据库系统会因此而遭到破坏,故障时,数据库系统会因此而遭到破坏,DBA必必须能够在最短时间内把数据库恢复到某一正确状须能够在最短时间内把数据库恢复到某一正确状态,并且尽可能不影响或少影响计算机系统其他态,并且尽可能不影响或少影响计算机系统其他局部的正常运行。为此,局部的正常运行。为此,DBA要定义和实施适当要定义和实施适当的后援和恢复策略,例如周期性转储数据、维护的后援和恢复策略,例如周期性转储数据、维护日志文件等。日志文
20、件等。数据库系统的改进和重组数据库系统的改进和重组6.2 数据库的数据保护数据库的数据保护6.2.1 数据库的故障类型数据库的故障类型这里数据库的故障是指从保护安全的角度出发,数这里数据库的故障是指从保护安全的角度出发,数据库系统中会发生的各种故障。这些故障主要据库系统中会发生的各种故障。这些故障主要包括:事务内部的故障、系统范围内的故障、包括:事务内部的故障、系统范围内的故障、介质故障、计算机病毒与黑客等。介质故障、计算机病毒与黑客等。1.事务内部的故障事务内部的故障事务事务Transaction是指并发控制的单位,它是一是指并发控制的单位,它是一个操作序列。在这个序列中的所有操作只有两个操
21、作序列。在这个序列中的所有操作只有两种行为,要么全都执行,要么全都不执行。因种行为,要么全都执行,要么全都不执行。因此,事务是一个不可分割的单位。此,事务是一个不可分割的单位。事务以事务以 MIT语句提交给数据库,以语句提交给数据库,以ROLLBACK作为对已经完成的操作撤消。作为对已经完成的操作撤消。事务内部的故障多发生于数据的不一致性,主要表事务内部的故障多发生于数据的不一致性,主要表现为以下几种现为以下几种:1 丧失修改:两个事务丧失修改:两个事务T1和和T2读入同一数据,读入同一数据,T2的提交的结果破坏了的提交的结果破坏了T1提交的结果,提交的结果,T1对数对数据库的修改丧失,造成数
22、据库中数据错误。据库的修改丧失,造成数据库中数据错误。2 不能重复读:事务不能重复读:事务T1读取某一数据,事务读取某一数据,事务T2读取并修改了同一数据,读取并修改了同一数据,T1为了对读取值进行校为了对读取值进行校对再读取此数据,便得到了不同的结果。例如:对再读取此数据,便得到了不同的结果。例如:T1读取数据读取数据B=200,T2也读取也读取B并把它修改为并把它修改为300,那么,那么T1再读取数据再读取数据B得到得到300与第一次读取的与第一次读取的数值便不一致。数值便不一致。3“脏数据的读出,即不正确数据的读出。脏数据的读出,即不正确数据的读出。T1修改某一数据,修改某一数据,T2读
23、取同一数据,但读取同一数据,但T1由于某种原由于某种原因被撤消,则因被撤消,则T2读到的数据为读到的数据为“脏数据。例如:脏数据。例如:T1读取数据读取数据B值为值为100修改为修改为200,则,则T2读取读取B值为值为200,但由于事务,但由于事务T1被撤消,其所做的修改宣布无效,被撤消,其所做的修改宣布无效,B值恢复为值恢复为100,而,而T2读到的数据是读到的数据是200,与数据库内,与数据库内容不一致。容不一致。2.系统范围内的故障系统范围内的故障系统故障又称软故障,是指系统突然停止运行时造成系统故障又称软故障,是指系统突然停止运行时造成的数据库故障。如的数据库故障。如CPU故障、突然
24、断电、操作系统故障、突然断电、操作系统故障,这些故障不会破坏数据库,但会影响正在运故障,这些故障不会破坏数据库,但会影响正在运行的所有事务,因为数据库缓冲区中的内容会全部行的所有事务,因为数据库缓冲区中的内容会全部丧失,运行的事务非正常终止,从而造成数据库处丧失,运行的事务非正常终止,从而造成数据库处于一种不正确的状态。这种故障对于一个需要不停于一种不正确的状态。这种故障对于一个需要不停运行的数据库来讲损失是不可估量的。运行的数据库来讲损失是不可估量的。恢复子系统必须在系统重新启动时让所有非正常终恢复子系统必须在系统重新启动时让所有非正常终止事务止事务ROLLBACK,把数据库恢复到正确的状把
25、数据库恢复到正确的状态。态。3.介质故障介质故障介质故障又称硬故障,主要指外存故障,如:磁盘介质故障又称硬故障,主要指外存故障,如:磁盘磁头碰撞,瞬时的强磁场干扰。这类故障会破坏磁头碰撞,瞬时的强磁场干扰。这类故障会破坏数据库或局部数据库,并影响正在使用数据库的数据库或局部数据库,并影响正在使用数据库的所有事务。所以,这类故障的破坏性很大。所有事务。所以,这类故障的破坏性很大。4.计算机病毒与黑客计算机病毒与黑客病毒是一种计算机程序,然而这种程序与其它程序病毒是一种计算机程序,然而这种程序与其它程序不同的是它的功能在于破坏计算机中的数据,破不同的是它的功能在于破坏计算机中的数据,破坏计算机使计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 计算机 安全技术
限制150内