数据库系统安全的培训教材_第1页
数据库系统安全的培训教材_第2页
数据库系统安全的培训教材_第3页
数据库系统安全的培训教材_第4页
数据库系统安全的培训教材_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、10.1数据库平安概述 注释物理上的数据库完整性预防数据库物理方面的问题,如掉电,以及被灾祸破坏后能重构数据库逻辑上的数据库完整性保持数据的结构,比如:一个字段的值的修改不至于影响其他字段元素的完整性每个元素中的数据都是准确的可审计性追踪到谁访问修改过数据的元素访问控制只允许用户访问被批准的数据,以及限制不同的用户有不同的访问模式,如读或写用户认证确保每个用户被正确地识别,既便于审计追踪,也为了限制对特定的数据进行访问可获(用)性用户一般可以访问数据库以及所有被批准访问的数据第10章 数据库系统平安Network and Information Security(1) 存取控制技术(2) 隔离

2、控制技术(3) 加密技术(4) 信息流向控制技术(5) 推理控制技术(6) 数据备份技术 第10章 数据库系统平安Network and Information Security10.1.1 数据库平安技术一般情况下,我们可以确定整个数据库是敏感的(要求保密)或不敏感的(不要求保密)。细一点,可以确定库中的某个基表(对于关系型数据库)是敏感的或不敏感的。但有时情况却复杂得多。第10章 数据库系统平安Network and Information Security10.1.2 多级数据库姓名、部门和 这三列是不需保密的,任何人都可以查询。但是工资和绩效考核却是必须保密的(现在很多企业都搞所谓的“

3、密薪制),这说明基表中只有局部字段是敏感的。姓名部门工资电话绩效考核张三培训李四技术部25002171420良王五办公室16002582322中赵六客户服务部20002582254良第10章 数据库系统平安Network and Information Security也许李四是一个特殊人物,他的所有情况都要保密,甚至他的存在都是一个秘密。赵六的 也许很重要,不想被别人知道。这些数据的平安要求与工资与绩效考核两个字段的平安要求是不一样的。 姓名部门工资电话绩效考核张三培训李四技术部25002171420良王五办公室16002582322中赵六

4、客户服务部20002582254良第10章 数据库系统平安Network and Information Security1.一个元素的敏感度可能不同于同一记录的其他元素或同一属性的其他值。这要求应该对每个元素单独实行平安保护。2.敏感和不敏感两种级别缺乏以描绘某些平安要求,需要多个平安级别。3.集合平安不同于单个元素的平安,如数据库中的和、平均值。集合平安可能高于也可能低于单个元素的平安。第10章 数据库系统平安Network and Information Security数据库平安特点虽然DBMS在操作系统的根底上增加了不少平安措施,例如基于权限的访问控制等,但操作系统和DBMS对数据库

5、文件本身仍然缺乏有效的保护措施,有经验的黑客会“绕道而行,直接利用操作系统工具窃取或篡改数据库文件内容。被称为通向DBMS的“隐秘通道,它所带来的危害一般数据库用户难以觉察。分析和堵塞“隐秘通道被认为是B2级的平安技术措施。对数据库中的敏感数据进行加密处理,是堵塞这一“隐秘通道的有效手段。10.2 数据库加密 第10章 数据库系统平安Network and Information Security80的计算机犯罪来自系统内部。在传统的数据库系统中,数据库管理员的权力至高无上,他既负责各项系统管理工作,例如资源分配、用户授权、系统审计等,又可以查询数据库中的一切信息。为此,可采用技术手段来削弱系

6、统管理员的权力,如采用多权分立的策略,除了系统管理员以外,增加平安员和审计员,使系统管理员、平安员和审计员之间相互牵制、制约。实现数据库加密以后,各用户或用户组的数据由用户用自己的密钥加密,数据库管理员没有密钥无法进行正常解密,从而保证了用户信息的平安。另外,通过加密,数据库的局部内容成为密文,从而能减少因介质失窃或丧失而造成的损失。数据库加密对于企业内部平安管理,也是不可或缺的。一般来说,一个良好的数据库加密系统应该满足以下根本要求:1.支持各种粒度加密2.良好的密钥管理机制3.合理处理数据4.不影响合法用户的操作第10章 数据库系统平安Network and Information Sec

7、urity10.2.1 数据库加密的根本要求1.操作系统层加密2.DBMS内核层实现加密 3.DBMS外层实现加密 第10章 数据库系统平安Network and Information Security10.2.2 数据库加密的方式数据库加密系统分成两个功能独立的主要部件:一个是加密字典及其管理程序,另一个是数据库加/解密引擎 第9章 数据库系统平安通过调用数据加/解密引擎实现对数据库数据的加密、解密及数据转换等功能。用户对数据库信息具体的加密要求以及参数信息保存在加密字典中优点首先,系统对数据库的最终用户是完全透明的,系统(?)可以根据需要进行明文和密文的转换工作;其次,加密系统完全独立于

8、数据库应用系统,无须改动数据库应用系统就能实现数据加密功能;第三,加/解密处理在客户端进行,不会影响数据库效劳器的效率。数据库加/解密引擎是数据库加密系统的核心部件,它位于客户程序与数据库效劳器之间,负责在后台完成数据库信息的加/解密处理,对操作人员来说是透明的。数据加/解密引擎没有操作界面,在需要时由操作系统自动加载并驻留在内存中。数据库加密如果采用序列密码,那么同步将成为一个大问题。需要对大片密文中的极小局部解密时,如何同步密文与密钥呢?非对称加密?所以数据库加密一般采用分组密码。对于分组密码中常用的ECB和CBC两种模式,又该如何确定呢?考虑到数据库中会有大量相同的数据,比方性别、职务、

9、年龄等信息,我们应该采用CBC模式。对于在DBMS上实现的加密,加密粒度可以细分为基表、记录、字段或数据元素。第10章 数据库系统平安Network and Information Security10.2.3 数据库加密的方法及加密粒度10.2.4 数据库加密系统的密钥管理 第10章 数据库系统平安Network and Information Security当一用户访问数据库时,密钥管理中心利用某种技术对用户进行身份认证。如果是合法用户,那么允许访问.密钥管理中心根据用户的权限取出相应的数据密钥,根据用户的请求对有关数据进行加解密处理。其中密钥的产生应满足以下条件:1.在产生大量密钥的过

10、程中,产生重复密钥的概率要尽可能的低。2.从一个数据项的密钥推导出另一个数据项的密钥在计算上是不可行的,这样,即使局部密钥泄露,其他密钥也是平安的。3.即使知道一些明文值的统计分布,要从密文中获取未知明文,在计算上是不可行的。10.3.1 统计数据库的平安问题 具体地说,统计数据库是这样一种数据库;从库中取得的信息是关于一实体集子集的汇总信息。统计数据库只为提供统计数据所用,如人口普查数据库就是这样。在统计数据库中,除了禁止非法存取等一般平安问题外,还存在特殊的平安问题。保护统计数据库的目的是,由该数据库发布统计信息时,保证不会使其中受保护的具体信息泄露。 10.3 统计数据库的平安 第10章

11、 数据库系统平安Network and Information Security一般的统计数据库有下面几种统计信息类型:1.计数:count(c),求满足特征表达式c的记录个数。2.求和:sum(c,a),求满足特征表达式c的记录中字段a的和。3.求平均值:average(c,a),求满足特征表达式c的记录中字段a的平均值。4.求最大值:max(c,a),求满足特征表达式c的记录中字段a的最大值。5.求最小值:min(c,a),求满足特征表达式c的记录中字段a的最小值。第10章 数据库系统平安Network and Information Security编号章节题型难度分值111选择A221

12、1填空B2321判断C2421简答A5531应用B10631选择C2741填空A2841简答B5题库分析人如果想知道第三章各题的分值,他直接查询将会被拒绝。但他可以先查询count(章=3),得到结果为2;他再查询sum(章=3,分值),得到结果12;他再查询max(章=3,分值),得到结果10。现在他道第三章有两道题,一道10分,一道2分。用户通过一些统计数据库允许的合法查询,可以得到本来对他保密的信息。统计数据库远不是平安保密的,而且,前面介绍的一般数据库的访问控制并不能解决统计数据库的泄密问题.因为它主要是限制用户的存取权力,用户只能对数据库中的一局部数据进行访问。在统计数据库中,保密的

13、目标应该是防止用户通过一系列“合法的统计查询,使“不合法的要求得到满足,也就是防止用户从一系列查询中推理出某些秘密信息,这时我们要实行的控制称为“推理控制。 第10章 数据库系统平安Network and Information Security10.3.2 平安性与精确度 第10章 数据库系统平安Network and Information Security设S为全部统计信息,P为非机密统计信息子集,R为发布的子集,D是由R(也包括R在内的统计信息)泄露的统计信息子集 发布R子集的目的是,全部非机密统计信息在R内或可由R求得,当DP时(精确度) ,发布的统计信息包含了全部非机密统计信息,因

14、而可认为发布的统计信息保证了精确度。精确度保证了最大限度地使用统计信息,而平安性那么保证了秘密统计信息的秘密。如果满足条件DP(平安性) ,那么不会因R而使秘密统计信息泄露。可以看出,平安性与精确度的要求正好是相反的,二者都满足的条件是DP。要做到既保证平安性,又保证精确度,即DP,是非常困难的1.小查询集和大查询集攻击 2.跟踪器攻击 3.插入和删除攻击 4.对线性系统的攻击 第10章 数据库系统平安Network and Information Security10.3.3 对统计数据库的攻击方式1.小查询集和大查询集攻击现假设用户的外部知识使其知道数据库内第i个记录满足特征表达式c,如果

15、用户以统计信息count(c)查询数据库,并得到答复count(c)=1,那么该用户能够确定该查询集只含一个记录,即第i个记录。此时,用户利用统计信息sum(c,a)的查询,可求得第i个记录的字段a的值;也可以以统计信息count(c and d)查询数据库内第i个记录是否满足特征表达式d,假设值为0那么说明不满足,值为1那么说明满足。甚至在查询集记录个数不唯一的情况下,这类攻击有时仍然是可行的。假设第i个记录满足c,且count(c)1,如果count(c and d)=count(c),那么第i个记录当然也满足d。如果count(c and d)count(c),那么不能确定第i个记录是否

16、满足d。2.跟踪器攻击利用所谓“跟踪器的手段,也可使统计数据库泄密。跟踪器有多种 。假设用户第i个记录唯一满足特征表达式c,如果想通过统计查询sum(c,a)求得第i个记录的字段a的值,在系统实施了查询集控制后,由于查询集过小将遭拒绝,故用户不能直接得到结果。但是,如果特征表达式c可由多个表达式组合而成,即将c分成c1、c2,使得c=c1-c2,同时,count(c1)和count(c2)都大小适中,不受限 。 此时,由于count(c1)和count(c2)均不受查询集限制,所以用户可用count(c)=count(c1)-count(c2)来验证count(c)=1,然后可利用sum(c,

17、a)=sum(c1,a)-sum(c2,a)来求得第i个记录的字段a的值。3.插入和删除攻击 插入和删除攻击是攻击者通过插入自己所知的假记录来观察统计信息的变化情况,从而分析出秘密信息。例如,如果查询集过小,用户可以将一些满足条件的假记录插入统计数据库,使得查询集变大,从而使查询得以进行。只需从查询集中除去那些假记录的信息,即可得到真实信息。显然,如果要求只对统计信息有查询权的用户不能插入或删除记录,或虽然能够插入删除,但对数据库出现的变化加以控制,那么插入删除攻击并不会构成严重威胁。4.对线性系统的攻击可以对统计数据库进行屡次相关的查询,把查询条件、查询结果和秘密信息构成一个线性方程组,通过

18、解线性方程组的方法来求得秘密信息。第一类:对统计数据库的查询加以限制。 1.限制查询集的大小 2.单元隐蔽能够帮助用户推导出秘密信息的有关统计信息单元应该隐去 3.最大阶控制 如果一个统计查询恰好涉及到m个互不相同的属性,那么这样的统计称为m阶统计,所谓最大阶控制就是要限制m的值。4.数据库分割 将数据库分割成一个个记录组,规定用户只能以这些记录组作为根本单元进行统计查询,亦即同一记录组中的数据,或者全部在查询集中,或者全部不在其中。 第9章 数据库系统平安Network and Information Security10.3.4 统计数据库的平安措施第二类:数据搅乱方式对统计数据库的几种查

19、询限制方式是以限制用户的统计查询要求为代价的,有时会影响正常用户的使用。数据搅乱方式的原理与此那么完全不相同。所谓数据搅乱,就是系统在发布统计信息之前,使统计值发生变化。当然,搅乱的目的是使用户无法从统计值中推断出秘密信息,而不能破坏整个数据库数据的统计规律。10.4.1 Web数据库概述由于Web的易用性、实用性,它很快占据了Internet效劳的主导地位,已经成为使用最为广泛、最有前途、最有魅力的信息传播技术。不过,Web效劳只是提供了Internet上信息交互的平台。随着Internet技术的兴起与开展和Web技术的蓬勃开展,人们已不满足于只在Web浏览器上获取静态的信息,人们需要通过它

20、发表意见、查询数据,甚至进行网上购物,这就迫切需要实现动态的Web信息效劳。10.4 Web数据库的平安 第10章 数据库系统平安Network and Information Security当前比较流行的Web数据库主要有:1.SQL Server2.MySQL3.Oracle这3种数据库适应性强,性能优异,容易使用,在国内得到了广泛的应用。第10章 数据库系统平安Network and Information Security10.4.2 常用的几种Web数据库(1)突破客户端脚本的限制 (2)对SQL语句的攻击程序中的SQL查询语句以ASP.net为例,username.Text与pa

21、sswd.Text是用户名与口令两个文本框的值可能是:sql=select * from user where username= + username.Text + and passwd= + passwd.Text + ;执行的时候就是:select * from user where username=cheng and passwd=1234第10章 数据库系统平安Network and Information Security9.4.3 Web数据库平安简介根据返回的数据集是否为空来判断是否能够登录。如果攻击者在passwd文本框里输入的不是1234,而是1111 or 1=1,SQL语句就成为:select * from user where username=cheng and passwd=1111 or 1=1 由于1=1恒为真,即使口令不对也没关系,这条语句肯定能返回数据集。实际上,用户名对不对也没有关系。这就是著名且古老的1=1攻击。平安的方法是在程序中增加对单引号等特殊字符的过滤。第10章 数据库系统平安Network and Information Security(3) 利用多SQL语句执行漏洞 select * from book where bookname=linux入门如果我们输入的不是linux入门而是linux入门;delete book

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论