第六章多级数据库安全管理系统.ppt

上传人:本田雅阁 文档编号:2917069 上传时间:2019-06-05 格式:PPT 页数:65 大小:628.02KB
返回 下载 相关 举报
第六章多级数据库安全管理系统.ppt_第1页
第1页 / 共65页
第六章多级数据库安全管理系统.ppt_第2页
第2页 / 共65页
第六章多级数据库安全管理系统.ppt_第3页
第3页 / 共65页
第六章多级数据库安全管理系统.ppt_第4页
第4页 / 共65页
第六章多级数据库安全管理系统.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《第六章多级数据库安全管理系统.ppt》由会员分享,可在线阅读,更多相关《第六章多级数据库安全管理系统.ppt(65页珍藏版)》请在三一文库上搜索。

1、1,第 六 章 多级安全数据库 管理系统,2,本 章 概 要,6.1 安全数据库标准 6.2 多级安全数据库关键问题 6.3 多级安全数据库设计准则 6.4 多级关系数据模型 6.5 多实例 6.6 隐蔽通道分析,3,6.1 安全数据库标准 6.1.1 可信计算机系统评测标准,为降低进而消除对系统的安全攻击,各国引用或制定了一系列安全标准 TCSEC (桔皮书) TDI (紫皮书),4,1985年美国国防部(DoD)正式颁布 DoD可信计算机系统评估标准 简称TCSEC或DoD85,TCSEC又称桔皮书 TCSEC标准的目的 提供一种标准,使用户可以对其计算机系统内敏感信息安全操作的可信程度做

2、评估。 给计算机行业的制造商提供一种可循的指导规则,使其产品能够更好地满足敏感应用的安全需求。,5,TCB可信计算基:是Trusted Computing Base的简称,指的是计算机内保护装置的总体,包括硬件、固件、软件和负责执行安全策略管理员的组合体。它建立了一个基本的保护环境并提供一个可信计算机系统所要求的附加用户服务。,6,1991年4月美国NCSC(国家计算机安全中心)颁布了可信计算机系统评估标准关于可信数据库系统的解释 简称TDI,又称紫皮书 它将TCSEC扩展到数据库管理系统 定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准,7,TDI/TCSEC标准的基本

3、内容,TDI与TCSEC一样,从四个方面来描述安全性级别划分的指标 安全策略 责任 保证 文档,8,TCSEC/TDI安全级别划分,四组七个等级 按系统可靠或可信程度逐渐增高 各安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护要包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。,9,等级说明:D,C1,D级(最小保护级) 将一切不符合更高标准的系统均归于D组 典型例子:DOS是安全标准为D的操作系统 DOS在安全性方面几乎没有什么专门的 机制来保障无身份认证与访问控制。 C1级(自主安全保护级) 非常初级的自主安全保护 能够实现对用户和数据的分离,进行自主存取控

4、制(DAC),保护或限制用户权限的传播。早期的UNIX系统属于这一类。 这类系统适合于多个协作用户在同一个安全级上处理数据的工作环境。,10,等级说明:C2,C2级(受控的存取保护级) C2级达到企业级安全要求。可作为最低军用安全级别 提供受控的自主存取保护,将C1级的DAC进一步细化,以个人身份注册负责,并实施审计(审计粒度要能够跟踪每个主体对每个客体的每一次访问。对审计记录应该提供保护,防止非法修改。)和资源隔离,客体重用,记录安全性事件 达到C2级的产品在其名称中往往不突出“安全”(Security)这一特色 典型例子 操作系统:Microsoft的Windows NT 3.5,数字设备

5、公司的Open VMS VAX 6.0和6.1,linux系统的某些执行方法符合C2级别。 数据库:Oracle公司的Oracle 7,Sybase公司的 SQL Server 11.0.6,11,等级说明:B1,B1级(标签安全保护级) 标记安全保护。“安全”(Security)或“可信的”(Trusted)产品。 对系统的数据加以标记,对标记的主体和客体实施强制存取控制(MAC)、对安全策略进行非形式化描述,加强了隐通道分析,审计等安全机制 典型例子 操作系统:数字设备公司的SEVMS VAX Version 6.0,惠普公司的HP-UX BLS release 9.0.9+ 数据库:Or

6、acle公司的Trusted Oracle 7,Sybase公司的Secure SQL Server version 11.0.6。,12,等级说明:B2,B2级(结构化保护级) 建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC,从主体到客体扩大到I/O设备等所有资源。要求开发者对隐蔽信道进行彻底地搜索。TCB划分保护与非保护部分,存放于固定区内。 经过认证的B2级以上的安全系统非常稀少 典型例子 操作系统:只有Trusted Information Systems公司的Trusted XENIX一种产品 数据库:北京人大金仓信息技术股份有限公司的 KingbaseES V

7、7产品,13,等级说明:B3,A1,B3级(安全区域保护级) 该级的TCB必须满足访问监控器的要求,安全内核,审计跟踪能力更强,并提供系统恢复过程。即使计算机崩溃,也不会泄露系统信息。 A1级(验证设计级) 验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。这个级别要求严格的数学证明。,14,说明,B2以上的系统 还处于理论研究阶段 应用多限于一些特殊的部门如军队等 美国正在大力发展安全产品,试图将目前仅限于少数领域应用的B2安全级别下放到商业应用中来,并逐步成为新的商业标准。,15,6.2 多级安全数据库关键问题,多级安全数据库关键问题包括: 多级安全数

8、据库体系结构 多级安全数据模型 多实例 元数据管理 并发事务处理 推理分析和隐蔽通道分析,16,6.3 多级安全数据库设计准则,多级安全数据库设计准则如下: 提供多级密级粒度 确保一致性和完整性 实施推理控制 防止敏感聚合 进行隐蔽通道分析 支持多实例 执行并发控制,17,6.4 多级关系数据模型 6.4.1 安全的特征 传统关系模型两个重要的完整性: 实体完整性、引用完整性(参照完整性)。 多级关系数据模型三要素: 多级关系、多级关系完整性约束及多级关系操作。 多级安全模型需作的改进: 多级安全模型:在传统关系模型基础上各种逻辑数据对象强制赋予安全属性标签。 修改传统关系模型中关系的完整性及

9、关系上的操作。,18,安全标签粒度:是标识安全等级的最小逻辑对象单位。 安全标签粒度级别:关系级、元组级及属性级。 安全粒度控制 按照不同的安全需求和实体类型,决定安全控制的程度。 例如,对数据的存取,可以是关系级、元组级及属性级。 粒度越细,控制越灵活,但所对应的操作越困难和复杂。,19,一、多级关系 传统的关系模式:R(A1,A2, An) 多级关系模式: R(A1,C1,A2,C2,An,Cn,TC) 元组的安全级别:TC 元组表示:t(a1,c1,a2,c2,an,cn,tc) 元组t的安全标签:ttc. 属性ai的安全标签:tci. 例 Weapon多级关系表示。,6.4.2 多级关

10、系,20,表1 原始Weapon多级关系,表2 Weapon U 级实例,21,表1 原始Weapon多级关系,表3 原始Weapon S级实例,22,表4 Weapon TS级实例,23,多级关系完整性: 实体完整性 空值完整性 多级外码完整性与参照完整性 实例间完整性 多实例完整性,6.4.3 多级关系完整性,24,一、实体完整性 设AK是定义在关系模式R上的外观主码,一个多级关系满足实体完整性,当且仅当对R的所有实例Rc与tRc,有: AiAK = tAinull/ 主码属性不能为空 Ai , AjAK = tCitCj/主键各属性安全等级一致,保证在任何级别上主键都是完整的。 Ai A

11、K = tCi = tCAK/非码属性安全等级支配键值,保证关系可见的任何级别上,主键不可能为空。,25,二、空值完整性 在多级关系中,空值有两种解释: 一种确实为空。 另一种是实例的等级低于属性的等级使此属性不可见,从而显示为空。 空值完整性使用了归类关系,归类关系如下:如果两元组t和s,如果属性Ai满足下列条件之一,元组t包含元组s。 对于两元组t和s, 如果任何一个属性 tAi ,Ci sAi ,Ci; tAinull且 sAinull,则称元组t包含元组s 或 t归类于s。,26,一个多级关系R满足空值完整性,当且仅当对R的每个实例Rc均满足下列两个条件: 空值的安全级别与主键相同。

12、即对于所有的tRc, tAinull = tcitCAK /空值对所有级别用户可见 Rc不含有两个有包含关系的不同元组。 /不出现因为空值而导致的冗余元组,27,例1 多级关系违反了空值完整性,多级关系违反了空值完整性,28,三、多级外码完整性与参照完整性 多级外码完整性: 假设FK是参照关系R的外码,多级关系R的一个实例Rc满足外码完整性,当且仅当对所有的tRc满足: 或者(所有AiFK) tAi = null, 或者(所有AiFK) tAinull /外码属性全空或全非空 Ai , AjFK = tCitCj。 /外码的每个属性具有相同的安全级别,29,多级参照完整性: 假设参照关系R1具

13、有外观主码AK1,外码FK1,被参照关系R2具有外观主码AK2,多级关系R1的一个实例 r1 和多级关系R2的一个实例 r2满足参照完整性,当且仅当 所有t11r1 , t11FK1 null , E t21r2 ,t11FK1 = t21AK2 t11TC= t21TC t11CFK1 t21CAK2。 外键的访问等级必须支配引用元组中主键的访问等级。,30,四、实例间完整性 多级关系Rc满足实例间完整性,当且仅当对所有 cc,Rc=( Rc,c),其中过滤函数按以下方法从Rc产生安全等级为c的实例Rc: 所有 tRc, tCAKc, tRc, 满足tAK,CAK= tAK,CAK./主码保

14、留 所有Ai AK有 tAi,Ci=tAi,Ci if tCi c tAi,Ci= otherwise,E,消除Rc的归类元组,31,表1.多级关系“卫星” S级实例,实例间完整性举例:例1 U级用户对表1过滤后得到表2,表2.多级关系“卫星”过滤后U级实例,32,表4.多级关系“卫星”S级实例,表5.多级关系“卫星”过滤后S级实例,实例间完整性举例:例2,表3.多级关系“卫星” U级实例,33,五、多实例完整性 假设多级关系R的外观主码集合为AK,主码等级为CAK 。多实例完整性要求由AK、CAK以及第i个属性的等级Ci便可确定第i个属性值Ai 。 一个多级关系满足多实例完整性,当且仅当Rc

15、中的每个属性Ai ,满足AK,CAK,Ci Ai 即Ai函数依赖于AK,CAK,Ci 。 同一级别的元组之间不存在多实例。,34,多级关系Weapon(满足多实例完整性),多级关系Weapon(不满足多实例完整性) (元组级别相同主键重复),35,6.4.4 多级关系操作 一、 插入操作 形式:INSERT INTO Rc(Ai ,Aj) VALUES (ai ,aj) 当插入元组t(新插入)与主键值相同的元组t时: 1)若tTC tTC,拒绝t的插入。/满足多 实例完整性约束 2)若tTC t TC,允许或拒绝t的插入均可 以。 /多级关系操作尽量减少额外元组,36,例1 S级别主体插入操作

16、 1)主码值不同,正常插入 INSERT INTO Weapon VALUES “Cannonl,10,200” 插入后,Weapon多级关系的S级插入,37,2)主码值、级别相同,系统不允许插入。 INSERT INTO Weapon VALUES “Cannonl,10,200”/S级插入,Weapon多级关系的S级插入,38,3)主码值相同,但插入元组级别低,允许插入, 防止隐通道,产生多实例。 INSERT INTO Weapon VALUES “Missile2,250,30”/ S级插入 插入前,Weapon多级关系的S级插入,39,插入后产生多实例,Weapon多级关系的S级插入

17、,40,二、更新操作 形式:UPDATE Rc SET AiSi ,AjSj WHERE p p是谓词条件 针对关系间完整性的约束,更新操作对不同等级的关系实例的影响有以下三点: 对同等级关系实例的影响与传统的UPDADE语句一样。 对更低等级关系实例无影响。 对更高等级用户,为避免隐蔽通道可能引入多实例。,41,例1密级为U的用户要求对Weapon关系的 U级实例作更新操作。/直接修改 UPDATE Weapon SET Quantity=3000 WHERE Wname=“Gun1”/ U级用户,Weapon关系的 U 级实例,42,Weapon关系的 U 级实例,更新前,Weapon关系

18、的 U 级实例,更新后,43,例2密级为U的用户要求对Weapon关系的 S级实例作更新操作。 UPDATE Weapon SET Quantity=3000 WHERE Wname=“Gun1”/ U级用户,Weapon关系的 S 级实例,44,Weapon关系的 S 级实例,更新前,Weapon关系的 S 级实例,更新后产生多实例,45,例3密级为S的用户要求对Weapon关系的 S级实例执行如下更新操作。 UPDATE Weapon SET Range=2 WHERE Wname=“Gun1”AND Quantity=5000,Weapon关系的 S 级实例,46,Weapon关系的 S

19、 级实例,更新后,Weapon关系的 S 级实例,更新前,47,例4密级为S的用户要求对Weapon关系的 S级实例执行如下更新操作。 UPDATE Weapon SET Range=2 WHERE Wname=“Gun1”/ S级用户,Weapon关系的 S 级实例,48,Weapon关系的 S 级实例,更新后,Weapon关系的 S 级实例,更新前,49,三、删除操作 形式:DELETE FROM Rc WHERE p p是谓词条件 四、查询操作 形式:SELECT A1,A2FROM R1 ,R2 WHERE pAT c1,c2, p是谓词条件,50,6.5 多实例 多实例:是指在多级安

20、全数据库管理系统中,同时存在多个具有相同主码值的实体。 多实例元组:关系包含多个具有相同主码的元组,但相同主码的安全等级可以不 相同,这些元组的安全等级不同。 多实例属性:关系包含多个具有相同主码的元组,但相同主码的安全等级相同,但具有不同安全级的属性,这些元组的安全等级不同。,51,例:两种多实例的情况。,多实例属性的多级关系,多实例元组的多级关系,52,6.5.1 多实例的发生 可见多实例:当高访问等级的用户想在数据库的一个域上插入数据,而在这个域上已经存在低安全等级的数据时发生。 不可见多实例:当低访问等级的用户想在数据库的一个已经有高安全等级的域上插入一个新数据时发生。,53,可见多实

21、例,U级用户将Range更新为1,S级用户将Range更新为2,最初的多级关系,54,不可见多实例,最初的S级用户实例,上例中U级用户将Range更新为1后,U级实例如下:,U级用户将Range更新为1后,S级实例如下:,55,6.5.2 多实例引起的问题 多实例虽可防止隐蔽通道,但引起一些相关问题: 数据机密性与完整性冲突 增加了数据库的管理难度 增加了对同一现实世界中不同模型理解的困惑。不清楚那个实例的信息是正确、可信的。,56,6.5.3 多实例问题的处理 对多实例的处理采取下面的方法或其组合 使所有的主码可见,主码以关系内可见的最低安全等级标识 根据主码可能的各种安全等级,划分主码的域

22、。 限制对多级关系的插入。要求所有的插入由系统最高安全等级的用户实施向下写完成。,57,6.6 隐蔽通道分析 6.6.1 隐蔽通道及其分类 隐蔽通道:是指给定一个强制安全策略模型M和它在一个操作系统中的解释I(M),I(M)中两个主体I(Si)和I(Sj)之间的任何潜在通信都是隐蔽的,当且仅当模型M中的相应主体Si和Sj之间的任何通信在M中都是非法的。(系统中不受安全策略控制的,违反安全策略的信息泄露路径) 系统实际使用中,攻击者制造一组表面上合法的操作序列,将高级数据传送到低级用户。这种隐蔽的非法通道叫隐蔽通道。,58,隐通道通过不是用于数据传递的系统设施来发送信息 ,并且这种通信方式往往不

23、被系统的存取控制机制所检测和控制。 隐蔽通道的分类 存储隐蔽通道和时序隐蔽通道 存储隐蔽通道:如果一个隐通道是一个主体直接或间接地修改一存储变量,而被另一主体通过直接或间接地读取同一个变量获得信息,这个隐通道是存储隐通道。,59,例1:进程号隐通道. 进程号(PID)是系统中标志进程的唯一符号,在许多操作系统中采用连续递增的方法来管理进程号,即新建的进程的进程号在上一个进程的进程号的基础上加1,利用系统的这一管理机制也可产生隐通道,其操作过程如下:,60,操作过程: 接收方建立一个子进程并立即结束它,记录下它的进程号; 发送方若发“0”,则什么也不做,若发“1”则建一个子进程并立即结束它; 接

24、收方再建一个子进程并立即结束它,记录下它的进程号,如果新的进程号与上一次得到的进程号相差1,则确认接收到“0”,如果新的进程号与上一次得的进程号相差2,则确认接收到“1”; 做好同步工作,转入2,传送下一比特。,61,时序隐蔽通道:时序隐通道的发送者通过对使用资源时间的影响来发送信息,接收者通过观察响应时间的变化来接收信息,这个隐通道是时序隐通道。 例2:时序隐蔽通道。 CPU是一种可以利用的系统资源,可由多个用户共享,假设有H和L两个进程,H的安全级高于L,H企图将信息传递给L。它们约定一系列间隔均匀的时间点t1,t1,t1,(间隔时间至少允许两次CPU调度)。 L在每个时间点都请求使用CP

25、U,而H在每个时间点,若要发送0,则不请求使用CPU;若要发送1,则请求使用CPU(假设H的优先级高于L)。于是,在每个时间点,L若能立即获得CPU的使用权,则确认收到0,若要等待,则确认收到1,这个隐通道被称时序隐蔽通道。,62,数据库系统隐蔽通道,在数据库系统中存在大量的共享资源,导致隐蔽通道的存在。 数据库存储资源引入的通道。该通道利用数据库中的共享资源,如数据、数据字典等。发送者修改数据/数据字典,接收者则通过完整性约束等方式间接感知数据/数据字典的修改,以此来传输机密信息。 数据库管理资源引入的通道。数据库系统中的另一类共享资源包括数据库表、系统变量、游标、临时数据区等。通过耗尽有限

26、的共享资源,收发双方传输机密信息。 事务并发控制引起的隐蔽通道。入侵者可以利用不同安全级事务间的并发冲突构造隐蔽信道,称作数据冲突隐蔽信道。,63,数据库系统隐蔽通道举例:,利用并发上锁机制的隐蔽通道,64,6.6.2 隐通道的防治 搜索隐通道:对系统中是否存在,存在哪些隐通道应该清楚(国内做此工作较为困难)。 消除隐通道:隐通道存在的一个重要原因是不同安全级的用户之间共享系统资源(如磁盘、CPU、内存、打印机、进程号等),这使得高安全级用户对系统资源的使用能被低安全级用户观察到。因此,消除隐通道的一个可能的方法是限制进程间的资源共享,特别是只在安全级相同的实体间共享资源,但这可能带来某些资源

27、闲置而大大降低使用效率的问题。,65,限制带宽:如果不能完全消除隐通道,则要想办法限制其带宽,将带宽限制在允许的范围内使其满足安全的要求。限制带宽的方法如有意引入噪音,有意引入外部进程干扰收/发进程的工作,使之延时。 带宽:是指信息通过隐通道传输的速度,用比特/秒来衡量。 因为对付隐通道的方法,首先是消除隐通道,当无法完全消除隐通道时,则必须限制隐通道的带宽,因为带宽越高,单位时间内泄露的信息量就越多,对系统的安全性威胁就越大。一般地,通过计算隐通道的最大宽度来最大限度地衡量隐通道的威胁。根据TESEC的建议,隐通道的带宽达到1比特/秒就要引起注意;带宽达到100比特/秒以上,就必须采取相应的处理措施。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1