第7章 数据库安全技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
录
网络安全管理的概念、目标及内容 网络面临的威胁及不安全因素 网络安全管理技术概念与模型 构建虚拟局域网VLAN实验 重点 教学目标 ● 理解数据库安全的概念及安全威胁 ● 掌握数据库的安全特性 ● 了解数据库的安全机制和策略 ● 理解数据库安全体系与防护技术 ● 掌握SQL Server2008用户安全管理实验
7.2 数据库安全威胁及隐患
2.数据库系统缺陷及隐患
数据库的安全缺陷和隐患要素包括: (1)DB应用程序的研发、管理和维护等人为因 素疏忽; (2)用户对数据库安全的忽视,安全设置和管理 失当; (3)部分数据库机制威胁网络低层安全; (4)系统安全特性自身存在的缺陷; (5)数据库账号、密码容易泄漏和破译; (6)操作系统后门及漏洞隐患; (7)网络病毒及运行环境等其他威胁。
7.1 数据库安全概述
3. 数据库管理系统的特性
数据库管理系统(DBMS)是建立、运用和维护数据库, 并进行统一管理和控制数据的系统。便于用户定义和操纵 数据,并保证数据的安全性、完整性、多用户对数据的并 发使用及发生故障后的数据库恢复等。DBMS由数据库和一 组管理数据的程序构成,是数据库系统的核心。 DBMS功能:提供数据访问与存取,并具有对数据库进 行建立、管理、维护等。可为用户或应用程序提供了访问 数据库中的数据和对数据的安全性、完整性、保密性、并 发性等进行统一控制的方法。特性:数据的安全性、结构 化、共享、独立性和可控冗余度。
7.2 数据库安全威胁及隐患
课堂讨论 1.威胁数据库安全的因素有哪些?缺陷和隐患主 要是什么? 2.攻击数据库的手段主要有哪些? 3.我国数据库安全的研究概况如何?
7.3 数据库的安全特性
7.3.1 数据库的安全性
1.数据库的安全性含义 数据库的安全性是指数据库中数据的保护措施,一 般包括用户的身份认证管理数据库的使用权限管理和数 据库中对象的使用权限管理三种安全性保护措施。 保障Web数据库的安全,构建一套安全的访问控 制模式,如图7-4所示。
7.2 数据库安全威胁及隐患
7.2.2 攻击数据库的常用手段
1.对本地数据库的攻击 利用本地数据库下载数据文件,然后利用此文件窃 取用户帐号、密码和其他重要信息。 以abcd网站为例。通过扫描得 知此网站使用的是虚拟主机及Windows NT+IIS4.0。利用 对IIS攻击可发现此站点存在ASP源代码及漏洞。经过分 析后即可发现存储数据库的网址,并可下载相关数据库。 然后进行攻击:建立连接对象,设置数据库路径,打开 数据库,设置记录对象,窃取重要信息。由代码可知其 数据库的类型、名称和路径,以及数据库的表名和字段 名称。
7.3 数据库的安全特性
2.数据完整性 数据完整性(Data Integrity)是指数据的精确性和可 靠性。主要包括数据的正确性、有效性和一致性。正确性是 指数据的输入值与数据表对应域的类型一样;有效性是指数 据库中的理论数值满足现实应用中对该数值段的约束;一致 性是指不同用户使用的同一数据是一样的。 数据完整性分为以下4类:
7.1 数据库安全概述
数据库系统(DataBase System,DBS)是以数据库方 式管理大量共享数据的计算机系统。主要特性为:实现数据 共享,减少数据冗余度;保持数据一致性和数据独立性;提 高系统的安全保密性,并发控制及故障恢复。数据库系统由 数据库、DBMS、应用系统、数据库管理员(DBA)和用户 5个主要部分组成,如图7-1所示。
(4)对数据库留后门。
7.2 数据库安全威胁及隐患
7.2.3 数据库安全研究概况
20世纪70年代初,美军开始对多级安全数据库管理系统 进行研究,之后提出了一系列数据库安全模型。80年代通过 制定《可信计算机系统安全评估标准》,构建了最早的信息 安全及数据库安全评估体系。90年代后期,ISO将CC确立为 国际标准,为数据库系统的安全研究发提供了重要依据。 我国从80年代开始研发。数据安全涉及国家高度核心机 密,只能自主研发.2001年提出第一个数据库安全标准《军用 数据库安全评估准则》,2002年发布了《计算机信息系统安 全等级保护/数据库管理系统技术要求》A/T389—2002)。 我国非常重视数据库安全研究,起步晚发展快,已纳入国家 “863”“973”等重点研究项目,部分已达到国际领先水平。
7.2 数据库安全威胁及隐患
(2)对SQL的注入。也称SQL突破。主要利用程序员 对用户输入数据的合法性不检测或检测不严的疏忽,从 客户端提交特殊的SQL查询代码,收集窃取有关信息。 3. 利用数据库漏洞 (1)利用多语句执行漏洞。 (2)攻击系统帐号。 (3)利用权限等管理漏洞。
7.2 数Leabharlann 库安全威胁及隐患案例7-3
SQL 默认端口号是1433,可用telnet试连服务 器,若连接则安装SQL。若对方数据直接存储在Web服 务器中且知端口号,以帐号即可用SQL直接连接数据库, 并可执行语句。常用的是一个扩展存储过程 master.dbo.XP_cmdshell,将仅有的一个参数作为系 统命令执行。管理用户有权执行此存储过程,可执行更 多操作,如用ipconfig查看ip设置,用net user查看系 统用户。若无此权限,可利用SQL漏洞创建一个临时存 储过程执行即可绕过。可反复用echo创建一个FTP脚本, 将木马传到一个FTP站点,并用存储过程调用ftp以脚本 下载并安装。
案例7-1
7.2 数据库安全威胁及隐患
2. 突破有关限制 (1)突破Script的限制
多数网页都带有脚本程序,用于语法和功能验证或权限限制 或提高页面效果。攻击者可能利用某种方式来突破Script的限 制进入系统。
案例7-2
某网页有一允许用户输入用户名和密码的文本框, 且限制用户只能输入6个字符。许多程序都是在客户端限 制,然后用msgbox弹出错误提示。黑客攻击时只需要在本 地做一个同样的主页并取消此限制,通常是去掉 JavaScrip等限制程序即可突破。
7.1 数据库安全概述
2.网络数据库的特点
网络数据库具有以下特点:
(1)以网络操作系统为运行环境; (2)分布式管理,前端开发工具和后台数据库可独立分; (3)强大网络功能,可根据软硬件和网络环境差异,组成多种 工作模式; (4)支持超大规模DB技术、Internet并行在线查询、多线程服 务器等; (5)集成网络信息资源。 (6)以网络聚集的数据,量庞类杂、分布广泛; (7)连续的在线服务。 (8)提供完备的数据安全性方案,并可提供完善的数据库备份 和恢复手段。
(1)实体完整性。 (2)域完整性。 (3)参照完整性。 (4)用户定义完整性。
数据库采用多种方法来保证数据完整性,包括外键、约 束、规则和触发器。
SQL提供一些工具帮助用户实现数据完整性, 主要包括:规则(Rule)、默认值(Default)、约束 (Constraint)和触发器(Trigger)。
7.3 数据库的安全特性
7.3.2 数据库的完整性
1.数据库完整性
数据库完整性(Database Integrity)是指DB中数据 的正确性和相容性。对于DB应用系统至关重要,主要作用 体现在: (1)防止合法用户向数据库中添加不合语义的数据. (2)利用基于DBMS的完整性控制机制实现业务规则, 易于定义和理解,且可降低应用程序的复杂性,提高运行 效率。 (3)合理的DB完整性设计,可协调兼顾DB完整性和 系统效能。 (4)在应用软件的功能测试中,有助于发现软件错误. DB完整性约束可分为六类:列级静态约束、元组级静 态约束、关系级静态约束、列级动态约束、元组级动态约 束、关系级动态约束。动态约束通常由应用软件实现。
图7-4 数据库系统安全控制模式
7.3 数据库的安全特性
1.数据库的安全性含义 1)身份认证管理与安全机制 2)权限管理 授权、角色管理。 3)视图访问 4)审计管理 2.数据安全性 1)保密性 (1)用户标识与鉴别。 (2)存取控制。 (3)数据库加密。 (4)审计。 (5)备份与恢复。 (6)推理控制与隐私保护。
7.1 数据库安全概述
7.1.3 数据库安全的层次与结构
1. 数据库安全的层次分布
数据库安全涉及5个层次。 (1)用户层 (2)物理层 (3)网络层 (4)操作系统层 (5)数据库系统层。 为了确保数据库安全,必须在所有层次上进行安 全性保护措施。
7.1 数据库安全概述
2. 可信DBMS体系结构
课堂讨论 1.数据库系统由哪几部分组成?以哪部分为核心? 2.数据库的安全性的概念是什么?如何进行实施? 3.数据库安全的层次分布有哪几个方面?
7.2 数据库安全威胁及隐患
7.2.1 威胁数据库安全的要素 1.威胁数据库安全的要素
威胁数据库安全的要素包括以下7种: (1)法律法规、社会伦理道德和宣传教育等问题. (2)政策、制度及管理问题。 (3)硬件系统控制问题。 (4)实体安全。 (5)操作系统安全性问题。 (6)可操作性问题。 (7)DBS本身的缺陷和隐患带来的安全性问题。
高等院校计算机与 信息类规划教材
清华大学出版社
第7章 数据库安全技术
目
1 2 3 4 5 6 7
录
7.1 数据库安全概述 7.2 数据库安全威胁及隐患 7.3 数据库的安全特性 7.4 数据库安全策略和机制 7.5 数据库安全体系与防护技术 7.6 用户安全管理与SQL实例 1.9 本章小结
目
本章要点
● ● ● ●
7.1 数据库安全概述
7.1 数据库安全概述
7.1.1 网络数据库及其特点 1.网络数据库的概念 数据库(DB)是结构化的数据集合。具有集成性、 共享性、海量性和持久性等特点。 网络数据库(Network Database)是指通过计算机 网络以特定结构进行组织、存储、检索和管理相关数据 的集合。其含义:一是在网络上运行的数据库;二是在 网络上包含其它用户地址的数据库;三是在信息管理中, 数据记录是可以以多种形式相互关联的一种数据库
7.3 数据库的安全特性
2.数据安全性
2)完整性 (1)物理完整性。 (2)逻辑完整性。 3)可用性 操作系统中的对象一般是文件,而数据库支持的应用 要求更精细。常较完整的数据库对数据安全性采取措施: (1)将数据库中需要保护的部分与其他部分进行隔离. (2)采用授权规则,如账户、口令和权限控制等访问 控制方法。 (3)对数据进行加密后存储于数据库中。
7.1 数据库安全概述
2.数据库安全的内涵
数据库安全分为数据库的系统安全和数据安全。 系统安全主要利用在系统级控制数据库的存取和使用 的机制,包含:
(1) 系统的安全设置及管理,包括法律法规、政策制度、实体安全等; (2) 数据库的访问控制和权限管理; (3) 用户的资源限制,包括访问、使用、存取、维护与管理等; (4) 系统运行安全及用户可执行的系统操作; (5) 数据库审计有效性; (6) 用户对象可用的磁盘空间及数量。 数据安全是在对象级控制数据库的访问、存取、加密、使用、应急处理 和审计等机制。
可信DBMS体系结构分为两类: (1)TCB子集DBMS体系结构。如图7-2所示。 2)可信主体DBMS体系结构。如图7-3所示, DBMS软件仍在可信操作系统上运行,所有对 数据库的访问都须经由可信DBMS。
图7-2 TCB子集DBMS体系结构
图7-3 可信主体DBMS体系结构
7.1 数据库安全概述
图7-1 数据库系统的组成
7.1 数据库安全概述
7.1.2 数据库安全的概念
1.数据库安全相关概念 数据库系统安全(DataBase System Security) 是指为数据库系统采取的安全保护措施,防止系统软件 和其中数据不遭到破坏、更改和泄漏。 数据库安全(DataBase Security)是指采取各种安 全措施对数据库及其相关 文件和数据进行保护。数据库安全的核心和关键是其 数据安全。数据安全是指以保护措施确保数据的完整性、 保密性、可用性、可控性和可审查性。
案例7-4
7.3 数据库的安全特性
7.3.3 数据库的并发控制 并发事件指在实现多用户共享数据时,有多个用户 同时存取数据的事件。对并发事件的有效控制称为并发 控制。 1.并发控制 事务(Transaction)是数据库的逻辑工作单位,是 用户定义的一组操作序列。并发控制则以事务为单位。 一个事务可以是一组SQL语句、一条SQL语句或整个程 序。 具有4种属性: (1)原子性。(2)一致性。 (3)隔离性。(4)持久性。