版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/2/5计算机系统安全原理与技术(第2版)1第6章数据库安全主讲人:王弈E-mail:wangyi@2023/2/5计算机系统安全原理与技术(第2版)2本章主要内容数据库安全问题数据库安全控制数据库安全研究的发展2023/2/5计算机系统安全原理与技术(第2版)3数据库安全问题数据库安全的重要性
数据库安全问题
2023/2/5计算机系统安全原理与技术(第2版)4数据库概念
1.关系、层次和网状型数据库模型(1)关系结构模型:把一些复杂的数据结构归结为简单的二元关系(即二维表格形式),按照关系运算理论(主要是三范式原则)组织与管理数据。(2)层次结构模型:实质上是一种有根节点的定向有序树(在离散数学中“树”被定义为一个无回路的连通图)。(3)网状结构模型:按照网状数据结构建立的数据库系统称为网状数据库系统。2023/2/5计算机系统安全原理与技术(第2版)52.数据库数据库由一些库表组成,每张库表由一些相关字段(也称为域)组成,这些字段对应着某个客观实体的属性集合。库表是一张二维表,每张库表内可以存放多条记录,表的每一行是一条记录,表的每一列是一个字段,库表的每一行每一列的交叉点是一个数据元素,它是一个字段在一条记录中的取值。2023/2/5计算机系统安全原理与技术(第2版)6
3.数据库管理系统DBMSDBMS是专门负责数据库管理和维护的计算机软件系统。DBMS的主要职能包括:正确的编译功能,能正确执行规定的操作;正确执行数据库命令;保证数据的安全性、完整性,能抵御一定程度的物理破坏,能维护和提交数据库内容;能识别用户、分配授权和进行访问控制,包括身份认证。执行数据库访问,保证网络通信功能。2023/2/5计算机系统安全原理与技术(第2版)72023/2/5计算机系统安全原理与技术(第2版)81.数据库安全的重要性
由于数据库的重要地位体现在以下几方面:1.保护敏感信息和数据资产2.计算机网络系统安全的关键环节2023/2/5计算机系统安全原理与技术(第2版)92.数据库面临的安全威胁
数据库的安全主要受到以下因素的威胁:1.硬件故障与灾害破坏2.数据库系统/应用软件的漏洞和黑客攻击3.人为错误4.管理漏洞5.不掌握数据库核心技术6.隐私数据的泄漏问题2023/2/5计算机系统安全原理与技术(第2版)10泄漏类型除了数据本身,和数据相关的其他信息同样具有敏感性。准确数据:泄漏了敏感数据的准确值,最严重的暴露——安全性被彻底破坏。范围:知道敏感数据的范围,而不知道其准确值。部分泄漏了敏感数据。否定结果:知道某个数据的值不是××。存在性:与数据的具体值无关,而是知道数据本身是否存在。大概值:能确定某个域是某个数值的概率。安全与精确度安全性角度——透露的数据越少越好。用户查询角度——保护所有敏感的数据,而尽可能揭示不敏感的数据。安全与精确度的理想结合:维护完善的机密性与最大的精确性。——实现非常困难。图示:安全与精确度隐藏的不能泄露的数据不能通过查询推理出的数据可以通过推理查询出的数据一查讯就可以透露的数据最敏感数据最低敏感数据尽可能安全隐藏揭示数据尽可能精确推理推理问题(inferenceproblem):是一种通过非敏感数据推断或推导敏感数据的方法。它是数据库的一个弱点。直接从数据库确定敏感数据的方法直接攻击间接攻击聚集直接攻击直接攻击是指用户试图通过直接查询敏感域,根据产生的少量记录决定敏感数据域的值。最成功的技术:形成一个与数据项精确匹配的查询。NameSexRaceAidFinesDrugsDormadamMC5000451holmbailMB000greychinFA3000200westdewitMB1000353greyearartFC2000951holmfeinFC1000150westgroffMC400003westhillFB5000102holmkochFC001westliuFA0102greymajorMC200002grey直接攻击直接攻击指用户通过直接查询敏感域,根据产生的少量记录确定敏感域的值。成功技术:形成一个与数据项精确匹配的查询。例子:
ListNamewhereSex=M٨Drugs=1揭示了记录adam,Drugs=1。这是一个明显的直接攻击的例子。直接攻击例子:比较隐蔽的查询
ListNamewhere(Sex=M٨Drugs=1)٧ (Sex≠M٨
Sex≠F)٧(Dorm=ayres)上述查询的结果:揭示了记录adam,Drugs=1。将主要查询目的隐藏在一个复杂的查询逻辑中,而实际的查询目的不变。查询匹配的记录为0无该宿舍直接攻击一种防御直接攻击的策略:“n个数据项超过k%”规则——数量很少的数据占一个分类比例很大时,查询结果不能公布。间接攻击背景:只发布统计信息,而不泄漏个人数据和信息。典型攻击种类和攻击计数攻击平均值攻击追踪攻击线性系统的脆弱性和(sum)攻击从一个已知的和推理单个值。holmgreywestTotalM50003000400012000F70000400011000Total120003000800023000按寝室和性别查询的资助和推出住在grey的任何女生都没有收到资助Liu(住在grey)没有受到资助计数攻击通过和总数(和:sum)结合,可以获得更多的个人信息。holmgreywestTotalM1315F2136Total34411按寝室和性别查询的学生计数男生人数=1男生的总资助数为5000+住在holm的男生(只有1个人)adam得到资助5000人名(Name)可以通过普通查询得到,敏感度低平均值攻击根据数据的平均值计算出某个精确值。攻击成功的前提条件:要计算的数据在平均值的交集中。属性1的最大值属性1的最小值属性2的最大值属性2的最小值属性1和属性2的平均值例子NameSexDrugsAidbaileyM00dewittM31000majorsM22000groffM34000adamsM15000liuF20majorsM22000hillF25000q=median(AIDwhereSEX=M)p=median(AIDwhereDRUGS=2)R=median(AIDwhere(DRUGS=2)٨(SEX=M))追踪攻击(trackerattack)通过使用额外的、产生更少结果的查询欺骗DBMS,从而找到想要的数据。进行两次查询,一次查询结果比另一次增加了一些记录,去掉重复记录,留下不同的记录(想要统计的记录)。“n个数据项超过k%”规则可以不公开查询结果,但是无法判断两次查询的“间隙”部分。例子q=count((SEX=F)٨(RACE=C)٨DORM=holm)q=1拒绝查询abccount(a)=6count(a٨┐(b٨c))=5count(a)-count(a٨┐(b٨c))=6-5=1q=count(a٨b٨c)↔q=count(a)-count(a٨┐(b٨c))count((SEX=F))-count((RACE≠c)٧(DORM)≠holm)线性系统的脆弱性运用逻辑和代数知识前提:数据库中数据分布的特点。结果:得到一系列的查询结果。查询q1=c1+c2+c3+c4+c5q2=c1+c2+c4q3=c3+c4q4=c4+c5q5=c2+c5每个查询qi没有泄露任何一个ci的值解上述线性方程组,得到每个ci的取值。控制统计推理攻击两种防止推理攻击的方法:查询控制:针对直接攻击对单个数据项进行控制禁止查询:不提供敏感数据隐藏:提供的结果接近但不是精确的实际数据值。控制统计推理攻击有限响应禁止组合结果随机样本随机数扰乱查询分析有限响应禁止根据“n个数据项超过k%”规则,当结果中出现上述情形时,仅将其在显示结果中删除不能阻止推理攻击的进行。解决方法:制造一点混淆阻止攻击。例子:按寝室和性别查询的学生计数holmgreywestTotalM1315F2136Total34411holmgreywestTotalM-3-5F2-36Total34411泄露太多信息,不允许被查询仍然可以通过F=Total-M或者M=Total-F获得例子:按寝室和性别查询的学生计数holmgreywestTotalM1315F2136Total34411holmgreywestTotalM1315F2136Total34411解决方案一该数据所在行和列各增加一禁止查询单元,进行置乱。后果:在数据很少的表中,所有的单元都被禁止查询。解决方案二将总数Total禁止查询禁止查询禁止查询禁止查询禁止查询禁止查询组合结果组合行或列的查询结果,以保护敏感数据。sexDruguse0123M1112F2220sexDruguse0or12or3M23F42透露太多信息将2列组合,产生敏感性低的结果随机样本查询的结果不是来自整个数据库,而是从数据库的随机样本中获得。样本要选择得足够大,使得查询结果近似整个数据库的结果。为了防止重复相同查询,进而求平均的攻击。相同查询选取的采用相同样本。随机数扰乱用一个小的错误ε对数据库中的精确值x作扰乱。ε可正可负。其结果和随机样本类似,但是更加简单,因为存储ε并不复杂。查询分析分析检查查询的含义,然后决定是否提供查询结果。实现复杂,维护困难。推理问题的小结至今没有完善的解决方法。三种控制推理问题的思路禁止明显的敏感数据:实现简单,但是经常容易选错要禁止的数据,从而造成数据库可用性下降。追踪用户已知的数据:可能实现最大的安全性,但是实现代价很昂贵。而且没有考虑到两个用户将已知结果组合,以及一个用户以多种身份查询的情形。伪装数据:可以限制通过精确值进行逻辑和代数运算的统计攻击。但是结果不精确,甚至会出现不一致的情况。数据库安全控制数据库的安全需求和安全策略数据库安全存取控制数据库完整性控制数据库的备份与恢复推理控制与隐通道分析(提前)数据库可生存性控制数据库隐私保护2023/2/5计算机系统安全原理与技术(第2版)382023/2/5计算机系统安全原理与技术(第2版)39
数据库的安全需求和安全策略1.数据库的安全需求(C.P.Pfleeger《SecurityinComputing》)物理完整性逻辑完整性元素正确性可审计性访问控制身份认证可用性国标《计算机信息安全等级保护数据库系统技术要求》保密性完整性可用性可控性可存活性隐私性2023/2/5计算机系统安全原理与技术(第2版)402023/2/5计算机系统安全原理与技术(第2版)41
(1)保密性DBMS除了通过访问控制机制对数据库中的敏感数据加强防护外,还可以通过加密技术对库中的敏感数据加密。但加密虽然可以防止对数据的恶意访问,也显著地降低数据库访问效率。2023/2/5计算机系统安全原理与技术(第2版)42
(2)数据库的完整性在物理完整性方面,要求从硬件或环境方面保护数据库的安全,防止数据被破坏或不可读。例如,应该有措施解决掉电时数据不丢失不破坏的问题,存储介质损坏时数据的可利用性问题,还应该有防止各种灾害(如火灾、地震等)对数据库造成不可弥补的损失,应该有灾后数据库快速恢复能力。数据库的物理完整性和数据库留驻的计算机系统硬件可靠性与安全性有关,也与环境的安全保障措施有关。2023/2/5计算机系统安全原理与技术(第2版)43
(2)数据库的完整性在逻辑完整性方面,要求保持数据库逻辑结构的完整性,需要严格控制数据库的创立与删除、库表的建立、删除和更改的操作,这些操作只能允许具有数据库拥有者或系统管理员权限的人才能够进行。逻辑完整性还包括数据库结构和库表结构设计的合理性,尽量减少字段与字段之间、库表与库表之间不必要的关联,减少不必要的冗余字段,防止发生修改一个字段的值影响其他字段的情况。2023/2/5计算机系统安全原理与技术(第2版)44
(2)数据库的完整性在元素完整性方面,元素完整性主要是指保持数据字段内容的正确性与准确性。元素完整性需要由DBMS、应用软件的开发者和用户共同完成。(3)可用性
确保数据库中的数据不因人为和自然原因对授权用户不可用。2023/2/5计算机系统安全原理与技术(第2版)45(4)可控性对数据操作和数据库事件的监控属性。(5)可存活性数据库系统在遭受攻击或发生错误的情况下,能够继续提供核心服务并及时恢复全部服务。(6)隐私性保护使用主题的个人隐私不被泄露和滥用。2023/2/5计算机系统安全原理与技术(第2版)462023/2/5计算机系统安全原理与技术(第2版)472.数据库的安全策略
数据库的安全策略是指导信息安全的高级准则,即组织、管理、保护和处理敏感信息的法律、规章及方法的集合。它包括安全管理策略和访问控制策略。安全机制是用来实现和执行各种安全策略的功能的集合,这些功能可以由硬件、软件或固件来实现。数据库的安全策略可以分为:按实际要求决定粒度大小策略款策略或严策略最小特权策略与内容有关的访问控制策略上下文相关的访问控制策略与历史有关的访问控制按存取类型控制策略2023/2/5计算机系统安全原理与技术(第2版)482023/2/5计算机系统安全原理与技术(第2版)49数据库安全存取控制
用户认证
访问控制加密存储2023/2/5计算机系统安全原理与技术(第2版)501.用户认证
用户认证通过核对用户的名字或身份(ID),决定该用户对系统的使用权。数据库系统不允许一个未经授权的用户对数据库进行操作。DBMS认证在操作系统认证之后进行。(两次认证)2.访问控制数据库的访问控制难度远大于操作系统。访问控制的粒度可以到字段、记录级别。字段、记录、数据表之间关联度高,控制复杂。数据库内数据记录,表的数量庞大,控制规模远大于操作系统的访问控制规模。2023/2/5计算机系统安全原理与技术(第2版)51数据库中常用的访问控制方法(1)
DAC和MAC在商业数据库DBMS系统中采用DAC,军事安全中采用MAC。(2)RBAC属于中立型访问控制模型,既可以实现DAC也可以实现MAC,但是无法实现对未知用户的访问控制和委托授权。在网络环境下使用受限。2023/2/5计算机系统安全原理与技术(第2版)522023/2/5计算机系统安全原理与技术(第2版)53
(3)视图机制(数据库目前采用的机制)有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使机密数据不出现在不应看到这些数据的用户视图上。即通过定义不同的视图及有选择地授予视图上的权限,可以将用户、组或角色限制在不同的数据子集内。(4)基于证书的访问控制利用PKI和PMI技术进行访问控制,缺点是在跨安全域的访问中收到限制。(5)信任管理1996年提出,用于WEB环境下访问控制。基于公钥密码体制实现。(6)数字版权管理DMR主要针对客户端的数据内容进行权限管理,只解决了访问控制中的部分问题。2023/2/5计算机系统安全原理与技术(第2版)54(7)访问控制新技术UCON将传统访问控制技术(封闭环境,服务器端资源)、信任管理(开放网络环境,服务器端资源)和数字版权管理(开放网络环境,客户端资源)统一在一个框架下,解决所有问题域下的访问控制问题。将要保护的数字资源与其所处的系统环境相分离(主机、网络),实现对数字资源的连续保护。UCON扩展了访问控制的概念,定义了授权、义务和条件三个决定性因素。2023/2/5计算机系统安全原理与技术(第2版)552023/2/5计算机系统安全原理与技术(第2版)56
3.加密存储(1)数据库加密方式:库内加密、库外加密库内加密:在DBMS内核实现,加、解密对用户和应用透明。缺点:系统负担大、密钥管理风险大库外加密:在DBMS之外进行,DBMS管理密文。优点:减轻DBMS和服务器的负担、密钥与密文分别存放提高安全性、可以实现网上端到端的加密传输。缺点:影响数据库的部分功能。(2)影响数据库加密的关键因素加密粒度加密算法密钥管理2023/2/5计算机系统安全原理与技术(第2版)572023/2/5计算机系统安全原理与技术(第2版)58数据库的完整性控制数据库的完整性是指数据的正确性和相容性。它包括:物理完整性、逻辑完整性、元素取值的准确性与正确性。数据的完整性和安全性是两个不同的概念。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,而后者是保护数据库防止恶意的破坏和非法的存取。DBMS中检查数据是否满足完整性条件的机制称为完整性检查。提供定义完整性约束条件的机制提供完整性检查的方法违约处理2023/2/5计算机系统安全原理与技术(第2版)59数据库的完整性保证的具体方法
1.设置触发器
触发器可以完成以下功能:(1)检查取值类型与范围:检查每个字段输入数据的类型与该字段的类型是否一致。(2)依据状态限制:指为保证整个数据库的完整性而设置的一些限制,数据库的值在任何时候都不应该违反这些限制。(3)依据业务限制:指为了使数据库的修改满足数据库存储内容的业务要求,而作出相应的限制。2023/2/5计算机系统安全原理与技术(第2版)60
2.两阶段提交为了保证数据更新结果的正确性,必须防止在数据更新过程中发生处理程序中断或出现错误。解决这个问题的办法是在DBMS中采用两阶段提交(更新)技术。第一阶段称为准备阶段。第二阶段为提交阶段,其工作是对需要更新的字段进行真正地修改,这种修改是永久性的。两阶段更新意向阶段收集需要更新的资源不进行更新操作该阶段可以重复无数次提交阶段做提交标记更新数据库清除提交标记该阶段可以执行无数次举例说明假定数据库中包含某公司的办公用品清单。公司中心仓库存有各种办公用品,和各部门的办公用品申请单。各部门有预算清单中心仓库管理员需要监控现有供应量,以便在现存的供应品不足时定货。假设会计部先申请50箱文件夹,现有107箱库存,当库存小于100箱时,需要定货。执行步骤仓库核对数据库中是否有50箱文件夹,若没有,拒绝请求,事务结束。若库存充足,从数据库中扣除50箱(107-50=57)。仓库向会计部的办公用品预算收取50箱的文件夹的费用。查看库存,若低于100箱,生成定货提示。准备交货,把50箱文件夹送到会计部。分析故障出在第一步结束时,整个事务可以重新开始,不受影响。故障出在2-4步时,会导致数据库中的值不一致。而且不能重新进行事务,这会导致重复扣款或重复收费或重复送货。两阶段更新操作意向阶段检查数据库中commit_flag值。若该值已经设置,则意向阶段不再执行。比较库存的文件夹箱数和需求量,若需求量大于库存,停止。计算tclips=onhand-requisition获得budget,目前应获得会计部的办公品预算。计算tbudget=budget-cost,cost指50箱文件夹的成本。检查tclips是否低于定货界限,若是,设置treorder=true,否则设置treorder=false。提交阶段在数据库中设置commit_flag标志。复制tclips到数据库中的clips。复制treorder到数据库中的reorder。准备向会计部发送文件夹的通知。在日志中标明已完成事务。清除commit_flag标志。分析意向阶段如果出错,可以重复执行无数次。进入提交阶段时,先设置commit_flag,此后数据库将不再执行意向阶段的任何步骤。提交阶段如果出错,可以重复执行无数次。若事务操作结束而未清除commit_flag标志时,系统出错,则通过向前检查日志的方法,将已经提交,但没有清除commit_flag标志的事务找出来,清除commit_flag标志。2023/2/5计算机系统安全原理与技术(第2版)68
3.纠错与恢复许多DBMS提供数据库数据的纠错功能,主要方法是采用冗余的办法,下面介绍几种冗余纠错的技术:(1)附加校验纠错码(2)使用镜像技术(3)恢复(用日志执行恢复操作)2023/2/5计算机系统安全原理与技术(第2版)694.数据库的并发控制
数据库系统通常支持多用户同时访问数据库,为了有效地利用数据库资源,可能多个程序或一个程序的多个进程并行地运行,这就是数据库的并发操作。当多个用户同时读写同一个字段的时候,会存取不正确的数据,或破坏数据库数据的一致性。数据不一致总是由两个因素造成:一是对数据的修改,二是并发操作的发生。2023/2/5计算机系统安全原理与技术(第2版)70并发操作带来的数据不一致性包括三类:1.丢失修改(LostUpdate)2.不可重复读(Non-RepeableRead)3.读“脏”数据(DirtyRead)5.审计监视和记录用户对数据库所施加的各种操作机制。审计粒度与对象的选择:时间、空间消耗问题。审计日志不一定能反映实际访问情况,因此在决定需要记录哪些操作时需要斟酌。2023/2/5计算机系统安全原理与技术(第2版)716.可信记录保持在记录的生命周期内保证记录无法被删除、隐藏或篡改,并且无法恢复或推测已被删除的记录。重点防止内部人员恶意篡改和销毁记录。主要技术:一次写入多次读取可信索引可信迁移可信删除2023/2/5计算机系统安全原理与技术(第2版)722023/2/5计算机系统安全原理与技术(第2版)73数据库的备份与恢复数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复。数据库系统所采用的恢复技术是否行之有效,不仅对系统的可靠程度起着决定性作用,而且对系统的运行效率也有很大影响,是衡量系统性能优劣的重要指标。2023/2/5计算机系统安全原理与技术(第2版)74
1.故障的种类(1)事务内部的故障事务没有达到预期的终点例如:运算溢出、并发事务死锁等(2)系统故障造成系统停止运转的任何事件例如:硬件错误,停电,操作系统故障等又被称为“软故障”(3)介质故障被称为“硬故障”指外存故障,例如:磁盘损坏,磁头碰撞,电磁干扰等。(4)人为破坏黑客攻击,计算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东石油化工学院《Andoid基础编程》2023-2024学年第一学期期末试卷
- 广东汕头幼儿师范高等专科学校《第一外国语英》2023-2024学年第一学期期末试卷
- 广东农工商职业技术学院《生物制药学科前沿进展》2023-2024学年第一学期期末试卷
- 广东茂名幼儿师范专科学校《促销策略》2023-2024学年第一学期期末试卷
- 广东茂名健康职业学院《英国文学下》2023-2024学年第一学期期末试卷
- 广东理工职业学院《美国社会与文化》2023-2024学年第一学期期末试卷
- 一年级数学计算题专项练习集锦
- 大脑的奥秘:神经科学导论(复旦大学)学习通测试及答案
- 【2022届走向高考】高三数学一轮(北师大版)基础巩固:第8章-第1节-简单几何体及其三视图和直观图
- 2022韶山市高考英语阅读理解及书面表达精炼(8)及答案
- 管径的选择和管道压力降的计算
- 市消化内科质量控制分中心业务指导工作总结
- 课程评价与持续改进计划
- 机动车商业保险条款(2020版)
- GB/T 44250.1-2024面向油气长输管道的物联网系统第1部分:总体要求
- 一年级数学上册加减法口算题每日一练25套打印版
- DLT 572-2021 电力变压器运行规程
- 事业单位招录公共基础知识(政治)模拟试卷10(共258题)
- 教育部校企合作办法
- 沟通技巧-考试试题及答案
- “技能兴威”第一届威海市职业技能大赛农产品食品检验员(海洋食品产业链)赛项规程
评论
0/150
提交评论