《第7章数据库系统安全技术.》由会员分享,可在线阅读,更多相关《第7章数据库系统安全技术.(41页珍藏版)》请在金锄头文库上搜索。
1、贾铁军 沈学东 苏庆刚等编著 机械工业出版社,网络安全技术及应用,第7章 数据库系统安全技术,数据库是当今信息社会中数据存储和处理的核心,其安全性对于整个信息安全极为重要,是计算机网络安全的重要组成部分。数据库安全对于保护组织的信息资产非常重要。组织中绝大部分信息资产保存在数据库中,其中包括信息处理系统所包含的大量保密信息。拥有这些信息资产的组织必须保证这些信息不被外部访问以及内部非授权访问。数据库系统安全的不足不仅会损害数据库本身,而且还会影响到操作系统和整个网络基础设施的安全。,网络安全技术及应用,第7章 数据库系统安全技术,本章要点 数据库系统安全的概念、安全性要求 数据库系统的安全框架
2、与特性 数据库的数据保护 常见数据库攻击方法 数据库系统的数据备份和恢复概念、策略和方法 网络数据库的安全管理措施,网络安全技术及应用,第7章 数据库系统安全技术,教学目标 掌握数据库系统安全的概念、组成和安全性要求 熟悉数据库系统的安全框架与特性 理解数据库的数据保护三个方面:安全性、完整性和并发控制 熟悉几种常见数据库攻击方法,并能用于防御实践 理解数据库系统的数据备份和恢复概念、策略和方法 了解网络数据库的安全管理措施,网络安全技术及应用,第7章 数据库系统安全技术,7.1 数据库系统安全概述,自然灾难、人为的错误、计算机病毒及硬件损坏等都有可能造成数据库中数据的丢失,给单位带来巨大损失
3、。因此,必须保证数据库系统运行安全及数据库数据免受各种因素的影响。 1数据库系统的组成 数据库系统(Data Base System)是指带有数据库并采用数据库技术进行数据管理的计算机系统,它是一个实际可运行的、按照数据库方法存储、维护和向应用系统提供数据支持的系统。一个数据库系统包括计算机硬件、数据库、数据库管理系统、主语言系统和应用开发支撑软件、数据库应用系统和数据库管理员。,网络安全技术及应用,第7章 数据库系统安全技术,计算机硬件包括中央处理机、内存、外存、输入/输出设备等。 数据库(Data Base,简称DB)是长期存储在计算机内有组织的共享的数据的集合。 数据库具有集成性和共享性
4、的特点. 数据库管理系统(Data Base Management System,简称DBMS)是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件,是数据库系统的核心软件。 主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。应用开发支撑软件是为应用开发人员提供的高效率、多功能的交互式程序设计系统、一般属于第四代语言,如报表生成器、表单生成器、图形系统、具有数据库访问和表格输入输出的软件等.,网络安全技术及应用,第7章 数据库系统安全技术,数据库应用系统(Data Base Application System)是包括
5、为特定应用环境建立的数据库、开发的各类应用程序及编写的文档资料,是一个有机整体。 数据库管理员(Data Base Administrator,简称DBA)是全面负责数据库系统的管理、维护和正常使用的人员,承担创建、监控和维护数据库结构的责任。 2数据库系统安全的含义 数据库系统安全(Data Base System Security)是指为数据库系统建立的安全保护措施,以保护数据库系统软件和其中的数据不因偶然和恶意的原因而遭到破坏、更改和泄漏。 数据库系统安全包含两方面含义,即数据库系统运行安全和数据库系统数据安全。,网络安全技术及应用,第7章 数据库系统安全技术,3数据库系统的安全性要求
6、数据库系统的安全性可以归纳为保密性、完整性和可用性三个方面。 数据库系统的保密性是指不允许未经授权的用户存取数据。包括数据库系统的用户身份认证、数据库系统的访问控制、数据库系统的可审计性和控制用户进行推理攻击。 数据库系统的完整性主要包括物理完整性和逻辑完整性。 数据库系统的可用性是指不应拒绝授权用户对数据库的正常操作,同时保证系统的运行效率并提供用户友好的人机交互。,网络安全技术及应用,第7章 数据库系统安全技术,4数据库系统的安全框架与特性 从广义上讲,数据库系统的安全框架(Data Base System Security Framework)可以划分为三个层次: (1)网络系统层次。网
7、络系统是数据库应用的外部环境和基础,网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。 (2)宿主操作系统层次。操作系统是大型数据库系统的运行平台,为数据库系统提供一定程度的安全保护。目前操作系统平台大多数集中在Windows NT和Unix,安全级别通常为C1、C2级。主要安全技术有操作系统安全策略、安全管理策略、数据安全等方面。 (3)数据库管理系统层次。数据库系统的安全性很大程度上依赖于数据库管理系统。如果数据库管理系统安全机制非常强大,则数据库系统的安全性能就较好。,网络安全技术及应用,第7章 数据库系统安全技术,7.2 数据库的数据保护,为了提高数据库数据
8、的安全可靠、正确有效和防止非法访问,数据库管理系统必须提供统一的数据保护功能。数据保护也称为数据控制,主要包括数据库的安全性、完整性和并发控制。 1数据库的安全性 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。 一般计算机系统安全模式是多层设置的,如图7-1所示。,图7-1 计算机安全性控制层次,网络安全技术及应用,第7章 数据库系统安全技术,由此可见数据库系统的安全措施分为几个级别。在数据库存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。以Oracle数据库管理系统为例,在Oracl
9、e多用户数据库系统中,安全机制可以做多种工作。 数据库安全可分为二类:系统安全性和数据安全性。 系统安全性是指在系统级控制数据库的存取和使用的机制。数据安全性是指在对象级控制数据库的存取和使用的机制。 一般数据库,如Oracle,它们的安全性按分级设置:数据库的存取控制、特权和角色及审计。 数据库的存取控制是数据库管理系统采用任意存取控制来控制全部用户对命名对象的存取。,网络安全技术及应用,第7章 数据库系统安全技术,Oracle系统存取控制包括: 用户鉴别。为了防止非授权的数据库用户的使用,Oracle提供三种确认方法:操作系统确认、相应的Oracle数据库确认和网络服务确认。 用户的表空间
10、设置和定额 用户资源限制和环境文件 特权是执行一种特殊类型的SQL语句或存取另一用户的对象的权力,有两类特权:系统特权和对象特权。角色是权限的集合。 系统特权:是执行一处特殊动作或者在对象类型上执行一种特殊动作的权利。 对象特权:在指定的表、视图、序列、过程、函数或包上执行特殊动作的权利。,网络安全技术及应用,第7章 数据库系统安全技术,角色是相关特权的命名组,可授权给用户和角色。Oracle利用角色更容易地进行特权管理。一般,建立角色服务于两个目的:为数据库应用管理特权和为用户组管理特权。相应的角色称为应用角色和用户角色。 应用角色是授予的运行一数据库应用所需的全部特权。 用户角色是为具有公
11、开特权需求的一组数据库用户而建立的。 审计是对选定的用户动作的监控和记录,通常用于: (1)审查可疑的活动。 (2)监视和收集关于指定数据库活动的数据。 Oracle支持三种审计类型:语句审计 、特权审计 、对象审计,网络安全技术及应用,第7章 数据库系统安全技术,2数据库的完整性 数据库的完整性是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作。 数据库的完整性和安全性是数据库保护的两个不同的方面。安全性是保护数据库,以防止非法使用所造成数据的泄露、更改或破坏,安全性措施的防范对象是非法用户和非法操作;完整性是防止合法用户使用数据库时向数据库中加入不符合语义的
12、数据,完整性措施的防范对象是不合语义的数据。 数据库的完整性规则主要由三部分构成:触发条件、约束条件和违约响应。完整性规则从执行时间上可分为立即执行约束和延迟执行约束。关系数据模型的完整性约束,是对表的列定义一规则的说明性方法。其完整性包括实体完整性,参照完整性和用户定义完整性。,网络安全技术及应用,第7章 数据库系统安全技术,数据库的完整性约束可分以下两类: (1)从约束条件使用的对象分为值的约束和结构的约束 (2)从约束对象的状态分为静态约束和动态约束 3数据库并发控制 数据库并发控制是指在多用户数据库环境中,多个用户程序可并行地存取数据库的控制机制,目的是避免数据的丢失修改、无效数据的读
13、出与不可重复读数据现象的发生,从而保持数据库中数据的一致性,即在任何一个时刻数据库都将以相同的形式给用户提供数据。 数据库的并发控制是以事务为基本单位进行的。事务是数据库系统中执行的一个工作单位,它是由用户定义的一组操作序列。一个事务可以是一组SQL语句、一条SQL语句或整个程序,一个应用程序可以包括多个事务。,网络安全技术及应用,第7章 数据库系统安全技术,在SQL语言中,定义事务的语句有三条: BEGIN TRANSACTION COMMIT ROLLBACK BEGIN TRANSACTION表示事务的开始;COMMIT表示事务的提交,即将事务中所有对数据库的更新写回到磁盘上的物理数据库
14、中去,此时事务正常结束;ROLLBACK表示事务的回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤销,再回滚到事务开始时的状态。,网络安全技术及应用,第7章 数据库系统安全技术,事务具有原子性、一致性、隔离性和持久性四个特征,合称ACID。 数据库管理系统并发控制机制有对并发操作进行正确调度,保证事务的隔离性更强,确保数据库的一致性。造成数据库的不一致性是由并发操作引起的。由于并发操作带来的数据不一致性包括:丢失更新、读“脏”数据(脏读)和不可重复读。 并发控制的主要技术是封锁(locking)。基本的封锁类型有两种:排它锁(X锁、写
15、锁)和共享锁(S锁、读锁)。 举例说明。,网络安全技术及应用,第7章 数据库系统安全技术,7.3 攻击数据库的常用方法,由于许多应用程序经常通过页面提交方式接收客户的各种请求,如查询各种信息,修改用户信息等操作,实质上就是和应用程序的后台数据库交互。这样就容易给非法用户留下许多攻击或入侵数据库的机会。有如下几种攻击数据库的方法。 1对本地数据库的攻击 对本地数据库的攻击,一种方法就是下载数据库数据文件,然后攻击者就可以打开这个数据文件得到内部的用户和帐号以及其它有用的信息。,网络安全技术及应用,第7章 数据库系统安全技术,2突破script的限制 一般网页有一文本框,允许用户输入用户名称,但是
16、它限制用户只能输入字符数。攻击者攻击时需要突破此限制,只需要在本地做一个一样的主页,只是取消了限制,通常是去掉VBScript或JavaScript的限制程序,就可以成功突破。 3对SQL的突破 在网页地址栏中输入诸如select * from user where username=admin and passwd=1234 or 1=1的SQL语句,使不应出现的隐密信息被查询出来的攻击方式。 4利用多语句执行漏洞 利用程序没有处理边界符“”的漏洞,在网页地址栏中输入多条SQL语句,使不应执行的操作被执行的攻击方式。,网络安全技术及应用,第7章 数据库系统安全技术,5系统帐号攻击 SQL Server装完后自动创建一个管理用户sa,密码为空。很多用户装完后并不去改密码,这样就留下了一个极大的安全问题,易被攻击。 6数据库的利用 如果没有数据库访问权限,利用数据库某个漏洞绕过限制。如,攻击者可以创建一个临时存储过程执行,绕过访问控制。 7数据库里留后门 当攻击者攻入一个数据库时可以用它的企业管理器来连