《第六章多级数据库安全管理系统详解课件》由会员分享,可在线阅读,更多相关《第六章多级数据库安全管理系统详解课件(69页珍藏版)》请在金锄头文库上搜索。
1、 第 六 章多级安全数据库管理系统1本本 章章 概概 要要 6.1 6.1 安全数据库标准安全数据库标准 6.2 6.2 多级安全数据库关键问题多级安全数据库关键问题6.3 6.3 多级安全数据库设计准则多级安全数据库设计准则6.4 6.4 多级关系数据模型多级关系数据模型6.5 6.5 多实例多实例6.6 6.6 隐蔽通道分析隐蔽通道分析26.1 6.1 安全数据安全数据库标准准6.1.1 可信计算机系统评测标准为降低进而消除对系统的安全攻击,各国引为降低进而消除对系统的安全攻击,各国引用或制定了一系列安全标准用或制定了一系列安全标准v TCSEC ( TCSEC (桔皮书桔皮书) )v T
2、DI ( TDI (紫皮书紫皮书) )319851985年美国国防部(年美国国防部(DoDDoD)正式颁布)正式颁布 DoD DoD可信计算机系统评估标准可信计算机系统评估标准v简称简称TCSECTCSEC或或DoD85DoD85,TCSECTCSEC又称桔皮书又称桔皮书TCSECTCSEC标准的目的标准的目的v提供一种标准,使提供一种标准,使用户用户可以对其计算机系可以对其计算机系统内敏感信息安全操作的可信程度做评估。统内敏感信息安全操作的可信程度做评估。v给计算机行业的给计算机行业的制造商制造商提供一种可循的指提供一种可循的指导规则,使其产品能够更好地满足敏感应导规则,使其产品能够更好地满
3、足敏感应用的安全需求。用的安全需求。4TCBTCB可信计算基:可信计算基:是是Trusted Computing Trusted Computing BaseBase的简称,指的是计算机内保护装置的的简称,指的是计算机内保护装置的总体,包括硬件、固件、软件和负责执行总体,包括硬件、固件、软件和负责执行安全策略管理员的组合体。它建立了一个安全策略管理员的组合体。它建立了一个基本的保护环境并提供一个可信计算机系基本的保护环境并提供一个可信计算机系统所要求的附加用户服务。统所要求的附加用户服务。 519911991年年4 4月美国月美国NCSCNCSC(国家计算机安全中(国家计算机安全中心)颁布了可
4、信计算机系统评估标准心)颁布了可信计算机系统评估标准关于可信数据库系统的解释关于可信数据库系统的解释v简称简称TDITDI,又称紫皮书,又称紫皮书v它将它将TCSECTCSEC扩展到数据库管理系统扩展到数据库管理系统v定义了数据库管理系统的设计与实现定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估中需满足和用以进行安全性级别评估的标准的标准6TDI/TCSEC标准的基本内容标准的基本内容vTDITDI与与TCSECTCSEC一样,从一样,从四个方面四个方面来描述安来描述安全性级别划分的指标全性级别划分的指标v安全策略安全策略v责任责任v保证保证v文档文档7TCSEC/TDI安全
5、级别划分安全级别划分安安 全全 级级 别别 定定 义义A1验证设计(验证设计(Verified Design) B3安全域(安全域(Security Domains) B2结构化保护(结构化保护(Structural Protection) B1标标 记记 安安 全全 保保 护护 ( Labeled Security Protection) C2受受 控控 的的 存存 取取 保保 护护( Controlled Access Protection) C1自自 主主 安安 全全 保保 护护( Discretionary Security Protection) D最小保护(最小保护(Minimal
6、 Protection)四组七个等级四组七个等级按系统可靠或可信程度按系统可靠或可信程度逐渐增高逐渐增高各安全级别之间具有一各安全级别之间具有一种偏序向下兼容的关系,种偏序向下兼容的关系,即较高安全性级别提供即较高安全性级别提供的安全保护要包含较低的安全保护要包含较低级别的所有保护要求,级别的所有保护要求,同时提供更多或更完善同时提供更多或更完善的保护能力。的保护能力。8等级说明:等级说明:D,C1D D级(最小保护级)级(最小保护级)v将一切不符合更高标准的系统均归于将一切不符合更高标准的系统均归于D D组组v典型例子:典型例子:DOSDOS是安全标准为是安全标准为D D的操作系的操作系统统
7、 DOS DOS在安全性方面几乎没有什么专门的在安全性方面几乎没有什么专门的 机制来保障机制来保障无身份认证与访问控制无身份认证与访问控制。C1C1级(自主安全保护级)级(自主安全保护级)v非常初级的自主安全保护非常初级的自主安全保护v能够实现对用户和数据的分离,进行自能够实现对用户和数据的分离,进行自主存取控制(主存取控制(DACDAC),保护或限制用户权),保护或限制用户权限的传播。早期的限的传播。早期的UNIXUNIX系统属于这一类。系统属于这一类。v这类系统适合于多个协作用户在同一个这类系统适合于多个协作用户在同一个安全级上处理数据的工作环境。安全级上处理数据的工作环境。 9等级说明:
8、等级说明:C2C2C2级(级(受控的存取保护级受控的存取保护级) C2C2级达到企业级安全要求。可作为最低军用安全级别级达到企业级安全要求。可作为最低军用安全级别v提供受控的自主存取保护,将提供受控的自主存取保护,将C1C1级的级的DACDAC进一步细进一步细化,以个人身份注册负责,并化,以个人身份注册负责,并实施审计实施审计(审计粒度审计粒度要能够跟踪每个主体对每个客体的每一次访问。对要能够跟踪每个主体对每个客体的每一次访问。对审计记录应该提供保护,防止非法修改。审计记录应该提供保护,防止非法修改。)和资和资源源隔离,客体重用,记录安全性事件隔离,客体重用,记录安全性事件v达到达到C2C2级
9、的产品在其名称中往往不突出级的产品在其名称中往往不突出“安全安全”(Security)”(Security)这一特色这一特色v典型例子典型例子 操作系统:操作系统:MicrosoftMicrosoft的的Windows NT 3.5Windows NT 3.5,数字设备公司,数字设备公司的的Open VMS VAX 6.0Open VMS VAX 6.0和和6.16.1,l linuxinux系统的某些执行方法符系统的某些执行方法符合合C2C2级别。级别。 10等级说明:等级说明:B1B1B1级(标签安全保护级)级(标签安全保护级)v标记安全保护。标记安全保护。“安全安全”(Security)
10、”(Security)或或“可可信的信的”(Trusted)”(Trusted)产品。产品。v对系统的数据加以标记,对标记的主体和客对系统的数据加以标记,对标记的主体和客体实施强制存取控制(体实施强制存取控制(MACMAC)、对安全策略)、对安全策略进行非形式化描述,加强了隐通道分析,审进行非形式化描述,加强了隐通道分析,审计等安全机制计等安全机制v典型例子典型例子 操作系统:数字设备公司的操作系统:数字设备公司的SEVMS VAX Version SEVMS VAX Version 6.06.0,惠普公司的,惠普公司的HP-UX BLS release 9.0.9+ HP-UX BLS re
11、lease 9.0.9+ 数据库:数据库:OracleOracle公司的公司的Trusted Oracle 7Trusted Oracle 7,SybaseSybase公司的公司的Secure SQL Server version Secure SQL Server version 11.0.611.0.6,InformixInformix公司的公司的Incorporated Incorporated INFORMIX-OnLine / Secure 5.0INFORMIX-OnLine / Secure 5.011等级说明:等级说明:B2B2B2级(结构化保护级)级(结构化保护级)v建立形式
12、化的安全策略模型并对系统内的所有主体建立形式化的安全策略模型并对系统内的所有主体和客体实施和客体实施DACDAC和和MACMAC,从主体到客体,从主体到客体扩大到扩大到I/OI/O设设备等所有资源。要求开发者对隐蔽信道进行彻底地备等所有资源。要求开发者对隐蔽信道进行彻底地搜索。搜索。TCBTCB划分保护与非保护部分,存放于固定区划分保护与非保护部分,存放于固定区内。内。v经过认证的经过认证的B2B2级以上的安全系统非常稀少级以上的安全系统非常稀少v典型例子典型例子 操作系统:只有操作系统:只有Trusted Information SystemsTrusted Information Syst
13、ems公司的公司的Trusted XENIXTrusted XENIX一种产品一种产品 标准的网络产品:只有标准的网络产品:只有Cryptek Secure CommunicationsCryptek Secure Communications公司的公司的LLC VSLANLLC VSLAN一种产品一种产品 数据库:没有符合数据库:没有符合B2B2标准的产品标准的产品12等级说明:等级说明:B3,A1B3B3级(安全区域保护级)级(安全区域保护级)v该级的该级的TCBTCB必须满足访问监控器的要求,安全必须满足访问监控器的要求,安全内核,审计跟踪能力更强,并提供系统恢复过内核,审计跟踪能力更强
14、,并提供系统恢复过程。即使计算机崩溃程。即使计算机崩溃, ,也不会泄露系统信息。也不会泄露系统信息。A1A1级(验证设计级)级(验证设计级)v验证设计,即提供验证设计,即提供B3B3级保护的同时给出系统的级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正形式化设计说明和验证以确信各安全保护真正实现实现。这个级别要求严格的数学证明。这个级别要求严格的数学证明。 13说明说明vB2B2以上的系统以上的系统v还处于理论研究阶段还处于理论研究阶段v应用多限于一些特殊的部门如军队等应用多限于一些特殊的部门如军队等v美国正在大力发展安全产品,试图将目前仅美国正在大力发展安全产品,试图将目前仅限
15、于少数领域应用的限于少数领域应用的B2B2安全级别下放到商业安全级别下放到商业应用中来,并逐步成为新的商业标准。应用中来,并逐步成为新的商业标准。14我国的信息系统安全评估工作是随着对我国的信息系统安全评估工作是随着对信息安全问题的认识的逐步深化不断发信息安全问题的认识的逐步深化不断发展的。早期的信息安全工作中心是信息展的。早期的信息安全工作中心是信息保密,通过保密检查来发现问题,改进保密,通过保密检查来发现问题,改进提高。提高。8080年代后,随着计算机的推广应年代后,随着计算机的推广应用,随即提出了计算机安全的问题,开用,随即提出了计算机安全的问题,开展了计算机安全检查工作。展了计算机安全
16、检查工作。6.1.2 我国信息安全评估标准15我国信息安全评测标准我国信息安全评测标准我我国国家质量技术监督局于国国家质量技术监督局于19991999年年1010月颁布了月颁布了“计算机信息系统安全保护等级划分准则计算机信息系统安全保护等级划分准则”,编号为编号为GB 17859-1999GB 17859-1999在在20012001年,发表了国家标准年,发表了国家标准GB/T 18336-2001GB/T 18336-2001信息安全技术数据库管理系统安全技术要求信息安全技术数据库管理系统安全技术要求正在报批。正在报批。16GB 17859-1999GB 17859-1999将信息系统划分为
17、五个安全等将信息系统划分为五个安全等级:级:v用户自主保护级用户自主保护级v系统审计保护级系统审计保护级v安全标签保护级安全标签保护级v结构化保护级结构化保护级v访问验证保护级访问验证保护级 基本上与基本上与TCSECTCSEC的的C1C1、C2C2、B1B1、B2B2、B3B3级相对级相对应。应。176.2 多级安全数据库关键问题多级安全数据库关键问题包括:多级安全数据库关键问题包括:v多级安全数据库体系结构多级安全数据库体系结构v多级安全数据模型多级安全数据模型v多实例多实例v元数据管理元数据管理v并发事务处理并发事务处理v推理分析和隐蔽通道分析推理分析和隐蔽通道分析186.3 多级安全数
18、据库设计准则多级安全数据库设计准则如下:多级安全数据库设计准则如下:v提供多级密级粒度提供多级密级粒度v确保一致性和完整性确保一致性和完整性v实施推理控制实施推理控制v防止敏感聚合防止敏感聚合v进行隐蔽通道分析进行隐蔽通道分析v支持多实例支持多实例v执行并发控制执行并发控制196.4 多级关系数据模型6.4.1 安全的特征传统关系模型两个重要的完整性:传统关系模型两个重要的完整性:v实体完整性、引用完整性(参照完整性)。实体完整性、引用完整性(参照完整性)。多级关系数据模型三要素:多级关系数据模型三要素:v多级关系、多级关系完整性约束及多级关系多级关系、多级关系完整性约束及多级关系操作。操作。
19、多级安全模型需作的改进:多级安全模型需作的改进:v多级安全模型:多级安全模型:在传统关系模型基础上各种在传统关系模型基础上各种逻辑数据对象强制赋予安全属性标签。逻辑数据对象强制赋予安全属性标签。v修改传统关系模型中关系的完整性及关系上修改传统关系模型中关系的完整性及关系上的操作。的操作。20安全标签粒度:安全标签粒度:是标识安全等级的最小逻辑对是标识安全等级的最小逻辑对象单位。象单位。安全标签粒度级别:安全标签粒度级别:关系级、元组级及属性级。关系级、元组级及属性级。安全粒度控制安全粒度控制v按照不同的安全需求和实体类型,决定安全按照不同的安全需求和实体类型,决定安全控制的程度。控制的程度。v
20、例如,对数据的存取,可以是关系级、元组例如,对数据的存取,可以是关系级、元组级及属性级。级及属性级。粒度越细,控制越灵活,但所对应的操作越困粒度越细,控制越灵活,但所对应的操作越困难和复杂。难和复杂。21一、多级关系一、多级关系传统的关系模式:传统的关系模式:R(AR(A1 1,A,A2 2, A, An n) )多级关系模式:多级关系模式: R(A R(A1 1,C,C1 1,A,A2 2,C,C2 2,A,An n,C,Cn n,TC),TC)v元组的安全级别元组的安全级别:TC:TCv元组表示:元组表示:t(at(a1 1,c,c1 1,a,a2 2,c,c2 2,a,an n,c,cn
21、 n,tc),tc)v元组元组t t的安全标签:的安全标签:ttc.ttc.v属性属性a ai i的安全标签:的安全标签:tctci i. 例例 Weapon Weapon多级关系表示。多级关系表示。6.4.2 多级关系22表表1 1 原始原始WeaponWeapon多级关系多级关系表表2 Weapon U 2 Weapon U 级实例级实例23表表1 1 原始原始WeaponWeapon多级关系多级关系表表3 3 原始原始Weapon SWeapon S级实例级实例24表表4 Weapon TS4 Weapon TS级实例级实例25多级关系完整性:多级关系完整性:v实体完整性实体完整性v空值
22、完整性空值完整性v多级外码完整性与参照完整性多级外码完整性与参照完整性v实例间完整性实例间完整性v多实例完整性多实例完整性6.4.3 多级关系完整性多级关系完整性26一、实体完整性一、实体完整性 设设AKAK是定义在关系模式是定义在关系模式R R上的外观主码,一个上的外观主码,一个多级关系满足实体完整性,当且仅当对多级关系满足实体完整性,当且仅当对R R的所的所有实例有实例RcRc与与tRc,Rc,有:有:vA Ai iAK = tAAK = tAi inull/ null/ 主码属性不能主码属性不能为空为空vA Ai i , A, Aj jAK = tCAK = tCi i tCtCj j/
23、主键各属主键各属性安全等级一致性安全等级一致,保证在任何级别上主键,保证在任何级别上主键都是完整的。都是完整的。vA Ai i AK = tCAK = tCi i = tC = tCAKAK/非码属性安非码属性安全等级支配键值,全等级支配键值,保证关系可见的任何级保证关系可见的任何级别上,主键不可能为空。别上,主键不可能为空。27二、空值完整性二、空值完整性在多级关系中,空值有两种解释在多级关系中,空值有两种解释: :v一种确实为空。一种确实为空。v另一种是实例的等级低于属性的等级使此属另一种是实例的等级低于属性的等级使此属性不可见,从而显示为空。性不可见,从而显示为空。空值完整性使用了归类关
24、系,归类关系如下:空值完整性使用了归类关系,归类关系如下:如果两元组如果两元组t t和和s s,如果属性,如果属性AiAi满足下列条件满足下列条件之之之之一一一一,元组,元组t t包含元组包含元组s s。v对于两元组对于两元组t t和和s, s, 如果任何一个属性如果任何一个属性 tAi ,Ci sAi ,Ci;vtAinull且且 sAinull,则称元组则称元组t t包含元包含元组组s s。28一个多级关系个多级关系R R满足空值完整性,当满足空值完整性,当且仅当对且仅当对R R的每个实例的每个实例RcRc均满足下列均满足下列两个条件:两个条件:v空值的安全级别与主键相同。空值的安全级别与
25、主键相同。 即对于所有的即对于所有的tRtRc c, , tA tAi i null = tcnull = tci i tCtCAKAK vR Rc c不含有两个有包含关系的不同元不含有两个有包含关系的不同元组。组。29 例例1 1 多级关系违反了空值完整性多级关系违反了空值完整性 多级关系违反了空值完整性多级关系违反了空值完整性30三、多级外码完整性与参照完整性三、多级外码完整性与参照完整性多级外码完整性:多级外码完整性: 假设假设FKFK是参照关系是参照关系R R的外码,多级关系的外码,多级关系R R的一个实例的一个实例RcRc满足外码完整性,当且仅当对所有的满足外码完整性,当且仅当对所有
26、的tRctRc满足:满足:v 或者(所有或者(所有A Ai iFKFK) tA tAi i = null = null, 或者(所有或者(所有A Ai iFKFK) tA tAi inullnull /外码属性全空或全非空外码属性全空或全非空v A Ai i , A, Aj jFK = tCFK = tCi i tCtCj j 。 /外码的每个属性具有相同的安全级别外码的每个属性具有相同的安全级别31多级参照完整性:多级参照完整性:假设假设FKFK1 1是具有外观主码是具有外观主码AKAK1 1参照关系参照关系R R1 1的外码,的外码,R R2 2具有外观主码具有外观主码AKAK2 2的被参
27、照关系,多级关系的被参照关系,多级关系R R1 1的一个实例的一个实例 r r1 1 和多级关系和多级关系R R2 2的一个实例的一个实例 r r2 2满满足参照完整性,当且仅当足参照完整性,当且仅当 所有所有t t1111rr1 1 , t, t1111FKFK1 1 null , null , E E t t2121rr2 2 ,t,t1111FKFK1 1 = t = t2121AKAK2 2 t t1111TC=TC= t t2121TCTC t t1111CCFK1FK1 t t2121CCAK2AK2 。 外键的访问等级必须支配引用元组中主键的访外键的访问等级必须支配引用元组中主键
28、的访问等级。问等级。32四、实例间完整性四、实例间完整性多级关系多级关系RcRc满足实例间完整性,当且仅当对所有满足实例间完整性,当且仅当对所有 cc cc,Rc=Rc=( Rc( Rc,c)c),其中过滤函数,其中过滤函数按按以下方法从以下方法从RcRc产生安全等级为产生安全等级为cc的实例的实例RcRc:v所有所有 tR tRc c, tC, tCAKAKc, tRcc, tRc, 满足满足tAK,CtAK,CAKAK= tAK,C= tAK,CAKAK./主码保留主码保留v所有所有A Ai i AK AK有有 tA tAi i,C,Ci i=tA=tAi i,C,Ci i if tC i
29、f tCi i c c tA tAi i,C,Ci i=null,tC= otherwise otherwiseE E 消除消除RcRc的的归类元元组33表表1.1.多级关系多级关系“卫星卫星” S S级实例级实例实例间完整性举例:例实例间完整性举例:例1 1表表2.2.多级关系多级关系“卫星卫星”过滤后过滤后U U级实例级实例34表表4.4.多级关系多级关系“卫星卫星”S S级实例级实例表表5.5.多级关系多级关系“卫星卫星”过滤后过滤后S S级实例级实例实例间完整性举例:例实例间完整性举例:例2 2表表3.3.多级关系多级关系“卫星卫星” ” U U级实例级实例35五、多实例完整性五、多实
30、例完整性假设多级关系假设多级关系R R的外观主码集合为的外观主码集合为AKAK,主码等级,主码等级为为C CAK AK 。多实例完整性要求由。多实例完整性要求由AKAK、C CAKAK以及第以及第i i个个属性的等级属性的等级C Ci i便可确定第便可确定第i i个属性值个属性值A Ai i 。一个多级关系满足多实例完整性,当且仅当每一个多级关系满足多实例完整性,当且仅当每个个R Rc c中的每个属性中的每个属性A Ai i , ,满足满足AK,CAK,CAKAK,C,Ci i A Ai i 即即A Ai i函数依赖于函数依赖于AK,CAK,CAKAK,C,Ci i 。同一级别的元组之间不存在
31、多实例。同一级别的元组之间不存在多实例。 36多级关系多级关系Weapon(Weapon(满足多实例完整性满足多实例完整性) ) 多级关系多级关系Weapon(Weapon(不满足多实例完整性不满足多实例完整性) )(元组级别相同主键重复)(元组级别相同主键重复)376.4.4 多级关系操作一、一、 插入操作插入操作形式:形式:INSERT INTO Rc(AINSERT INTO Rc(Ai i ,A,Aj j) VALUES (a VALUES (ai i ,a,aj j)当插入元组当插入元组t t(新插入)(新插入)与主键值相同的元组与主键值相同的元组t t时:时:1 1)若)若tTCt
32、TC tTC, tTC,拒绝拒绝t t的插入。的插入。/满足多满足多 实例完整性约束实例完整性约束2 2)若)若tTC tTC,tTC ttTC t TC,TC,允许或拒绝允许或拒绝t t的插入均可的插入均可 以。以。/多级关系操作尽量减少额外元组多级关系操作尽量减少额外元组38 例例1 S1 S级别主体插入操作级别主体插入操作 1 1)主码值不同,正常插入)主码值不同,正常插入 INSERT INTO INSERT INTO WeaponWeapon VALUES “Cannonl,10,200” VALUES “Cannonl,10,200”插入后插入后WeaponWeapon多级关系的多
33、级关系的S S级插入级插入392 2)主码值、级别相同,系统不允许插入。)主码值、级别相同,系统不允许插入。 INSERT INTO INSERT INTO WeaponWeapon VALUES “Cannonl,10,200”/ VALUES “Cannonl,10,200”/S S级插入级插入WeaponWeapon多级关系的多级关系的S S级插入级插入403 3)主码值相同,但插入元组级别低,允许插入,)主码值相同,但插入元组级别低,允许插入, 防止隐通道,产生多实例。防止隐通道,产生多实例。 INSERT INTO INSERT INTO WeaponWeapon VALUES “
34、VALUES “Missile2,250,30”/,250,30”/ S S级插入级插入插入前插入前WeaponWeapon多级关系的多级关系的S S级插入级插入41插入后产生多实例插入后产生多实例WeaponWeapon多级关系的多级关系的S S级插入级插入42二、更新操作二、更新操作形式:形式:UPDATE RcUPDATE Rc SET A SET Ai iS Si i ,A ,Aj jS Sj j WHERE p WHERE pp p是谓词条件是谓词条件针对关系间完整性的约束,更新操作对不同等针对关系间完整性的约束,更新操作对不同等级的关系实例的影响有以下三点:级的关系实例的影响有以下
35、三点:v对同等级关系实例的影响与传统的对同等级关系实例的影响与传统的UPDADEUPDADE语语句一样。句一样。v对更低等级关系实例无影响。对更低等级关系实例无影响。v对更高等级用户,为避免隐蔽通道可能引入对更高等级用户,为避免隐蔽通道可能引入多实例。多实例。43 例例11密级为密级为U U的用户要求对的用户要求对WeaponWeapon关系的关系的 U U级实例作更新操作。级实例作更新操作。/直接修改直接修改 UPDATE UPDATE WeaponWeapon SET Quantity=3000 SET Quantity=3000 WHERE Wname=“Gun1”/ WHERE Wna
36、me=“Gun1”/ U U级用户级用户WeaponWeapon关系的关系的 U U 级实例级实例44WeaponWeapon关系的关系的 U U 级实例级实例更新前更新前WeaponWeapon关系的关系的 U U 级实例级实例更新后更新后45 例例22密级为密级为U U的用户要求对的用户要求对WeaponWeapon关系的关系的 S S级实例作更新操作。级实例作更新操作。 UPDATE UPDATE WeaponWeapon SET Quantity=3000 SET Quantity=3000 WHERE Wname=“Gun1”/ WHERE Wname=“Gun1”/ U U级用户级
37、用户WeaponWeapon关系的关系的 S S 级实例级实例46WeaponWeapon关系的关系的 S S 级实例级实例更新前更新前WeaponWeapon关系的关系的 S S 级实例级实例更新后产生多实例更新后产生多实例47 例例33密级为密级为S S的用户要求对的用户要求对WeaponWeapon关系的关系的 S S级实例执行如下更新操作。级实例执行如下更新操作。 UPDATE UPDATE WeaponWeapon SET Range=2 SET Range=2 WHERE Wname=“Gun1”AND WHERE Wname=“Gun1”AND Quantity=5000 Qua
38、ntity=5000WeaponWeapon关系的关系的 S S 级实例级实例48WeaponWeapon关系的关系的 S S 级实例级实例更新后更新后WeaponWeapon关系的关系的 S S 级实例级实例更新前更新前49 例例44密级为密级为S S的用户要求对的用户要求对WeaponWeapon关系的关系的 S S级实例执行如下更新操作。级实例执行如下更新操作。 UPDATE UPDATE WeaponWeapon SET Range=2 SET Range=2 WHERE Wname=“Gun1”/ WHERE Wname=“Gun1”/ S S级用户级用户 WeaponWeapon关
39、系的关系的 S S 级实例级实例50WeaponWeapon关系的关系的 S S 级实例级实例更新后更新后WeaponWeapon关系的关系的 S S 级实例级实例更新前更新前51三、删除操作三、删除操作形式:形式:DELETE FROM RcDELETE FROM Rc WHERE p WHERE pp p是谓词条件是谓词条件四、查询操作四、查询操作形式:形式:SELECT A1,A2FROM R1 ,R2SELECT A1,A2FROM R1 ,R2 WHERE pAT c1,c2, WHERE pAT c1,c2,p p是谓词条件是谓词条件526.5 多实例多实例:是指在多级安全数据库管
40、理系统多实例:是指在多级安全数据库管理系统中,同时存在多个具有相同主码值的实体。中,同时存在多个具有相同主码值的实体。多实例元组:关系包含多个具有相同主码多实例元组:关系包含多个具有相同主码的元组,但的元组,但相同主码相同主码的安全等级可以不的安全等级可以不 相同,相同,这些元组的安全等级不同。这些元组的安全等级不同。多实例属性:关系包含多个具有相同主码多实例属性:关系包含多个具有相同主码的元组,但的元组,但相同主码相同主码的安全等级的安全等级相同,相同,这这些元组的安全等级不同。些元组的安全等级不同。53例:两种多实例的情况。例:两种多实例的情况。多实例属性多实例属性的多级关系的多级关系多实
41、例元组的多实例元组的多级关系多级关系546.5.1 多实例的发生可见多实例:可见多实例:当高访问等级的用户想在当高访问等级的用户想在数据库的一个域上插入数据,而在这个数据库的一个域上插入数据,而在这个域上已经存在低安全等级的数据时发生。域上已经存在低安全等级的数据时发生。不可见多实例:不可见多实例:当低访问等级的用户想当低访问等级的用户想在数据库的一个已经有高安全等级的域在数据库的一个已经有高安全等级的域上插入一个新数据时发生。上插入一个新数据时发生。55可见多实例可见多实例U U级用户将级用户将RangeRange更新为更新为1 1S S级用户将级用户将RangeRange更新为更新为2 2
42、最初的多级关系最初的多级关系56不可见多实例不可见多实例最初的最初的S S级用户级用户实例实例U U级用户将级用户将RangeRange更新为更新为1 1后,后,U U级实例如下:级实例如下:U U级用户将级用户将RangeRange更新为更新为2 2后,后,S S级实例如下:级实例如下:576.5.2 多实例引起的问题 多实例虽可防止隐蔽通道,但引起一多实例虽可防止隐蔽通道,但引起一些相关问题:些相关问题:数据机密性与完整性冲突数据机密性与完整性冲突增加了数据库的管理难度增加了数据库的管理难度增加了对同一现实世界中不同模型理解增加了对同一现实世界中不同模型理解的困惑。不清楚那个实例的信息是正
43、确、的困惑。不清楚那个实例的信息是正确、可信的。可信的。586.5.3 多实例问题的处理对多实例的处理采取下面的方法或其组合对多实例的处理采取下面的方法或其组合对多实例的处理采取下面的方法或其组合对多实例的处理采取下面的方法或其组合v使所有的主码可见,主码以关系内可见的使所有的主码可见,主码以关系内可见的最低安全等级标识最低安全等级标识v根据主码可能的各种安全等级,划分主码根据主码可能的各种安全等级,划分主码的域。的域。v限制对多级关系的插入。要求所有的插入限制对多级关系的插入。要求所有的插入由系统最高安全等级的用户实施向下写完由系统最高安全等级的用户实施向下写完成。成。596.6 6.6 隐
44、蔽通道分析隐蔽通道分析6.6.1 6.6.1 6.6.1 6.6.1 隐蔽通道及其分类隐蔽通道及其分类隐蔽通道及其分类隐蔽通道及其分类隐蔽通道:隐蔽通道:是指给定一个强制安全策略模型是指给定一个强制安全策略模型M M和和它在一个操作系统中的解释它在一个操作系统中的解释I(M),I(M)I(M),I(M)中两个主中两个主体体I(Si)I(Si)和和I(Sj)I(Sj)之间的任何潜在通信都是隐蔽之间的任何潜在通信都是隐蔽的的, ,当且仅当模型当且仅当模型M M中的相应主体中的相应主体SiSi和和SjSj之间的之间的任何通信在任何通信在M M中都是非法的。(系统中不受安全中都是非法的。(系统中不受安
45、全策略控制的,违反安全策略的信息泄露路径)策略控制的,违反安全策略的信息泄露路径)系统实际使用中,攻击者制造一组表面上合法系统实际使用中,攻击者制造一组表面上合法的操作序列,将高级数据传送到低级用户。这的操作序列,将高级数据传送到低级用户。这种隐蔽的非法通道叫隐蔽通道。种隐蔽的非法通道叫隐蔽通道。60隐通道通过不是用于数据传递的系统设施来发隐通道通过不是用于数据传递的系统设施来发送信息送信息 ,并且这种通信方式往往不被系统的,并且这种通信方式往往不被系统的存取控制机制所检测和控制。存取控制机制所检测和控制。隐蔽通道的分类隐蔽通道的分类v存储隐蔽通道和时序隐蔽通道存储隐蔽通道和时序隐蔽通道v双向
46、同步隐蔽通道和单项同步隐蔽通道双向同步隐蔽通道和单项同步隐蔽通道v无噪声隐蔽通道和有噪声隐蔽通道无噪声隐蔽通道和有噪声隐蔽通道v聚集隐蔽通道和非聚集隐蔽通道聚集隐蔽通道和非聚集隐蔽通道存储隐蔽通道存储隐蔽通道: :如果一个隐通道是一个主体直如果一个隐通道是一个主体直接或间接地修改一存储变量,而被另一主体通接或间接地修改一存储变量,而被另一主体通过直接或间接地读取同一个变量获得信息,这过直接或间接地读取同一个变量获得信息,这个隐通道是存储隐通道。个隐通道是存储隐通道。 61例例1:1:进程号隐通道进程号隐通道. .进程号(进程号(PIDPID)是系统中标志进程的唯一符号,)是系统中标志进程的唯一
47、符号,在许多操作系统中采用连续递增的方法来管在许多操作系统中采用连续递增的方法来管理进程号,即新建的进程的进程号在上一个理进程号,即新建的进程的进程号在上一个进程的进程号的基础上加进程的进程号的基础上加1 1,利用系统的这,利用系统的这一管理机制也可产生隐通道,其操作过程如一管理机制也可产生隐通道,其操作过程如下:下: 62操作过程:操作过程:接收方建立一个子进程并立即结束它,记接收方建立一个子进程并立即结束它,记录下它的进程号;录下它的进程号;发送方若发发送方若发“0”“0”,则什么也不做,若发,则什么也不做,若发“1”“1”则建一个子进程并立即结束它;则建一个子进程并立即结束它;接收方再建
48、一个子进程并立即结束它,记接收方再建一个子进程并立即结束它,记录下它的进程号,如果新的进程号与上一次录下它的进程号,如果新的进程号与上一次得到的进程号相差得到的进程号相差1 1,则确认接收到,则确认接收到“0”“0”,如果新的进程号与上一次得的进程号相差如果新的进程号与上一次得的进程号相差2 2,则确认接收到则确认接收到“1”“1”;做好同步工作,转入做好同步工作,转入2 2,传送下一比特,传送下一比特。例:例: 收收 发发 收收 发发 收收 发发 收收 发发 p1 p2 p3 p4 p5 p6 传送信息传送信息 1 0 1 063时序隐蔽通道:时序隐蔽通道:时序隐通道的发送者通过对使用资时序
49、隐通道的发送者通过对使用资源时间的影响来发送信息,接收者通过观察响应时源时间的影响来发送信息,接收者通过观察响应时间的变化来接收信息,这个隐通道是时序隐通道。间的变化来接收信息,这个隐通道是时序隐通道。 例例2 2:时序隐蔽通道。:时序隐蔽通道。vCPUCPU是一种可以利用的系统资源,可由多个用户是一种可以利用的系统资源,可由多个用户共享,假设有共享,假设有H H和和L L两个进程,两个进程,H H的安全级高于的安全级高于L L,H H企图将信息传递给企图将信息传递给L L。它们约定一系列间隔均匀。它们约定一系列间隔均匀的时间点的时间点t1t1,t1t1,t1t1,(间隔时间至少允许两(间隔时
50、间至少允许两次次CPUCPU调度)。调度)。vL L在每个时间点都请求使用在每个时间点都请求使用CPUCPU,而,而H H在每个时间在每个时间点,若要发送点,若要发送0 0,则不请求使用,则不请求使用CPUCPU;若要发送;若要发送1 1,则请求使用,则请求使用CPUCPU(假设(假设H H的优先级高于的优先级高于L L)。于)。于是,在每个时间点,是,在每个时间点,L L若能立即获得若能立即获得CPUCPU的使用权,的使用权,则确认收到则确认收到0 0,若要等待,则确认收到,若要等待,则确认收到1 1,这个隐,这个隐通道被称时序隐蔽通道通道被称时序隐蔽通道。64v双向同步隐蔽通道和单项同步隐
51、蔽通道双向同步隐蔽通道和单项同步隐蔽通道 为了让一个进程通知另外一个进程已经完成了对一为了让一个进程通知另外一个进程已经完成了对一个数据的读或写,在使用隐蔽通道传递信息之前,个数据的读或写,在使用隐蔽通道传递信息之前,信息发送者和接收者之间必须规定好同步方式。信息发送者和接收者之间必须规定好同步方式。 如果一个隐蔽通道中除了包含一个传输用户数据的如果一个隐蔽通道中除了包含一个传输用户数据的变量外,还包括两个同步变量:一个同步变量用于变量外,还包括两个同步变量:一个同步变量用于发送者到接收者的同步,另一个用于接收者到发送发送者到接收者的同步,另一个用于接收者到发送者的同者的同步步,这种隐蔽通道称
52、为,这种隐蔽通道称为双向同步隐蔽通道双向同步隐蔽通道。 有些安全模型和它们的解释允许一类接收者到一类有些安全模型和它们的解释允许一类接收者到一类发送者的通信,这类系统中从发送者到接收者的同发送者的通信,这类系统中从发送者到接收者的同步也不可缺少,这种隐蔽通道称为步也不可缺少,这种隐蔽通道称为单向同步隐蔽通单向同步隐蔽通道道。65v无噪声隐蔽通道和有噪声隐蔽通道无噪声隐蔽通道和有噪声隐蔽通道 接收者收到的符号与发送者发送的符号完全一样的可能性接收者收到的符号与发送者发送的符号完全一样的可能性为为1 1的信道称为的信道称为无噪声信道无噪声信道,反之称为有噪声信道。,反之称为有噪声信道。 对于隐蔽通
53、道来说,每个符号就是一比特。对于无噪声隐对于隐蔽通道来说,每个符号就是一比特。对于无噪声隐蔽通道,不管系统中用户的行为如何,发送者可以保证接蔽通道,不管系统中用户的行为如何,发送者可以保证接收者每次都能正确地接收到一个比特。收者每次都能正确地接收到一个比特。v聚集隐蔽通道和非聚集隐蔽通道聚集隐蔽通道和非聚集隐蔽通道 一个同步变量可以供同一对发送者和接收者之间的多个数一个同步变量可以供同一对发送者和接收者之间的多个数据变量同时传递信息,这种信道称为据变量同时传递信息,这种信道称为聚集隐蔽通道聚集隐蔽通道,反之,反之称为非聚集隐蔽通道。聚集隐蔽通道中不同的数据变量共称为非聚集隐蔽通道。聚集隐蔽通道
54、中不同的数据变量共同使用同一个同步变量的情况会降低通信的同步对资源的同使用同一个同步变量的情况会降低通信的同步对资源的消耗。消耗。66数据库系统隐蔽通道数据库系统隐蔽通道 在数据库系统中存在大量的共享资源,导致隐蔽在数据库系统中存在大量的共享资源,导致隐蔽通通道的存在。道的存在。数据库存储资源引入的数据库存储资源引入的通通道。道。该该通通道利用数据库道利用数据库中的共享资源,如数据、数据字典等。发送者修中的共享资源,如数据、数据字典等。发送者修改数据改数据/ /数据字典,接收者则通过完整性约束等方数据字典,接收者则通过完整性约束等方式间接感知数据式间接感知数据/ /数据字典的修改,以此来传输机
55、数据字典的修改,以此来传输机密信息。密信息。 数据库管理资源引入的数据库管理资源引入的通通道。道。数据库系统中的另数据库系统中的另一类共享资源包括一类共享资源包括数据库表、数据库表、系统变量、游标、系统变量、游标、临时数据区等。通过耗尽有限的共享资源,收发临时数据区等。通过耗尽有限的共享资源,收发双方传输机密信息。双方传输机密信息。 事务并发控制引起的隐蔽事务并发控制引起的隐蔽通通道。道。入侵者可以利用入侵者可以利用不同安全级事务间的并发冲突构造隐蔽信道,称不同安全级事务间的并发冲突构造隐蔽信道,称作数据冲突隐蔽信道。作数据冲突隐蔽信道。67 6.6.6.6.2 2 隐通道隐通道的防治的防治
56、搜索隐通道:搜索隐通道:对系统中是否存在,存在哪些隐通对系统中是否存在,存在哪些隐通道应该清楚(国内做此工作较为困难)。道应该清楚(国内做此工作较为困难)。 消除隐通道:消除隐通道:隐通道存在的一个重要原因是不同隐通道存在的一个重要原因是不同安全级的用户之间共享系统资源(如磁盘、安全级的用户之间共享系统资源(如磁盘、CPUCPU、内存、打印机、进程号等),这使得高安全级用内存、打印机、进程号等),这使得高安全级用户对系统资源的使用能被低安全级用户观察到。户对系统资源的使用能被低安全级用户观察到。因此,消除隐通道的一个可能的方法是限制进程因此,消除隐通道的一个可能的方法是限制进程间的资源共享,特
57、别是只在安全级相同的实体间间的资源共享,特别是只在安全级相同的实体间共享资源,但这可能带来某些资源闲置而大大降共享资源,但这可能带来某些资源闲置而大大降低使用效率的问题。低使用效率的问题。68 限制带宽:限制带宽:如果不能完全消除隐通道,则要想办法限制如果不能完全消除隐通道,则要想办法限制其带宽,将带宽限制在允许的范围内使其满足安全的要其带宽,将带宽限制在允许的范围内使其满足安全的要求。限制带宽的方法如有意引入噪音,有意引入外部进求。限制带宽的方法如有意引入噪音,有意引入外部进程干扰收程干扰收/ /发进程的工作,使之延时。发进程的工作,使之延时。 带宽:带宽:是指信息通过隐通道传输的速度,用比
58、特是指信息通过隐通道传输的速度,用比特/ /秒来衡秒来衡量。量。 因为对付隐通道的方法,首先是消除隐通道,当无因为对付隐通道的方法,首先是消除隐通道,当无法完全消除隐通道时,则必须限制隐通道的带宽,因为法完全消除隐通道时,则必须限制隐通道的带宽,因为带宽越高,单位时间内泄露的信息量就越多,对系统的带宽越高,单位时间内泄露的信息量就越多,对系统的安全性威胁就越大。一般地,通过计算隐通道的最大宽安全性威胁就越大。一般地,通过计算隐通道的最大宽度来最大限度地衡量隐通道的威胁。根据度来最大限度地衡量隐通道的威胁。根据TESECTESEC的建议,的建议,隐通道的带宽达到隐通道的带宽达到1 1比特比特/ /秒就要引起注意;带宽达到秒就要引起注意;带宽达到100100比特比特/ /秒以上,就必须采取相应的处理措施。秒以上,就必须采取相应的处理措施。 69