第10章 数据库系统安全
数据库原理及应用(第2版)--课后习题参考答案

9.在利用概念层数据模型描述数据时,一般要求模型要满足三个要求。下列描述中,不属于概念层 数据模型应满足的要求的是 A A.能够描述并发数据 B.能够真实地模拟现实世界 C.容易被业务人员理解 D.能够方便地在计算机上实现 10.数据模型三要素是指 B
3
·4·
A.数据结构、数据对象和数据共享 B.数据结构、数据操作和数据完整性约束 C.数据结构、数据操作和数据的安全控制 D.数据结构、数据操作和数据的可靠性 11.下列关于实体联系模型中联系的说法,错误的是 A.一个联系可以只与一个实体有关 B.一个联系可以与两个实体有关 C.一个联系可以与多个实体有关 D.一个联系也可以不与任何实体有关 D
·1·
第 1 章 数据概述
一.选择题 1.下列关于数据库管理系统的说法,错误的是 C A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型 B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.下列关于用文件管理数据的说法,错误的是 D A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数 据的效率 3.下列说法中,不属于数据库管理系统特征的是 C A.提供了应用程序和数据的独立性 B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合 C.用户访问数据时,需要知道存储数据的文件的物理信息 D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失 5.在数据库系统中,数据库管理系统和操作系统之间的关系是 A.相互调用 B.数据库管理系统调用操作系统 C.操作系统调用数据库管理系统 D.并发运行 6.数据库系统的物理独立性是指 D A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作 系统之间,属于 A A.系统软件 B.工具软件 C.应用软件 D.数据软件 8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是 A.数据库 B.操作系统 C.应用程序 D.数据库管理系统 B D
计算机网络安全基础第三版习题参考答案

计算机网络安全基础(第三版)习题参考答案第一章习题:1.举出使用分层协议的两条理由?1.通过分层,允许各种类型网络硬件和软件相互通信,每一层就像是与另一台计算机对等层通信;2.各层之间的问题相对独立,而且容易分开解决,无需过多的依赖外部信息;同时防止对某一层所作的改动影响到其他的层;3.通过网络组件的标准化,允许多个提供商进行开发。
2.有两个网络,它们都提供可靠的面向连接的服务。
一个提供可靠的字节流,另一个提供可靠的比特流。
请问二者是否相同?为什么?不相同。
在报文流中,网络保持对报文边界的跟踪;而在字节流中,网络不做这样的跟踪。
例如,一个进程向一条连接写了1024字节,稍后又写了另外1024字节。
那么接收方共读了2048字节。
对于报文流,接收方将得到两个报文,、每个报文1024字节。
而对于字节流,报文边界不被识别。
接收方把全部的2048字节当作一个整体,在此已经体现不出原先有两个不同的报文的事实。
3.举出OSI参考模型和TCP/IP参考模型的两个相同的方面和两个不同的方面。
OSI模型(开放式系统互连参考模型):这个模型把网络通信工作分为7层,他们从低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
第一层到第三层属于低三层,负责创建网络通信链路;第四层到第七层为高四层,具体负责端到端的数据通信。
每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持。
TCP/IP模型只有四个层次:应用层、传输层、网络层、网络接口层。
与OSI功能相比,应用层对应的是OSI的应用层、表示层、会话层;网络接口层对应着OSI的数据链路层和物理层。
两种模型的不同之处主要有:(1) TCP/IP在实现上力求简单高效,如IP层并没有实现可靠的连接,而是把它交给了TCP层实现,这样保证了IP层实现的简练性。
OSI参考模型在各层次的实现上有所重复。
(2) TCP/IP结构经历了十多年的实践考验,而OSI参考模型只是人们作为一种标准设计的;再则TCP/IP有广泛的应用实例支持,而OSI参考模型并没有。
数据库系统概论习题及答案 填空题

数据库系统概论复习资料:第一章:一选择题:1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是阶段。
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理答案:A2.数据库的概念模型独立于。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界答案:A3.数据库的基本特点是。
A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制答案:B4. 是存储在计算机内有结构的数据的集合。
A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构答案:B5.数据库中存储的是。
A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息答案:C6. 数据库中,数据的物理独立性是指。
A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立答案:C7. .数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指。
A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合答案:D8.数据库系统的核心是。
A.数据库B.数据库管理系统C.数据模型D.软件工具答案:B9. 下述关于数据库系统的正确叙述是。
A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据答案:A10.将数据库的结构划分成多个层次,是为了提高数据库的①和②。
第十章练习题及答案

第十章数据库恢复技术一、选择题1.一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是(A )。
A. 原子性B. 一致性C. 独立性D. 持久性2.表示两个或多个事务可以同时运行而不互相影响的是(C)。
A. 原子性B. 一致性C. 独立性D. 持久性3. 事务的持续性是指(B )A.事务中包括的所有操作要么都做,要么都不做。
B.事务一旦提交,对数据库的改变是永久的。
C.一个事务内部的操作对并发的其他事务是隔离的。
D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。
4.SQL语言中的COMMIT语句的主要作用是(C)。
A. 结束程序B. 返回系统C. 提交事务D. 存储数据5.SQL语言中用(B)语句实现事务的回滚A. CREATE TABLEB. ROLLBACKC. GRANT和REVOKED. COMMIT 6.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为(A )。
A. 介质故障B. 运行故障C. 系统故障D. 事务故障7.在DBMS中实现事务持久性的子系统是(B D )。
A. 安全管理子系统B. 完整性管理子系统C. 并发控制子系统D. 恢复管理子系统8. 后援副本的作用是(C)。
A. 保障安全性B. 一致性控制C. 故障后的恢复D. 数据的转储9.事务日志用于保存(D C)。
A. 程序运行过程B. 程序的执行结果C. 对数据的更新操作D. 数据操作10.数据库恢复的基础是利用转储的冗余数据。
这些转储的冗余数据包括(C)。
A. 数据字典、应用程序、审计档案、数据库后备副本B. 数据字典、应用程序、审计档案、日志文件C. 日志文件、数据库后备副本D. 数据字典、应用程序、数据库后备副本选择题答案:(1) A (2) C (3) B (4) C (5) B(6) A (7) D (8) C (9) C (10) C二、简答题1.试述事务的概念及事务的四个特性。
MySQL 数据库基础与应用 第10章 权限管理和安全控制

MySQL 数据库基础与应用
5
10.2 用户管理
10.2.1 创建用户
创建用户使用CREATE USER语句。 语法格式:
CREATE USER user_specification [ , user_specification ] ...
其中,user_specification:
user [
IDENTIFIED BY [ PASSWORD ] ‘password’ | IDENTIFIED WITH auth_plugin [ AS ‘auth_string’] ]
10.2 用户管理
一个新安装的MySQL系统,只有一个名为root的用户,可使用以下 语句进行查看:
mysql> SELECT host, user, authentication_string FROM er;
+-----------+--------+------------------------------------------------------------------------+
4. procs_priv表 procs_priv表可以存储过程和存储函数进行权限设置。procs_priv表 包含8个字段,分别是Host、Db、User、Routine_name、Routine_type、 Grantor 、Proc_priv和Timestamp。
MySQL 数据库基础与应用
4
+-----------+--------+------------------------------------------------------------------------+
十章节信息安全

术旳作用
上一页 下一页 结束 返回
2024/9/28
15
10.1.3 计算机犯罪
所谓计算机犯罪,是指行为人以计算机作为 工具或以计算机资产作为攻击对象实施旳严重危 害社会旳行为。由此可见,计算机犯罪涉及利用 计算机实施旳犯罪行为和把计算机资产作为攻击 目 录 对象旳犯罪行为。
上一页
下一页
结束
2024/9/28
2024/9/28
19
黑客行为特征体现形式
1)恶作剧型
2)隐蔽攻击型
3)定时炸弹型
4)制造矛盾型
目录
上一页
5)职业杀手型
下一页
6)窃密高手型
结束
7)业余爱好型
2024/9/28
20
目录 上一页 下一页 结束
10.1.4 常见信息安全技术
目前信息安全技术主要有:密码技术、防火墙技术、 虚拟专用网(VPN)技术、病毒与反病毒技术以及其 他安全保密技术。 1.密码技术
13
3. 网络信息安全对网络道德提出新旳要求
1)要求人们旳道德意识愈加强烈,道德行为 愈加自主自觉
2)要求网络道德既要立足于本国,又要面对
世界
目录
上一页
3)要求网络道德既要着力于目前,又要面对
下一页
将来
结束
2024/9/28
14
4. 加强网络道德建设对维护网络信息安全有着主 动旳作用
1)网络道德能够规范人们旳信息行为 2)加强网络道德建设,有利于加紧信息安全立 法旳进程 4)加强网络道德建设,有利于发挥信息安全技
当构筑和使用木质构造房屋旳时候,为预防
火灾旳发生和蔓延,人们将结实旳石块堆砌在房
屋周围作为屏障,这种防护构筑物被称为防火墙。
网络安全实用技术答案
选择题部分:第一章:(1)计算机网络安全是指利用计算机网络管理控制和技术措施,保证在网络环境中数据的、完整性、网络服务可用性和可审查性受到保护。
A.保密性(2)网络安全的实质和关键是保护网络的安全。
C.信息(3)实际上,网络的安全问题包括两方面的内容:一是,二是网络的信息安全。
D.网络的系统安全(4)在短时间内向网络中的某台服务器发送大量无效连接请求,导致合法用户暂时无法访问服务器的攻击行为是破坏了。
C.可用性(5)如果访问者有意避开系统的访问控制机制,则该访问者对网络设备及资源进行非正常使用属于。
B.非授权访问(6)计算机网络安全是一门涉及计算机科学、网络技术、信息安全技术、通信技术、应用数学、密码技术和信息论等多学科的综合性学科,是的重要组成部分。
A.信息安全学科(7)实体安全包括。
B.环境安全、设备安全和媒体安全(8)在网络安全中,常用的关键技术可以归纳为三大类。
D.预防保护、检测跟踪、响应恢复第二章:(1)加密安全机制提供了数据的______.D.保密性和完整性(2)SSI.协议是______之间实现加密传输协议。
A.传输层和应用层(3)实际应用时一般利用_____加密技术进行密钥的协商和交换.利用_____加密技术进行用户数据的加密。
B.非对称对称(4)能在物理层、链路层、网络层、传输层和应用层提供的网络安全服务是。
B.数据保密性服务(5)传输层由于可以提供真正的端到端链接,因此最适宜提供安全服务。
D.数据保密性及以上各项(6)VPN的实现技术包括。
D.身份认证及以上技术第三章:(1)网络安全保障包括信息安全策略和。
D.上述三点(2)网络安全保障体系框架的外围是。
D.上述三点(3)名字服务、事务服务、时间服务和安全性服务是提供的服务。
C.CORBA网络安全管理技术(4)一种全局的、全员参与的、事先预防、事中控制、事后纠正、动态的运作管理模式是基于风险管理理念和。
A.持续改进模式的信息安全运作模式(5)我国网络安全立法体系框架分为。
网络安全实用技术答案
选择题部分:第一章:(1)计算机网络安全是指利用计算机网络管理控制和技术措施,保证在网络环境中数据的、完整性、网络服务可用性和可审查性受到保护。
A.保密性(2)网络安全的实质和关键是保护网络的安全。
C.信息(3)实际上,网络的安全问题包括两方面的内容:一是,二是网络的信息安全。
D.网络的系统安全(4)在短时间内向网络中的某台服务器发送大量无效连接请求,导致合法用户暂时无法访问服务器的攻击行为是破坏了。
C.可用性(5)如果访问者有意避开系统的访问控制机制,则该访问者对网络设备及资源进行非正常使用属于。
B.非授权访问(6)计算机网络安全是一门涉及计算机科学、网络技术、信息安全技术、通信技术、应用数学、密码技术和信息论等多学科的综合性学科,是的重要组成部分。
A.信息安全学科(7)实体安全包括。
B.环境安全、设备安全和媒体安全(8)在网络安全中,常用的关键技术可以归纳为三大类。
D.预防保护、检测跟踪、响应恢复第二章:(1)加密安全机制提供了数据的______.D.保密性和完整性(2)SSI.协议是______之间实现加密传输协议。
A.传输层和应用层(3)实际应用时一般利用_____加密技术进行密钥的协商和交换.利用_____加密技术进行用户数据的加密。
B.非对称对称(4)能在物理层、链路层、网络层、传输层和应用层提供的网络安全服务是。
B.数据保密性服务(5)传输层由于可以提供真正的端到端链接,因此最适宜提供安全服务。
D.数据保密性及以上各项(6)VPN的实现技术包括。
D.身份认证及以上技术第三章:(1)网络安全保障包括信息安全策略和。
D.上述三点(2)网络安全保障体系框架的外围是。
D.上述三点(3)名字服务、事务服务、时间服务和安全性服务是提供的服务。
C.CORBA网络安全管理技术(4)一种全局的、全员参与的、事先预防、事中控制、事后纠正、动态的运作管理模式是基于风险管理理念和。
A.持续改进模式的信息安全运作模式(5)我国网络安全立法体系框架分为。
网络安全期末备考必备——填空题 打印
第1章网络安全概论(1) 计算机网络安全是一门涉及、、、通信技术、应用数学、密码技术、信息论等多学科的综合性学科。
答案: 计算机科学、网络技术、信息安全技术(2) 网络安全的 5 大要素和技术特征,分别是 ______、______、______、______、______。
答案: 机密性、完整性、可用性、可控性、不可否认性(3) 计算机网络安全所涉及的内容包括是、、、、等五个方面。
答案: 实体安全、运行安全、系统安全、应用安全、管理安全(4) 网络信息安全保障包括、、和四个方面。
(5) 网络安全关键技术分为、、、、、、和八大类。
(6) 网络安全技术的发展具有、、、的特点。
(7) TCSEC是可信计算系统评价准则的缩写,又称网络安全橙皮书,将安全分为、、和文档四个方面。
(8)通过对计算机网络系统进行全面、充分、有效的安全评测,能够快速查出、、。
答案:(4) 信息安全策略、信息安全管理、信息安全运作和信息安全技术(5) 身份认证、访问管理、加密、防恶意代码、加固、监控、审核跟踪和备份恢复(6) 多维主动、综合性、智能化、全方位防御(7) 安全政策、可说明性、安全保障(8) 网络安全隐患、安全漏洞、网络系统的抗攻击能力第2章网络安全技术基础2. 填空题(1)应用层安全分解成、、的安全,利用各种协议运行和管理。
解答:(1)网络层、操作系统、数据库、TCP/IP(2)安全套层SSL协议是在网络传输过程中,提供通信双方网络信息的性和性,由和两层组成。
解答:(2)保密性、可靠性、SSL 记录协议、SSL握手协议(3)OSI/RM开放式系统互连参考模型七层协议是、、、、、、。
解答:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层(4)ISO对OSI规定了、、、、五种级别的安全服务。
解答: 对象认证、访问控制、数据保密性、数据完整性、防抵赖(5)一个VPN连接由、和三部分组成。
一个高效、成功的VPN具有、、、四个特点。
数据库应用第10章_数据库安全性_V08_2
第10章 数据库保护及SQL Server的安全管理数据库系统应用Data Base System Application张建国哈工大计算机科学与技术学院2008-10-7哈工大计算机学院 张建国 Slide 10-1第10章 数据库的安全性及SQL Server的安全管理2008-10-72第10章 数据库保护及SQL Server的安全管理本章主要内容数据库安全性的概念 数据库安全控制用户标识与鉴别 存取控制 自主存取控制(DAC)方法 强制存取控制(MAC)方法 视图机制 审计 数据加密统计数据库安全性问题 SQL Server 2000 数据库的安全性措施2008-10-7哈工大计算机学院 张建国 Slide 10-3第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念美国国防部1985年正式颁布了《DoD可信计算机系统评估标 准TCSEC》(Trusted Computer System Evaluation Criteria). 制定该标准的目的 提供一种标准,使用户可以对其计算机系统内敏感信息安 全操作的可信程度进行评估. 为计算机行业的制造商提供一种可循的指导原则,使其产 品能够更好地满足敏感应用的安全需求. 数据库安全性 保护数据库,以防非法使用所造成的数据泄露、更改或破 坏.2008-10-7哈工大计算机学院 张建国Slide 10-4第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)1991年,美国国家计算机安全中心NCSC颁布了《可信计算机 系统评估标准关于可信数据库系统的解释TDI》 (Trusted Database Interpretation),将TCSEC扩展到数据库管理系统 TDI定义了数据库管理系统的设计与实现中需要满足和用 以进行安全性级别评估的标准. TESEC(TDI)将系统划分为四组七个级别,从低到高依次是 D级: 最小保护 最低级别.一切不符合更高级标准的系统都归于D级. 例如,DOS操作系统 几乎没有专门的机制保障系统的安全性.2008-10-7哈工大计算机学院 张建国Slide 10-5第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)C1级:自主安全保护 只提供了非常初级的自主安全保护措施. 能实现对用户和数据的分离,进行自主存取控制DAC. C2级:受控存取保护 是安全产品的最低级别. 提供受控的存取保护, 将C1级的 DAC细化,以个人身份注册负责,并实施审计和资源隔离. B1级: 标记安全保护 对系统的数据加标记,并对标记的主体和客体实施强制存 取控制MAC和审计等安全机制. B1级以上才称得上安全产品.2008-10-7哈工大计算机学院 张建国Slide 10-6第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)B2级:结构化保护建立形式化的安全策略模型,并对系统内的所有主体 和客体实施DAC和MAC. 目前数据库产品尚无符合B2级安全标准的.B3级: 安全域 A1级: 验证设计2008-10-7哈工大计算机学院 张建国Slide 10-7第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制数据库权限的种类 维护数据库管理系统的权限 对数据库中数据操作的权限 操作数据库对象的权限 创建,修改,删除数据库对象 操作数据库数据的权限 查询,增加,删除,修改表和视图中的数据2008-10-7哈工大计算机学院 张建国Slide 10-8第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制(Cont.)数据库用户的分类 数据库系统管理员DBA(SQL Server中为sa) 拥有对数据库操作的全部权限 数据库对象拥有者dbo 拥有对自己创建的数据对象操作的全部权限 普通用户User 对数据库中的数据进行查询,增加,删除,修改的权限. 只能在自己被授予的权限内进行操作. 角色Role 将具有相同权限的一组用户组织在一起,统一授权以简 化授权机制2008-10-7哈工大计算机学院 张建国 Slide 10-9第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制(Cont.)数据库的安全措施是一层一层逐级设置的 用户级 通过用户标识和鉴别实现. DBMS级 通过存取控制实现. 操作系统级 通过操作系统的安全保护实现. DB级 通过对数据加密存储实现.2008-10-7哈工大计算机学院 张建国Slide 10-1010.2 数据库安全控制(Cont.)1.用户标识与鉴别用户标识设置用户名.口令设置用户口令.优点简单易行.缺点用户标识和口令容易被人窃取.解决办法利用加密算法或加密函数.10.2 数据库安全控制(Cont.)2. 存取控制存取控制主要通过DBMS的授权机制实现,由两部分组成:定义用户权限将用户权限存入用户存取权限数据字典中.不同用户对系统具有不同的存取权限.合法权限检查用户发出DB操作请求时,DBMS查找数据字典,根据安全规则进行合法权限检查.只有合法的操作才能正常执行.目前大型DB的DBMS一般都支持C2级中的自主存取控制(DAC),有些DBMS可以支持B1级中的强制存取控制(MAC).10.2 数据库安全控制(Cont.)3. 自主存取控制(DAC)方法概念用户对数据的存取权限是“自主”的,被授权的用户可以自由决定将对数据存取权限授权给任何人,而系统无法控制.SQL的自主存取权限控制通过GRANT和REVOKE实现.优点用户对于不同的数据对象有不同的存取权限,不同的用户对同一数据对象也有不同的存取权限.用户可将自己的存取权限转授于其他用户,使用非常灵活.10.2 数据库安全控制(Cont.)问题用户对于存取权限是“自主”的,可以将权限转授给其他用户,这种授权是不受系统或DBA控制的,可能存在被授权用户有意或无意“泄露”数据机密问题.问题产生的原因只是通过对数据的存取权限进行安全控制,而数据本身无安全性标记.解决办法采用强制存取控制.10.2 数据库安全控制(Cont.)4. 强制存取控制(MAC)方法实行主客体制,系统中的全部实体两大类主体: 系统中的活动实体为实际用户和代表各用户的程序进程.客体: 系统中的被动实体为受主体操纵的文件,基本表,索引,视图等.敏感度标记:DBMS为主体和客体的每一个值指定一个“敏感度标记”.敏感度标记被分为绝密,机密,可信,公开等级别.许可证级别和密级:主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级.主体客体许可证级别密级绝密机密可信公开绝密机密可信公开高低通过对比主体的标记和客体的标记,确定主体是否能存取客体.10.2 数据库安全控制(Cont.)10.2 数据库安全控制(Cont.)5.视图机制为不同的用户建立不同的视图.简化用户看待数据库的观点.将不需要的数据隐藏起来,实现数据的保护和保密.10.2 数据库安全控制(Cont.)6. 审计审计是C2级以上安全级别必不可少的一项技术.审计原理将用户对DB中的所有操作自动记录下来存入在“审计日志”中.DBA可利用审计日志跟踪的信息,重现导致DB现状的一系列事件,找出非法存取数据的人、时间和操作内容等.审计的代价审计需占用较多的存储空间和时间,因此审计功能一般是可选的.审计一般用于安全性较高的DB.10.2 数据库安全控制(Cont.)7. 数据加密对于高度敏感的数据,例如财务数据、军事数据、国家机密等,除上述安全措施外,还可以采用数据加密技术.加密的基本思想加密在存储数据时,将原始数据(明文)按某种算法变换成某种不可直接识别的格式(密文).解密使用数据时,按照加密算法将密文还原为明文.不知道解密算法的人无法获得正确的数据.10.2 数据库安全控制(Cont.)两种主要加密算法替换方法使用密钥将明文中的每一个字符转换成密文中的一个字符.例:将每个ASCII字符的值减3.“DOG”的内部存储表示为“AMD”.读取数据时,再使每个ASCII值加3,得到正确的数据.转换方法将明文字符按不同的顺序排列.常将这两种方法结合起来应用,以提高安全性.10.3 统计数据的安全问题人们往往注意一般DB的安全问题,较好地解决了DB的保密问题,但对于统计DB常常却忽略了其安全性.问题从某些统计数据信息往往能推算出一些个体数据.例:想获得总经理的工资,但系统不允许查询某个职工的数据,于是可以统计全体职工的工资总额,再统计全部不是总经理的职工的工资,二者相减,即可获得总经理的工资.总经理工资=全体职工工资总额-全体非总经理职工工资总额所以,应特别注意统计数据库泄密问题.10.4 SQL Server 的安全管理机制SQL Server是Microsoft开发的运行在Windows上的DBMS Windows提供了较完善的安全措施.SQL Server在此基础上又提供了自己的安全措施.1. 用户访问DB中数据的三个认证过程身份验证(连接DB服务器权限)—登录帐户验证用户是否有权连接到SQL Server数据库服务器.访问DB权限验证——数据库用户帐户验证用户是否的DB的合法用户操作数据权限验证——授权验证用户是否有操作相应数据的权限10.4 SQL Server 的安全管理机制(Cont.)SQL Server 服务器身份验证SQL ServerDB Data 访问DB 权限验证操作数据权限验证Windows用户DB Data10.4 SQL Server 的安全管理机制(Cont.)2. 用户类型和安全验证模式SQL Server 用户的类型Windows授权用户Windows用户或组SQL授权用户SQL 用户(非Windows用户)SQL Server 的两种安全验证模式Windows身份验证模式Windows和SQL Server混合验证模式10.4 SQL Server 的安全管理机制(Cont.) Windows身份验证模式允许Windows用户连接SQL ServerSQL Server通过Windows获得用户信息,并对用户名和密码进行验证用户先登录Windows,登录SQL Server 时选择Windows 身份验证模式(不需提供登录用户和密码)Windows和SQL Server混合验证模式允许Windows授权用户和SQL授权用户(非Windows授权用户)连接SQL Server.需提供登录名和密码.SQL Server身份验证设置企业管理器—服务器(右键)—-属性—安全性—身份验证—SQL Server和Windows重新启动Windows生效10.4 SQL Server 的安全管理机制(Cont.)3. 登录帐户管理访问数据库的用户必须登录.Windows登录用户SQL Server 登录用户(1) 建立登录帐户企业管理器—安全性—登录—右键—新建登录名称输入名称: SQL登录帐户名在菜单中选择名称:Windows帐户名Windows身份验证域:选择一个域及用户名10.4 SQL Server 的安全管理机制(Cont.)SQL Server身份验证输入密码设置访问的默认数据库服务器角色选项卡为用户设置服务器角色.数据库角色为用户设置数据库角色,使用户可访问指定数据库.(2) 修改登录帐户的属性安全性—登录—选择指定用户—属性进行修改(3) 删除登录帐户10.4 SQL Server 的安全管理机制(Cont.)4. 用户帐户管理具有登录账户的用户只能登录到SQL Server服务器,还不能访问具体数据库.将登录名与具体数据库联系起来后才能访问数据库.用户可访问某一数据库的用户一个登录用户可以访问若干个数据库,访问时必须与有关的用户相关联.每一个数据库都有两个默认的用户dbo(database owner)创建数据库的用户称为数据库所有者dbo拥有对自己所创建的数据库的所有权限guest对象的全部权限和所有权由用户控制.10.4 SQL Server 的安全管理机制(Cont.)(1) 建立数据库用户选择具体数据库—用户(右键)—新建数据库用户—选择登录名和用户名选择该用户的数据库角色属性—权限设置该角色对表/视图的操作权限.对选定的表/视图选择”列”,可设置对表/视图中的列操作的权限.(2) 删除数据库用户10.4 SQL Server 的安全管理机制(Cont.)5. 角色具有相同权限的用户可设置成一个角色.同一角色的用户自动继承该角色的所有权限.角色可以方便对用户的管理.角色的分类固定服务器角色固定数据库角色10.4 SQL Server 的安全管理机制(Cont.)服务器角色sysadmin:执行SQL Server中的任何操作dbcreater:创建和修改数据库diskadmin:管理磁盘文件processadmin:管理系统进程securityadmin:管理和审计登录账号serveradmin:配置服务器范围内的设置setupadmin:可以增加、删除连接服务器,建立数据库复制,管理扩展的存储器bulkadmin:执行块插入操作服务器角色为在用户登录时授予的在服务器范围内的权限,在服务器上操作,独立于具体数据库.10.4 SQL Server 的安全管理机制(Cont.)固定数据库角色public: 维护全部默认的许可db_owner:执行数据库的任何操作,可转让授权db_accessadmin:可以增加或删除windows认证模式下的数据库用户或用户登录者db_addadmin:增加、修改和删除数据库对象db_securityadmin:执行语句和对象的权限管理db_backupadmin:备份和恢复数据库db_datareader:检索任意表中的数据db_datawriter:增加、修改和删除所有表中的数据db_denydatareader: 不能检索任意表中的数据db_denydatawriter: 不能增加、修改和删除所有表中的数据数据库用户角色对应于具体数据库.10.4 SQL Server 的安全管理机制(Cont.)建立用户自定义角色选择建立角色的数据库角色—新建数据库角色—输入角色名称—选择角色—添加用户——确定定义角色授权选择指定角色属性—权限—设置权限添加自定义角色的成员属性—添加—选择帐户10.4 SQL Server 的安全管理机制(Cont.)6. 存取权限管理机制为用户授权,将授权结果存入数据字典用户提出操作请求时,系统进行操作权限检查,决定是否执行其操作(1) 权限的种类对象权限(使用DML语句的权限)用户对表/视图的操作权限(查询,更新)语句权限(使用DDL语句的权限)用户进行数据定义的权限隐含权限(角色权限)为用户设置的服务器角色,数据库角色,dbo等权限,一次授权,长期享有.(2) 权限管理授权Grant收回授权Revok拒绝访问Deny(3) 权限管理级别表/视级授权属性级授权存储过程执行授权(4) 权限管理机制企业管理器SQL语句10.4 SQL Server 的安全管理机制(Cont.)10.4 SQL Server 的安全管理机制(Cont.)(5) SQL权限管理授权语句GRANT 权限名[,…] ON 表名|视图名|存储过程名TO 数据库用户名|用户角色名[, …]收回权限语句REVOKE 权限名[,…] ON表名|视图名|存储过程名FROM 数据库用户名|用户角色名[, …]拒绝访问语句REVOKE权限名[,…] ON表名|视图名|存储过程名TO数据库用户名|用户角色名[, …]10.4 SQL Server 的安全管理机制(Cont.)对属性列和视图的操作权限查询,插入,修改,删除.对基本表的操作权限查询,插入,修改,删除,修改表定义,建立索引.建立表权限建立表的权限归DBA所有,DBA可以将权限授于其他用户,被授权的用户可以自己创建表.创建表的用户是表的主人dbo,拥有对表的所有权限用户可以是某一特定用户,也可以是全体用户PUBLICWITH GRANT OPTION子句获得某种权力的用户可以将其权限转授其他用户10.4 SQL Server 的安全管理机制(Cont.)例:把查询表Student的权限授给用户User1.GRANT SELECT ON Student TO User1;例:把对表Student和Course的全部操作权限授给用户User2和User3.GRANT ALL PRIVILIGES ON Student,Course TO User2,User3;例:把对表SC的查询权限授给所有用户.GRANT SELECT ON SC TO PUBLIC;例:把对表Student的查询和修改学号的权限授给用户User4. GRANT SELECT,UPDATE(Sno)ON Student TO User4;10.4 SQL Server 的安全管理机制(Cont.)例:把对表SC插入的权限授给User5,并允许User5将此权限再授给其他用户.GRANT INSERT ON SC TO User5 WITH GRANT OPTION;例:DBA把在数据库Teaching_system中建立表的权限授给User8.GRANT CREATETAB ON Teaching_system TO User8;10.4 SQL Server 的安全管理机制(Cont.)例:把用户User4修改学号的权限收回.REVOKE UPDATE(Sno) ON Student FROM User4;例:收回所有用户对表SC的查询权限.REVOKE SELECT ON SC FROM PUBLIC;例:收回用户User5对表SC插入的权限.REVOKE INSERT ON SC FROM User5;若User5已将自己的权限授给其他用户,则被授给的权限也一同收回.第10章数据库保护及SQL Server的安全管理本章小结计算机安全性及数据库安全性的概念数据库安全控制用户标识与鉴别,存取控制,自主存取控制(DAC)方法,强制存取控制(MAC)方法,视图机制,审计,数据加密统计数据库安全性SQL Server 数据库的安全管理机制本章习题和任务复习本章内容.通过实验课练习授权机制.理解P.193各题的问题.2008-10-7哈工大计算机学院张建国Slide 10-41。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xp_cmdshell在SQL
Server2000是默认开启的, 2005中默认被禁止,但数据库用户拥有 sysadmin权限可以使用sp_configure重新开启它
信息安全技术
30
SQL注入攻击的防范
1. 使用专业的漏洞扫描工具 2. 要在Web应用程序开发过程的所有阶段实施代码 的安全检查 3. 使用安全的存储过程对抗SQL注入 4. 检查数据类型:
信息安全技术
13
MS SQL Server注入攻击
/ReadNews.asp?NewsI D=294 and (select count(*) from sysobjects)>0,服 务器会返回错误提示。
ห้องสมุดไป่ตู้信息安全技术
14
MS SQL Server注入攻击
信息安全技术
5
MS SQL Server注入攻击
看到URL中有类似“detail.asp?productid”这样的信息,就 可以猜测该网站是否存在注入漏洞了
信息安全技术
6
MS SQL Server注入攻击
第1步:加单引号。 如图所示是在浏览器地址栏中 /detail.asp?productid=392后面加一个单引号, 按Enter键后,服务器返回的错误提示。
如用户在输入邮箱时,必须按住邮箱的格式进行检查 输入时间、日期时必须严格按照时间、日期的格式进行 检查 避免应用中使用root、dbowner等高权限账户连接数据库
信息安全技术
31
5. 从数据库自身的角度来说应该使用最小权限原则
SQL注入攻击的防范
6. 在HTML/XML中显示“用户可控数据”前,应该 进行html escape转义 7. 使用预编译语句,例如:
信息安全技术
18
攻击存储过程
SQL Server和Oracle数据库有大量内置存储 过程
SQL
Server2000存储过程xp_cmdshell臭名昭著
EXEC master.dbo.xp_cmdshell ‘cmd.exe dir c:’ EXEC master.dbo.xp_cmdshell ‘ping ‘
第十章
数据库安全
主讲人:任凯 联系方式:renkai_jlxy@ 云盘:/s/1qWykdjQ1
本章提要
SQL注入攻击
存储过程的攻击 SQL注入攻击的防范
信息安全技术
2
SQL注入攻击
SQL注入攻击是黑客对数据库进行攻击的常用手段 之一 原因:由于程序员的水平及经验参差不齐,相当 大一部分程序员在编写代码的时候,没有对用户 输入数据的合法性进行判断,使应用程序存在安 全隐患 用户可以提交一段数据库查询代码,根据程序返 回的结果,获得某些他想得知的数据,这就是所 谓的SQL Injection,即SQL注入
MS SQL Server注入攻击
继续猜测表名,在 /detail.asp?productid=392后 面加“and (select count(*) from adminuser)>=0”, 返回正常页面,说明存在“adminuser”表,猜测 成功。
A. /product_more.asp?id=20’ B. /product_more.asp?id=20 and 1=2 C. /product_more.asp?id=20 and 1=1 D. /product_more.asp?id=20 and 99*9<100
9
信息安全技术
MS SQL Server注入攻击
第4步:在浏览器地址栏中 /detail.asp?productid=392后 面加“and user>0”,按Enter键后,服务器返回错 误提示,可知是SQL Server数据库。
信息安全技术
10
MS SQL Server注入攻击
/detail.asp?productid=392 and (select count(*) from sysobjects)>0 如果是SQL Server数据库,那么该网址显示的页面 与“/detail.asp? productid=392”是 一样的
信息安全技术
12
MS SQL Server注入攻击
/ReadNews.asp?NewsI D=294 and (select count(*) from msysobjects)>0, 服务器会返回错误提示“不能读取记录;在 'msysobjects'上没有读取数据权限。”,说明是 SQL Server数据库。
信息安全技术
33
课堂练习
3.关于SQL注入说法正确的是( D )
A. SQL注入攻击是攻击者直接对web数据库的攻击 B. SQL注入攻击除了可以让攻击者绕过认证之外,不会 再有其他危害 C. SQL注入漏洞,可以通过加固服务器来实现 D. SQL注入攻击,可以造成整个数据库全部泄露
信息安全技术
16
MS SQL Server注入攻击
第6步:猜测字段名(用户名和密码字段)。 猜出表名以后,将count(*)替换成count(字段名),用 同样的方法猜解字段名。 在浏览器地址栏中 /detail.asp?productid=392后面加 “and exists (select count(name) from adminuser)>=0”,按 Enter键后,服务器返回错误提示,说明不存在“name”用 户名字段。
第3步:测试“and 1=2”。在浏览器地址栏中/ detail.asp?productid=392后面加“and 1=2”,按Enter键后,服务器返回 错误提示
如果一个网站可以被注入,那么:第2步显示正常网页,第3步显示错 误提示,提示”BOF或EOF中有一个是“真”,或者当前的记录已被删 除,所需的操作要求一个当前的记录”。 如果一个网站不可以被注入,那么:第2步和第3步都会显示错误提示。
信息安全技术
17
MS SQL Server注入攻击
继续猜测用户名字段名,在 /detail.asp?productid=392后面加 “and (select count(admin_name) from adminuser)>=0”,返 回正常页面,说明存在“admin_name”用户名字段名,猜 测成功。
信息安全技术
32
课堂练习
1. sql注入防护通常针对编码进行安全加固。以下哪 一个不属于加固的范畴?( D )
A.使用参数化语句 C.规范化
B.验证输入 D.使用web安全防火墙
2. 已知某个链接存在SQL注入漏洞,网址是 /product.asp?id=20,以下哪 个URL访问之后,页面不会报错( C )。
4. SQL注入通常会在哪些地方传递参数值而引起 SQL注入?( D )
A.web表单 C.url包含的参数值
信息安全技术
B.cookies D.以上都是
34
String custnmae = request.getParamenter(“customerName”); String query = “SELECT account_balance FROM user_data WHERE user_name=?”; PreparedStatement pstmt = connection.prepareStatement(query); pstmt.setString(1,custname); ResultSet results = pstmt.executeQuery();
信息安全技术
11
MS SQL Server注入攻击
sysobjects是SQL Server的系统表 SQL Server数据库一切信息都保存在sysobjects里
例如删除表的SQL语句: if(Exists(Select * From sysobjects Where xtype=‘U’ And Name=‘表名’)) ; drop table [dbo].[表名];
信息安全技术
3
SQL注入攻击
途径:
通过web表单进行SQL注入攻击
通过cookies进行SQL注入攻击
通过url包含的参数值进行SQL注入攻击
信息安全技术
4
SQL注入攻击
步骤: SQL注入漏洞的判断 分析数据库服务器类型 可执行情况 发现WEB虚拟目录 上传ASP木马 得到系统的管理员权限
第5步:猜测表名。在浏览器地址栏中 /detail.asp?productid=392后 面加“and (select count(*) from admin)>=0”,按 Enter键后,服务器返回错误提示,说明不存在 “admin”表。
信息安全技术
15
信息安全技术
7
MS SQL Server注入攻击
第2步:测试“and 1=1”。如图所示,在浏览器地址栏中 / detail.asp? productid=392后面加 “and 1=1”,按Enter键后,服务器返回到正常页面
信息安全技术
8
MS SQL Server注入攻击