书签 分享 收藏 举报 版权申诉 / 107
上传文档赚钱

类型数据库安全培训课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4832812
  • 上传时间:2023-01-16
  • 格式:PPT
  • 页数:107
  • 大小:1.71MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《数据库安全培训课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据库 安全 培训 课件
    资源描述:

    1、第6章 数据库安全精品本章要点r 数据库完整性:记录完整性、数据正确性和更新完整性 r 数据库安全:访问控制、推理和聚集r 多级安全数据库:分区、加密封装和过滤数据r 数据挖掘应用的安全精品 保护数据是大多数安全系统的核心,许多用户依靠数据库管理系统数据库管理系统(DBMS,database management system)来管理并保护数据。基于此原因,我们重点研究数据库管理系统的安全,并将其作为一个示例来说明如何设计并实现完成特殊任务的应用程序的安全。然而,数据库管理系统仅提供一个综合保护效果。长期以来,我们已经深化了对数据库安全问题的理解,并且获得了一些好的控制方法。但是,也有一些仍然

    2、无法控制的安全隐患。精品6.1 数据库简介 6.1.1 数据库概念 数据库数据库(database)是数据数据以及按某种指定关系组织数据的一组规则规则的集合。用户使用这些规则来描述数据的逻辑格式。数据项存储在文件中,但是用户不必关心文件的精确物理格式。数据库管理员数据库管理员(database administrator)负责定义组织数据的规则和控制对数据库的访问。用户通过数据库管理数据库管理器器(database manager)或数据库管理系统数据库管理系统(DBMS)程序非正式地称为前端前端(front end)使用数据库。精品6.1.2 数据库组成 数据库文件由记录记录(record)

    3、组成,每个记录包含了一组相关的数据。每个记录包含域域(field)或元素元素(element),即它们的基本数据项。表 6.1 一个数据库的实例ADAMS212 Market St.ColumbusOH43210BENCHLY501 Union St.ChicagoIL60603CARTER411 Elm St.ColumbusOH43210精品6.1.2 数据库组成(续)图 6.1 一个数据库的相关部分并非所有数据库都可以非常容易地用一张单一、紧凑的表来表示。精品6.1.2 数据库组成(续)数据库的逻辑结构称为模式模式(schema)。一名特殊的用户可能只允许访问数据库的一部分,称之为子模式

    4、子模式(subschema)。表 6.2 图6.1中的数据库模式NameFirstAddressCityStateZipAirportADAMSCharles212 Market St.ColumbusOH43210CMHADAMSEdward212 Market St.ColumbusOH43210CMHBNCHLYZeke501 Union St.ChicagoIL60603ORDCARTERMarlene411 Elm St.ColumbusOH43210CMHCARTERBeth411 Elm St.ColumbusOH43210CMHCARTERBen411 Elm St.Colum

    5、busOH43210CMHCARTERLisabeth411 Elm St.ColumbusOH43210CMHCARTERMary411 Elm St.ColumbusOH43210CMH精品6.1.2 数据库组成(续)数据库的规则要求以列名识别列,列名也称为数据库的属性属性(attribute),列的集合构成了一个关系关系(relation)。关系描述了有关数据值的簇簇(cluster),每一簇可能会是2、3、4、n元组(n表示任意值)。表6.3 数据库中的关系NameZipADAMS43210BENCHLY60603CARTER43210精品6.1.2 数据库组成(续)查询操作查询操作

    6、用户通过DBMS的命令与数据库交互,命令有:检索、修改、增加或删除数据库中的域和记录。查询查询(query)是一个命令,数据库管理系统有构成查询语句的精确的语法规则。大多数查询语言使用类英语符号表示,其中很多以SQL语言为基础。查询结果为一个子模式,该模式由满足给定条件的记录构成。精品6.1.2 数据库组成(续)例如,SELECT ZIP=43210。NameFirstAddressCityStateZipAirportADAMSCharles212 Market St.ColumbusOH43210CMHADAMSEdward212 Market St.ColumbusOH43210CMHC

    7、ARTERMarlene411 Elm St.ColumbusOH43210CMHCARTERBeth411 Elm St.ColumbusOH43210CMHCARTERBen411 Elm St.ColumbusOH43210CMHCARTERLisabeth411 Elm St.ColumbusOH43210CMHCARTERMary411 Elm St.ColumbusOH43210CMH另外,更复杂的选择条件包含逻辑运算,如()或()以及比较运算符()。例如,SELECT(ZIP=43210)(NAME=ADAMS)。表6.4 选择查询的结果精品6.1.2 数据库组成(续)在选择了记

    8、录后,我们可以对这些记录的一个或多个属性进行投影投影(project)运算。投影操作是从这些满足条件的记录中选取满足条件的列(域)。选择-投影操作的结果是选择的记录在指定属性上值的集合。例如,SHOW NAME,FIRST WHERE ZIP=43210。表6.5 选择-投影查询结果ADAMSCharlesADAMSEdwardCARTERMarleneCARTERBethCARTERBenCARTERLisabethCARTERMary精品6.1.2 数据库组成(续)我们也可以使用连接连接(join)查询来根据相同的元素合并两个模式。该操作的结果是一个子模式,该子模式在相同元素上有相同的值。

    9、例如,SELECT NAME,AIRPORT FROM NAME-ZIP JOIN ZIP-AIPORT ON NAME-ZIP.ZIP=ZIP-AIPORT.ZIP。图 6.2 选择-投影-连接查询的结果精品6.1.3 数据库的优点 数据库是数据的一个集合,它被集中存储和维护,以满足人们的访问需求。这样,与简单的文件系统相比,数据库提供了很多好处:共享访问共享访问:以便用户使用一些公共、集中的数据。最小冗余最小冗余:使用户不必自己收集和保存数据集。数据一致性数据一致性:改变一个数据值将影响所有使用该数据值的用户。数据完整性数据完整性:保护数据值,使偶然或恶意的行为不会改变数值。访问控制访问控

    10、制:只有授权用户才允许浏览或修改数据值。#数据库的安全利益和性能之间存在冲突。这种冲突不足为怪,因为加强安全措施通常要增加计算机系统的规模和复杂度。精品6.2 安全需求 以下为数据的安全需求:(1)数据库的物理完整性数据库的物理完整性:数据库中的数据不受停电之类影响,并且人们可以重建被破坏的数据库。(2)数据库的逻辑完整性数据库的逻辑完整性:保护数据库的结构。(3)元素的完整性元素的完整性:每个元素中包含的数据都是正确的。(4)可审计性可审计性:可追踪谁访问了数据库中的哪些元素。(5)访问控制访问控制:用户只能访问被授权的用户。(6)用户鉴别用户鉴别:对每个用户都必须鉴别。(7)可用性可用性:

    11、用户可以访问数据库中的授权数据和一般数据。精品6.2.1 数据库完整性 如果数据库以集中的数据仓库方式提供数据访问服务,则用户必须相信其中的数据值是正确的。有两种情况会影响数据的完整性:整个数据库被损坏以及单个数据项变得不可读。整个数据库的完整性由DBMS、操作系统和计算系统管理员负责。保护整个数据库的方法之一是定期备份数据库系统中的所有文件。有时,能够在故障点重建数据库非常重要。DBMS需要维护一个事务日志。在系统发生故障后,可通过重新装入数据库的后备副本并重新执行“日志”记录所有的事务,而获得用户的正确状态。精品6.2.2 元素完整性 元素完整性指数据库元素的正确性或准确性。DBMS采用三

    12、种方式来维护数据库中每个元素的完整:(1)DBMS可以利用域检查域检查(field check),确保某个域的所有值在合适的范围之内。域检查确保了值在指定界内或不大于另外两个域的值之和,也可防止一些简单的错误,如用户输入数据错误。精品6.2.2 元素完整性(续)(2)访问控制访问控制(access control)以及集中管理的方式。但谁该共享重要的文件?谁拥有更新元素的权限?如果两个用户更改时相互冲突,如何解决?如何检查和处理重复记录?都是数据库管理员需要解决的问题。(3)更改更改日志日志(change log)。更改日志维护和保存了数据库的每次修改,同时记录初始值和更新值。精品6.2.3

    13、可审计性 在某些应用中,需要产生关于数据库的所有访问(或读写)的审计记录,这个记录可以协助维护数据库的完整性,至少可以在发生故障后,为分析解决问题提供依据。另一个优点是可以掌握用户不断增加对被保护数据的访问。单一的访问不会暴露被保护的数据,但在一系列连续的访问后,将数据综合起来就可能发现被保护的数据。在这种情况下,审计追踪可以确定用户已经获得的数据线索,然后指导做出是否还应该允许用户做进一步查询的决定。精品6.2.3 可审计性(续)审计粒度是审计的障碍。数据库的审计踪迹应该包括对记录、域甚至元素级的访问,大多数数据库的应用不能达到这种程度。此外,在例如用户执行选择操作时,用户可以访问数据但并未

    14、获得数据的具体值访问一个记录或元素后,系统不将结果数据传递给用户,这种情况称穿过问题穿过问题(pass-through problem)。同时,用户也可以不直接访问元素而获得它们的值。因此,只记录所有直接访问的日志可能夸大或低估了用户对数据库的实际了解情况。精品6.2.4 访问控制 数据库通常按照用户的访问权限进行逻辑分割。限制访问是数据库集中管理形式的职责和优势。DBMS需要实施这样的访问策略:授权访问所有指定的数据,阻止访问禁止的数据。数据库管理员需要分别以视图、关系、域、记录、甚至元素级给予说明。用户或程序可能拥有的权限包括:读、改变、删除或附加一个值、增加或删除整个域或记录、重组数据库

    15、。精品6.2.4 访问控制(续)对数据库的访问控制比对操作系统的访问控制更为复杂。虽然在操作系统中用户通常不可能通过读一个文件来推理其他文件的内容,但在数据库中则可能通过读其他元素的值而推知另一个元素的值。从已获得的数据值推断更多的值,称为推理推理(inference)。限制推理意味着要禁止一些特定的路径来阻止可能的推理,但也限制了某些用户的正常查询,这样做实际降低了DBMS的性能。因为数据库中的每个文件可能还包含几百个数据域,访问控制的实现要比操作系统困难得多,粒度的大小影响了处理的效率。精品6.2.5 用户鉴别 通常,数据库作为应用程序运行在操作系统之上。这种设计意味着DBMS和操作系统之

    16、间没有可信路径,所以DBMS必须对所有接收到的数据持怀疑态度,包括用户鉴别。因此,DBMS不得不自己进行用户鉴别。精品6.2.6 可用性 对于许多用户来说,DBMS 是可执行的应用程序。用户通常把DBMS看作是用来执行特殊任务的基本工具。当系统不可用时,用户会清楚地意识到此时BDMS是不可用的。这实际上是要求DBMS有高可用性。精品6.2.7 完整性/机密性/可用性 每个元素以至于整个数据库都要求完整性,因此,完整性是设计BDMS时主要关心的问题。由于存在推理攻击,所以用户可以通过推理间接获取敏感数据,机密性成为数据库的关键问题。数据库开发的初衷就是为了更好利用共享访问,所以可用性也是一个关键

    17、问题,然而,可用性和机密性相互冲突。精品6.3 可靠性和完整性 软件可靠性可靠性(reliability)是指软件能够长时间无故障地运行。DBMS有几种方法保护数据以防止丢失或被破坏。数据库的可靠性和完整性可以从以下三个级别来考察:(1)数据库完整性数据库完整性:在磁盘驱动器或数据库主索引损坏后,保障整个数据库不受损害。(2)元素完整性元素完整性:只有授权用户可以写或修改一个特殊的数据元素。(3)元素正确性元素正确性:只有正确的值才能写入数据库。检查元素值可以防止插入不适当的值。同时,设定的限制条件也可以发现错误值。精品6.3.1 操作系统提供的保护特性 操作系统对所有计算系统的资源提供保护。

    18、当操作系统负责管理时,数据库文件会被周期性备份。操作系统使用标准访问控制工具保护文件,以免文件在正常的执行过程中被外界访问。在正常读写I/O设备时,操作系统将对所有数据进行完整性检查。精品6.3.2 两阶段更新 对数据库管理器来说,在修改数据的途中计算系统出现故障是一个严峻的问题。它可能导致一个数据项的部分元素已经更新,而另部分却没有更新的问题,而发现并更正这一问题比较困难。为此,Lampson 和Sturgis提出了两阶段更新方案解决这个问题,大部分DBMS采用了这种方案。精品6.3.2 两阶段更新(续)更新技术更新技术 第一阶段称为意向意向(intent)阶段,DBMS收集所有执行更新需要

    19、的资源。做足更新前的一切准备工作,但并没有对数据库做任何改变。因为每个步骤都并未永久地更新数据,所以第一阶段可以重复无数次。第一阶段的最后事件是提交提交(committing),包括为数据库做提交标记提交标记(commit flag)。提交标记意味着DBMS通过了不需要撤消的点。精品6.3.2 两阶段更新(续)第二阶段实现永久更新。如果在这个阶段出现故障,数据库可能包含不完整的数据,但系统可以重新执行第二阶段的所有动作以修复数据。第二阶段结束,数据库更新完毕。精品6.3.2 两阶段更新(续)两阶段更新的实例两阶段更新的实例 假定某公司有一个办公用品管理系统,其数据库中包含公司的办公用品清单,中

    20、心仓库管理员需要管理办公用品分发以及监控现有的供应量,以便在库存不足时定货。假定现有库存107箱文件夹,而低于100箱时需要定货。假定会计部提出申请需要50箱文件夹。仓库管理员处理请求的步骤为:(1)仓库和数据库是否有50箱文件夹库存。没有,拒绝请求结束事物。(2)如果库存充足,从数据库中的存货中扣除50箱文件夹。(3)仓库从会计部预算中收取50箱文件夹的费用。(4)仓库检查剩余的库存57箱文件夹(107-50=57)是否低于定货界限。如果是,将产生一个定货提示,并将数据库中的文件夹项标记为“定货中”。(5)准备好交货,把50箱文件夹送到会计部。精品6.3.2 两阶段更新(续)当进行两个阶段提

    21、交时,可用影子值影子值(shadow value)来保存关键数据。如下所示:意向:(1)检查数据库中的COMMIT-FLAG。如果该值已经设置,则不进行意向阶段,直到其被清零。(2)比较库存文件夹箱数和需求量,如果需求大于库存,停止。(3)计算剩余文件夹箱数TCLIPS=ONHAND-REQUISITION。(4)获得会计部的预算BUDGET,计算结余TBUDGET=BUDGET-COST。(5)检查TCLIPS是否低于定货界限,如果是,设置TREORDER=TRUE;否则,设置TREORDER=FALSE。精品6.3.2 两阶段更新(续)提交:(1)在数据库中设置COMMIT-FLAG。(2

    22、)复制TCLIPS到数据库的CLIPS。(3)复制TBUDGET到数据库的BUDGET。(4)复制TREORDER到数据库的REORDER。(5)准备向会计部发送文件夹的通知。在日志中表明完成事务。(6)清除COMMIT-FLAG。#每个T开头的变量是只在事务阶段使用的影子变量。精品6.3.3 冗余/内在一致性 许多DBMS通过维护附加信息来检测数据内在的不一致性。检错与纠错检错与纠错 一种冗余形式是检错码或纠错码,可应用于单个域、记录或整个数据库,比如,奇偶效验码、海明(Hamming)编码、循环冗余检查。检验码提供的信息越多,所占的存储空间越大。影子域影子域 在数据库中可以复制整个属性或记

    23、录。这里冗余域显然需要大量的存储空间。精品6.3.4 恢复 除了这些纠错过程外,DBMS还需要维护用户的访问日志,尤其是更改日志。在发生故障后,从后备副本中重新装载数据库,并根据日志将数据库恢复到故障前的最后一个正确状态。精品6.3.5 并发性/一致性 DBMS使用了简单的封锁技术来保证共享数据库安全。如果两个用户需要对相同数据项进行读访问,则他们之间没有冲突,因为他们将获得相同的值。如果两个用户尝试修改相同的数据,我们通常假定用户间没有冲突,因为每个用户都知道写什么值;同时,认为写入的值不依赖于数据项先前的值。然而,这个假定往往不总是正确的。精品6.3.5 并发性/一致性(续)假如有一个特定

    24、航班的订座数据库。代理人A将为乘客Mock预订座位,向数据库提交了一个查询,请求过道右边的座位发现了5D、11D、14D。同时另一个代理人B想为一家三口预订三个相邻的位置,发现了8A-B-C和11D-E-F是未预约的。这时代理A提交了订座命令订下11D,而代理B提交了订座命令订下11D-E-F。这时就产生了问题。而出现这种问题的原因,在于从数据库中读数据和改写数据之间的时间延迟。在延迟时段中,另外的用户可访问同一个数据。精品6.3.5 并发性/一致性(续)为了解决这个问题,DBMS把整个查询/更新周期看做一个原子操作。读/修改周期必须在一个未受干扰的情况下完成,禁止其他用户对11D的访问。直到

    25、第一个代理成功预订后才开始考虑第二个代理人的请求。此外,如果一个用户A正在读时,另一个用户B正在写,那么用户A将读到部分更新的数据。因此,DBMS将锁定读请求直到写操作完成后。精品6.3.6 监视器 监视器监视器(monitor)是DBMS中负责数据库结构完整性的单元。范围比较范围比较 范围比较监视器检测每个新产生的值,确保每个值在可接受的范围内。如果一个数据值在范围之外,监视器会拒绝该数据值,并不将它输入数据库。范围比较可用于保障数据库的内在一致性。如果怀疑数据库中的某些数据已经遭到破坏,范围检查可以识别所有可疑记录的数据。精品6.3.6 监视器(续)状态约束状态约束 状态约束状态约束(st

    26、ate constraint)描述了整个数据库的约束条件。数据库的值不能违反这些约束。也就是说,如果不满足这些约束,数据库中的一些数值会出错。两阶段更新中的提交标记就是一种状态约束,因为在每个事务结束时都需要判断提交标记是否被设置。提交标记在数据库中的身份是一种完整性约束。另一个例子是,无论何时雇员中“总裁”的数量都是一个。如果由于机器故障,数据库被部分复制了,那么通过测试数据库的状态,DBMS可能识别到存在两个相同的雇员编号或有两名“总裁”。精品6.3.6 监视器(续)转换约束转换约束 转换约束转换约束(transition constraint)则描述了改变数据库之前的必需条件。例如,在数

    27、据库中加新员工之前,必须有一个职位是空缺的。添加雇员后,数据库中相应的职位应该从“空缺”改为该雇员编号。#大多数数据库管理系统都要执行简单的范围检查。然而,较复杂的状态和转换约束需要专门的程序进行测试。精品6.4 敏感数据 某些数据库保存了所谓不能公开的敏感数据敏感数据(sensitive data)。决定哪个数据项或域为敏感取决于数据库和数据的含义。最容易处理的两个实例是:根本没有敏感数据或者全部都是敏感数据。更困难的情况是,在实际中,数据库中的元素常常是部分而不是全部为敏感数据,而且敏感的程度各有不同。精品表 6.6 一个数据库的样本数据NameSexRaceAidFinesDrugsDo

    28、rmAdamsMC500045.1HolmesBaileyMB00.0GreyChinFA300020.0WestDewittMB100035.3GreyEarhartFC200095.1HolmesFeinFC100015.0WestGroffMC40000.3WestHillFB500010.2HolmesKochFC00.1WestLiuFA010.2GreyMajorsMC20000.2Grey6.4 敏感数据(续)#安全需求可能要求:有少部分人具有访问单个域的权限,但是没有人同时具有访问所有域的权限精品6.4 敏感数据(续)使数据敏感的几个因素包括:(1)固有的敏感性固有的敏感性:因

    29、数据值本身具有揭露性而为敏感数据。(2)来自敏感源来自敏感源:数据的来源预示了对机密性的要求。(3)声明的敏感性声明的敏感性:数据库管理员或数据所有者声明该数据为敏感数据。(4)敏感属性或敏感记录中的部分敏感属性或敏感记录中的部分:在数据库中,整个属性或记录可以归类为敏感的。(5)与已经泄露信息相关的敏感性与已经泄露信息相关的敏感性:有些数据在某些数据面前变得敏感。精品6.4.1 访问决策 数据库管理员的决策是以访问策略为基础的。数据库管理器或DBMS是程序,对数据库和辅助的控制信息进行操作,以实现访问策略的决策。DBMS在决定是否允许访问时要考虑几个因素:数据的可用性数据的可用性 一个或多个

    30、被请求的元素可能存在不可访问的问题。例如,数据更新就会出现这样的问题。如果正在进行数据更新的用户在中途中断了更新事务,其他用户对这些记录的访问将被永远阻塞。这种由中断服务造成的不确定延期也是一个安全问题,它将导致拒绝服务攻击。精品6.4.1 访问决策(续)可接受的访问可接受的访问 记录中一个或多个值可能是敏感数据,但是,确定什么样的数据是敏感数据似乎并不容易,因为有时并不需要对敏感域直接访问就可获得敏感数据。用户也可以通过不敏感的统计数据推理敏感数据。保证真实性保证真实性 当允许访问时,可能要考虑数据库用户的某些外在特性。精品6.4.2 泄露类型 数据具有敏感性,数据的特性也同样具有敏感性。我

    31、们将了解即使是数据相关信息的描述也是一种泄露形式。准确数据准确数据 这种情形的结果只有一个:破坏了敏感数据的安全。范围范围 一种暴露是揭露了敏感数据的范围,另一种情况是,只揭露一个值超过某个总量。然而,有时在提供敏感数据时,只给出一个范围是有用的。精品6.4.2 泄露类型(续)否定结果否定结果 有时,我们会执行查询确定一个否定的结果,同样可能泄露敏感信息。存在性存在性 有时,与数据的具体值无关,数据的存在性本身就是敏感数据。大概值大概值 假定想确定总统是否为保皇党成员,可以做如下查询:How many people have 1600 Pennsylvania Avenue as their

    32、official residence?(Response:4)How many people have 1600 Pennsylvania Avenue as their official residence and have YES as the value of TORY?(Response:1)通过上述结果,知道总统是保皇党成员的可能性为25%。部分泄露的小结部分泄露的小结 成功的安全策略必须能够同时防止直接泄露和间接泄露敏感数据。精品6.4.3 安全与精确度 确定一个数据是否是敏感数据以及怎样保护这些敏感数据是十分困难的。这实际鼓励了保守的观点:透露的数据越少越好。保守的观点建议拒绝一

    33、切敏感域的查询,但我们同时也希望尽可能显示数据以满足数据库用户的需求。这个目标称为精确度精确度(precision),旨在保护所有敏感数据的同时尽可能多地揭示非敏感数据。安全与精确度的理想结合要求维护完善的机密性与最大的精确性,也就是揭示所有、但仅非敏感数据。精品6.4.3 安全与精确度(续)图6.3 安全与精确度精品6.5 推理 推理推理(inference)是一种通过非敏感数据推断或推导敏感数据的方法。推理问题是数据库安全中一个很微妙的弱点。回顾表6.6中的数据库,我们假定AID,FINES和DRUGS都是敏感域,但这些域只有和固定个体关联后才是敏感的。精品6.5.1 直接攻击 直接攻击是

    34、指用户试图通过直接查询敏感域,根据产生的少量记录决定敏感域的值。最成功的技术是形成一个与数据项精确匹配的查询。一个查询可能是:List NAME where SEX=MDRUGS=1 一个比较隐蔽的查询是:List NAME where(SEX=M DRUGS=1)(SEXMSEX F)(DORM=AYRES)#这就引出“n个同属一类数据项超过个同属一类数据项超过k%”规则,它表明:如果n个一类数据项代表了超过k%的报告结果,则结果数据应该被保留而不能公布。精品6.5.2 间接攻击 间接攻击是根据一个或多个中间的统计值推理最后结果。这种方法要求做一些数据库之外的工作。特别是,统计间接攻击需要利

    35、用某些有明显统计特征的方法来推理单个数据。和和 通过“和”攻击,试图从已知的和推理单个值。HolmesGreyWestTotalM50003000400012000F70000400011000Total120003000800023000表 6.7 按寝室和性别查询助学金之和精品6.5.2 间接攻击(续)计数计数 计数可以和总数结合来揭露更多的结果,而通常数据库给出这两个统计量,方便用户确定平均值。平均值平均值 假设知道员工的数量、公司的工资平均值和除总裁外所有员工的工资平均值,则可以很容易地计算总裁的工资。HolmesGreyWestTotalM1315F2136Total34411表 6

    36、.8 按寝室和性别查询的学生计数值精品6.5.2 间接攻击(续)中值中值 通过稍微复杂的程序,我们可以根据中值得出个别值。这种攻击要求所选择的数据中有一个数据刚好在中值的交集中。图 6.4 中值的交集精品6.5.2 间接攻击(续)NameSexDrugsAidBaileyM00DewittM31000MajorsM22000GroffM34000AdamsM15000LiuF20MajorsM22000HillF25000表 6.9 利用两个表的中间值进行推理#如果查询者已经知道Majors为男性和drug-use为2,且Majors出现在两个列表的中间值。则通过q=median(AID wh

    37、ere SEX=M)和p=median(AID where DRUGS=2),可得到Majors奖学金为$2000。精品6.5.2 间接攻击(续)追踪攻击追踪攻击 追踪攻击追踪攻击(tracker attack)通过使用额外的、产生更少结果的查询欺骗数据库管理器,从而找到想要的数据。一个典型方法是,追踪者进行两次查询,让一次查询结果与另一次查询结果相比增加了一些记录;去掉两组纪录中的相同部分,就只留下统计数据或想要的数据。这个方法利用了两次查询结果的“间隙”部分。精品6.5.2 间接攻击(续)例如,查询 count(SEX=F)(RACE=C)(DORM=Holmes)DBMS可能会发现结果只

    38、是1,拒绝查询。由于q=count(abc)=count(a)-count(a(b c),所以查询等于:count(SEX=F)(6)减去 count(SEX=F)(RACEC)(DORMHolmes)(5)。精品6.5.2 间接攻击(续)线性系统的脆弱性线性系统的脆弱性 使用逻辑与代数知识,加上数据库内容在分布上的特点,可以确定一系列查询,这些返回结果与几个不同的集相关,例如,可以解出各个值。事实上,这种攻击也可以用于非数值的情形。“与”()和“或”()是数据库查询操作的典型运算,我们可以利用逻辑规则从一系列逻辑表达中获得结果。精品6.5.2 间接攻击(续)控制统计推理攻击控制统计推理攻击

    39、防止推理攻击的方法有:进行查询控制,或者对数据库里的单个项进行控制。很难确定一个查询是否会揭露敏感数据。因此,查询控制主要对直接攻击有效。对数据项的控制包括禁止查询禁止查询和隐藏隐藏。禁止查询方式就是不提供敏感数据,对敏感数据的查询以不响应的方式拒绝。隐藏方式就是提供的结果接近但不是精确的实际数据值。这两种控制反映了精确与安全两者的矛盾。精品6.5.2 间接攻击(续)有限响应禁止有限响应禁止 根据n项k%的规则,不显示所占有百分比过大的元素。HolmesGreyWestTotalM-3-5F2-36Total34411表 6.10 按寝室和性别查询的学生人数(禁止显示计数低的单元)#如果一个表

    40、既有按行计算的总数,又有按列计算的总数,则只禁止查询其中一个单元的数据,仍然可以通过计算获得被禁止显示的数据。因此,在样本数据很少的表中,除了总数单元外所有的单元都不得不禁止查询,而没有提供总数,则可只禁止其中一个单元。精品6.5.2 间接攻击(续)组合结果组合结果 一种控制方法是组合行或列以保护敏感数据。SexDrug Use0123M1112F2220SexDrug Use0 or 12 or 3M23F42表 6.12 通过组合数据抑制推理表 6.11 按性别和吸毒查询的学生人数精品6.5.2 间接攻击(续)另一个组合结果的方法是显示一个结果的范围。例如,发布助学金的结果时,给出金额的范

    41、围01999,20003999,以及4000以上,而不是准确的数值。还有一种方法是舍入。这项技术实际上是范围组合中相当有名的实例。如果数字的范围最接近10的倍数,则有效范围是05,615,1625,等等。实际值可以根据最接近的基数向上或向下归入某个组。精品6.5.2 间接攻击(续)随机样本随机样本 使用随机样本控制方法,查询结果不是直接从整个数据库获得,而是从数据库的随机样本上计算出来的。因为样本毕竟不是整个数据,依据样本的查询不一定与在整个数据库中查询的结果相一致。通过重复相同的查询可以进行平均数攻击。为了防止这种攻击,相同的查询应该选择相同的样本。精品6.5.2 间接攻击(续)随机数据扰乱

    42、随机数据扰乱 有时,用一个小错误扰乱数据库的值还是有用的。xi 是数据库中数据项i的真实值,我们可以产生一个随机数据i附加在xi上作为统计结果。像“和”以及平均值这些统计方法可能使结果接近真实值,但又不是精确值。为了使相同的查询产生相同的结果,必须存储所有值。由于存储该值很容易,所以数据扰乱比随机样本选择更容易使用。精品6.5.2 间接攻击(续)查询分析查询分析 更复杂的安全形式是查询分析。这个方法要求维护每个用户过去的查询,根据过去查询的结果判断这个查询可能推理出的结果。推理问题的总结推理问题的总结 对于推理问题没有完善的解决方法,可以按下述三种思路来控制推理问题。(1)禁止明显的敏感数据禁

    43、止明显的敏感数据:行动相当容易,但常常错误地选择了要禁止的数据,因而降低了可用性。精品6.5.2 间接攻击(续)(2)追踪用户已知的数据追踪用户已知的数据:虽然这种方法在提供数据时可能有最大的安全性,但是实现它的代价十分昂贵。(3)伪装伪装数据数据:随机数扰乱或舍入可以限制依靠精确值进行逻辑和代数运算的统计攻击。但得到的数据是不精确或可能不一致的结果。#与安全中的其他问题一样,重视推理问题有助于理解控制这个问题的目的,同时对这个问题带来的潜在威胁更为敏锐,然而也不意味可以实现保护以防止这些攻击。精品6.5.3 聚集 聚集聚集(aggregation)意味着从较低敏感性的输入构造出敏感数据,它与

    44、推理问题相关。解决聚集问题很困难,因为它要求数据库管理系统追踪每个用户获得了哪些数据,以便回避一些可以让用户推导出更多敏感信息的数据。对聚集计算尤其困难,因为聚集是在系统外发生的。几乎没有什么方法提出来阻止聚集攻击。最近对数据挖掘数据挖掘(data mining)的兴趣使聚集问题重新得到重视。数据挖掘是指在多个数据库中过滤数据并在相关联的数据元素中找到有用的信息。在一定事实的聚集下,要使谎言有说服力是很困难的。精品6.6 多级数据库 到此为止,我们主要考虑了两种类型的数据:敏感数据和非敏感数据。我们提到一些数据项比其他数据项更敏感,但是只有允许访问和拒绝访问两种选择。NameDepartmen

    45、tSalaryPhonePerformanceHogerstraining43,8004-5067A2Jenkinsresearch62,9006-4281D4Polingtraining38,2004-4501B1Garlanduser services54,6006-6600A4Hiltenuser services44,5004-5351B1Davisadministration51,4004-9505A3表 6.13 属性级敏感性(具有敏感性的属性加有阴影)精品6.6.1 区分安全级别的实例表 6.14 数据与属性级敏感性(具有敏感性的属性加有阴影)NameDepartmentSala

    46、ryPhonePerformanceHogerstraining43,8004-5067A2Jenkinsresearch62,9006-4281D4Polingtraining38,2004-4501B1Garlanduser services54,6006-6600A4Hiltenuser services44,5004-5351B1Davisadministration51,4004-9505A3精品6.6.1 区分安全级别的实例(续)数据库显现出三个安全特性:(1)一个元素的敏感度可能不同于同一记录的其他元素或同一属性的其他值。这种情形暗示了应该对每个元素单独实现安全保护。(2)敏感和

    47、不敏感两种级别不足以描述某些安全情况,而是需要多个安全级别。这些安全级别常常形成格。(3)数据库中的和、计数或一组值,其安全可能不同于单个元素的安全。集合安全可能高于也可能低于单个元素的安全。精品6.6.2 粒度 为整个数据库中的每个数据定义敏感级别,类似于在一个文件中为每个词定义敏感级别。而且实际问题更加复杂,不仅每个元素有不同的敏感性,而且元素之间不同的组合也具有特殊的敏感性。此外,元素的组合敏感性可能高于或低于组成它的任何一个子元素。保护每个元素的方法是:首先,需要访问控制策略来指定每个用户允许访问的数据。实现这一策略通常是为每个数据项定义访问限制。其次,需要保证元素值不会被未授权用户改

    48、变。这两个要求都涉及机密性和完整性。精品6.6.3 安全问题 机密性机密性/完整性完整性 将*-特性应用于数据库中,访问控制原则描述成高级别的用户不允许写低级别的数据元素。但这种描述却常常出现问题,例如,DBMS因为如下原因必须能够读写所有记录并写新记录:备份数据、扫描数据库以响应查询、根据用户进程的需要重组数据库或更新数据库中的所有记录。在此可以考虑两种方法:高级别的进程不允许写低级别的数据,或者计算机与具有安全许可的人一样,进程必须是“可信任的”。精品6.6.3 安全问题(续)一些保护机密性的措施是对数据做细微的修改。因此,在多级别数据库中,两个不同安全执行级别的用户可能执行相同的查询而得

    49、到不同的结果。为了保证机密性,不得不牺牲精确性。加强机密性也导致了不易察觉的冗余。多重多重实例化实例化(polyinstantiation),意思是一个记录可以(被实例化)出现多次,每次有不同的机密级别。精品6.6.3 安全问题(续)表 6.15 多重实例化记录NameSensitivityAssignmentLocationHill,BobCProgram MgrLondonHill,BobTSSecret AgentSouth Bend#我们还可以找到导致多重实例化的其他原因,这些原因与敏感级别无关。因此,在减少多重实例化的同时,必须注意不能清除其中的合法记录。精品6.7 关于多级安全的建

    50、议 6.7.1 分离 分区分区 一个大的数据库被分成几个分离开的数据库,每个都有自己的敏感级别。这种方法类似于把不同的文件保存在不同的文件柜里。这种控制机制失去了数据库的基本优点:消除冗余数据以及提高数据的正确性。数据库希望修改数据时,只需更新一个域即可。此外,这个控制机制没有解决高级别的用户,需要访问低级别的数据并与高级别的数据合并使用的问题。精品6.7.1 分离(续)加密加密 每个级别的敏感数据可以存储在一个加密表中,该表使用与敏感级别相对应的唯一密钥加密。但是加密也有一些不利的方面,如可能存在选择明文攻击的问题。为了克服这个缺点可以选择抵抗选择明文攻击的密码算法,也可以为记录的每个域使用

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:数据库安全培训课件.ppt
    链接地址:https://www.163wenku.com/p-4832812.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库