操作系统安全(第二部分理论篇)_第1页
操作系统安全(第二部分理论篇)_第2页
操作系统安全(第二部分理论篇)_第3页
操作系统安全(第二部分理论篇)_第4页
操作系统安全(第二部分理论篇)_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

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

文档简介

2023/12/221第二部分理论篇第5章安全策略与安全模型第6章安全体系结构第7章安全保证技术2023/12/222第5章安全策略与安全模型安全需求:从有关管理、保护和发布敏感信息的法律、规定、和实施细则中导出,一般包括机密性、完整性、可追究性和可用性;安全策略,是对安全需要求的形式化和非形式化描述,分为:访问控制策略:反映机密性和完整性访问支持策略:反映可追究性和可用性安全策略模型:就是对安全策略所表达的安全需求的简单、抽象、无歧义的描述。安全模型的目标——明确表达安全需求,为设计开发安全系统提供方针;2023/12/2235.1安全策略5.1.1安全策略概述安全策略:安全策略是一种声明,它将系统的状态划分为两个集合:一个是已经授权状态集合,即安全状态集合,一个是未授权状态集合,即不安全状态集合。安全系统:是这样一个系统,它开始于一个授权状态,且在任何转换操作之后都不会进入一个未授权状态。安全性背离:当一个系统进入一个未授权状态时,我们就说它出现一次安全状态性背离5.1安全策略5.1.2安全策略类型机密性策略完整性策略混合型/中立型策略2023/12/2255.1安全策略5.1.3策略表达语言高层策略语言:用于表达对系统中抽象实体的无歧义的精确表达。描述了对一个系统中的实体和行为的限制,策略独立于机制。采用数据的或程式化的表示形式,如数学语言表达策略、DTE策略语言低层策略语言:用于将一组输入或参数简化为在一个系统上进行设置、检查或限制的命令。

例:Xhost+groucho-chico:设置系统允许来自主机groucho的连接,而不允许来自主机chico的连接2023/12/2265.2安全模型5.2.1安全模型作用和特点作用:明确表达安全需求,为设计开发安全系统提供方针特点:精确、无歧义简易,抽象,易理解安全相关的,即只涉及安全性质,不限制系统功能及其实现是安全策略的显示表示安全模型分为形式化的安全模型和非形式化的安全模型;22十二月20237所谓形式化方法,指的是使用特定的语言和推理来描述事物的方法。相对而言,非形式化的方法则是以自然语言和基于人们的常识来描述事物的方法。使用形式化的表示方法,尤其是使用一套简单易懂的语义学符号来描述事物之间的关系,可以大大提高描述安全策略的精度,使用形式化的证明可以从理论上确保系统的安全策略能够满足系统的安全需求。5.2.2形式化安全模型设计目标与要求22十二月20238开发一个形式化的安全模型必须满足:完备性:所有安全策略必须包括在模型的断言中,而且也要求所有包含在模型中的断言必须是从安全策略中导出的。正确性:要求模型的安全全性定义是一个从安全策略的导出的相关安全断言的精确描述一致性:要求各条安全策略是内在一致辞的,即各条安全策略的形式化表示之间没有数学矛盾简明性:模型是简单的而且没有额外的细节,但必须包括足够多的细节使得它不是含糊的5.2.2形式化安全模型设计目标与要求22十二月20239通常,系统的不安全性源自于对用户安全需求的错误理解或源自于系统的实现缺陷。保证系统安全性的主要策略是,制定一个符合用户安全需求的安全策略模型,该模型必须同时考虑安全策略和其在自动信息系统中的实现过程安全策略模型应由:对安全的定义一套操作的规则。5.2.2形式化安全模型设计目标与要求22十二月202310形式化模型,指的是用形式化的方法来描述如何实现系统的安全要求,包括机密性、完整性和可用性。一个安全的计算机系统可以分为如下几大部分:数据结构进程用户信息I/O设备被控实体的安全属性5.2.2形式化安全模型设计目标与要求22十二月202311标识被控实体在设计一个安全模型中占据着重要地位,对于达到TCSEC规定的B2级或以上安全级的系统来说,被控实体必须包括所有的系统资源。系统包括显式被控实体和隐式被控实体。数据结构是一个数据仓库,包含标明系统内部状态的数据和值。系统中进程可以利用系统事先明确定义的允许的操作来对这些数据或值进行读或写访问。一个最小的数据结构,同时也是显式被控实体的存储客体,存储客体的安全属性可能包括安全级和用户访问权限。在包含安全级的模型中,在最小化的情况下,存储客体具有唯一的安全级,存储客体可能被组合起来形成多级数据结构,其中每个客体被赋予自己的安全级5.2.2形式化安全模型设计目标与要求22十二月202312进程可创建、删除存储客体及其他进程以及与它们交互,还可以与I/O设备交互。显式被控进程称为“主体”。通常具有多种与它关联的安全属性,可能包括安全级、硬件安全属性。用户信息:在支持角色的程序中,系统用户可履行制定角色的职责,一个用户可以拥有多个角色,一个角色也可以包含多个用户。I/O设备:用户与系统设备的交互行为在模型中体现对I/O设备的约束。外部策略要求系统只有允许授权用户才能访问相应的I/O设备。I/O设备封装在TCB软件内,并被看作是被动实体。安全属性可以显式地与显式受控实体相关联,还有一些与系统环境相关的安全属性。5.2.2形式化安全模型设计目标与要求2023/12/22135.2.2形式化安全模型设计目标与要求开发安全模型的一般性步骤:确定外部接口需求:明确系统主要的安全需求,并把它们与其它问题隔离开,主要是给出系统安全的确切定义,提出支持可信对象的各种条件及描述安全需要求的各种机制和方法,构造一个外部模型。确定内部安全需求:对系统控制对象进行限制,这些限制往往就形成了模型安全性定义,这一步实质就是把安全需求与系统抽象进行结合,提出合理的模型变量,构造一个内部模型设计策略执行的操作规则:安全策略规则化,以确保系统在有效完成系统任务的同时,系统始终处于安全状态中。2023/12/22145.2.2形式化安全模型设计目标与要求开发安全模型的一般性步骤(续)确定已知元素:选择适当的形式规范语言,开发相应的形式验证工具,看看是否有可直接使用中进行二次开发的形式验证工具,尽量优化设计开发过程。论述一致性和正确性:模型的评论阶段。主要包括:安全需求的表达是否准确、合理:安全操作规则是否与安全需求协调一致,安全需要求是否在模型中得到反映,模型的形式化与模型之间对应性论证等论述关联性:实施阶段,即功能设计。分层次进行,首先是实现模型,其次是实现架构;再其次是模型架构里的解释;最后是实现的对应性论证。2023/12/22155.2.3状态机安全模型的一般开发方法状态机是将一个系统描述为一个抽象的数学状态机器,其中状态变量表示机器的状态,转换或者是操作规则用以描述状态变量的变化开发一个状态机安全模型包含确定模型要素(变量、函数、规则等)和安全初始状态。一旦证明了初始状态是安全的并且所有函数也都是安全的,精确的推导会表明此时不论调用这些函数的哪一个,系统都将保持在安全状态。2023/12/22165.2.3状态机安全模型的一般开发方法开发一个状态机模型的步骤:定义安全相关的状态变量:表示系统的主体和客体、它们的安全属性,以及主体与客体之间的存取权限。定义安全状态的条件:表达状态在转换期间状态变量的数值所必须始终保持的关系定义状态转换函数:描述状态变量可能发生的变化,即操作规则。限制系统可能产生的类型,系统不能以函数不允许的方式修改状态变量。检查函数否维持了安全状态:要求如果系统运行之前处于安全状态,那么系统运行后仍将保护在安全状态定义初始状态:选择每个状态的值,这些值模拟系统最初的安全状态中是如何启动的。依据安全状态的定义,证明初始状态安全2023/12/2217安全模型的分类按实现策略分机密性模型:BLP模型完整性模型:Biba模型、Clark-Wilson模型混合型模型:中国墙模型按实现方法分访问控制模型信息流模型一些主要的模型机密性访问控制信息流DAC自主MAC强制完整性RBACBLPChineseWall(非干扰性,非观察性)BibaClark-Wilson基本模型:HRU强制访问控制模型(MAC)

特点:

1)将主体和客体分级,根据主体和客体的级别标记来决定访问模式。如,绝密级,机密级,秘密级,无密级。

2)其访问控制关系分为:上读/下写,下读/上写

(完整性)

(机密性)

3)通过梯度安全标签实现单向信息流通模式。

4)与DAC相比:强耦合,集中式授权。2023/12/22205.3机密性策略与模型--BLPBLP模型是1973年D.ElliottBell和LeonardJ.LaPadula提出的一个计算机多级安全模型之一,是对应军事类型安全密级分类的计算机操作系统模型是第一个可证明的安全系统的数学模型,实际上是一个形式化的状态机模型;主体对客体的访问:读r,读写w,只写a,执行e,控制c包括有两部分安全策略:自主安全策略和强制安全策略;2023/12/22215.3机密性策略与模型--BLPBLP模型是对安全策略形式化的第一个数学模型,是一个状态机模型,用状态变量表示系统的安全状态,用状态转换规则来描述系统的变化过程。它形式化地定义了系统、系统状态以及系统间的转换规则,定义了安全概念,制定了一组安全特性,以及对系统状态和状态转换规则进行限制和约束,使得对于一个系统而言,如果它的初始状态是安全的,并且所经过的一系列规则转换都保持安全,那么可以证明该系统最终也是安全的。2023/12/22225.3机密性策略与模型--BLP一个基本安全等级分类系统(例),其中:S为主体,O为客体第3层绝密S1

O1(O1A,O1B,O1C)第2层机密S2

O2(O2A,O2B)第1层秘密S3

O3(O3A,O3B,O3C)第0层内部S4

O4(O4A,O4B,O4C)2023/12/22235.3机密性策略与模型--BLP则上述基本安全等级分类系统可以用以下的简单安全条件、*-属性以及基本安全定理描述简单安全条件:当且仅当O所处层次<=S所处层次时,S可以读O,即S对O具有自主型读权限(下读)*-属性:当且仅当O所处层次>=S所处层次时,S可以写O,即S对O具有自主型写权限(上写)该模型是可信系统的状态转换模型。定义所有可以使系统“安全”的状态集,检查所有状态的变化均开始于一个“安全状况”并终止另一个“安全状态”,并检查系统的初始状态是否为“安全状态”。每个主体均有一个安全级别,并由许多条例约束其对具有不同密级的客体的访问操作。模型定义的主客体访问规则:使用状态来表示系统中主体对客体的访问方式可向下读,不可下写可上写,不可上读5.3机密性策略与模型--BLP系统状态:V={B×M×F×H}B:访问集合,是S×O×A的子集,定义了所有主体对客体当前的访问权限。函数F:S∪O→L,语义是将函数应用于某一状态下的访问主体与访问客体时,导出相应的安全级别。Fs:主体安全级别Fo:客体安全级别Fc:主体当前安全级别Fs>Fc状态集V在该模型中表现为序偶(F,M)的集合,M是访问矩阵。变迁函数T:V×R→V。R请求集合,在系统请求执行时,系统实现状态变迁;D是请求结果的集合。类似于HRU模型,BLP模型的组成元素包括访问主体、访问客体、访问权限和访问控制矩阵。但BLP在集合S和O中不改变状态与HRU相比,多了安全级别、包含请求集合的变迁函数。5.3机密性策略与模型--BLP定义4.1:状态(F,M)是“读安全”(也称为“simplesecurity”)的充分必要条件是定义4.2:状态(F,M)是“写安全”(也称为“*-property”)的充分必要条件是定义4.3:状态是“状态安全”(statesecure)的充分必要条件是它既是“读安全”又是“写安全”。定义4.4:系统(v0,R,T)是安全的充分必要条件是初始状态v0是“状态安全”的,并且由初始状态v0开始通过执行一系列有限的系统请求R可达的每个状态v也是“状态安全”的。5.3机密性策略与模型--BLP定理4.3:系统(v0,R,T)是安全的充分必要条件是 其中,T为转移函数,是指由初始状态v0通过执行一系列有限的系统请求R到达可达状态v。5.3机密性策略与模型--BLP“读安全”禁止低级别的用户获得高级别文件的读权限。

“写安全”防止高级别的特洛伊木马程序把高级别文件内容拷贝到低级别用户有读访问权限的文件。缺点:未说明主体之间的访问,不能适用于网络5.3机密性策略与模型--BLP2023/12/2229状态转换规则:BLP模型定义了11条状态转换的规则:规则1(R1):当符合以下条件下,主体Si可以对客体Oi进行“只读”访问主体Si访问属性中有对客体的“只读”权限主体的安全级支配客体的安全级主体是可信主体或主体当前的安全级支配客体安全级。5.3机密性策略与模型--BLP2023/12/2230状态转换规则:BLP模型定义了11条状态转换的规则:规则2(R2):当符合以下条件下,主体Si可以对客体Oi进行“只与”访问主体Si访问属性中有对客体的“只写”权限主体是可信主体或客体当前的安全级支配主体安全级。5.3机密性策略与模型--BLP2023/12/2231状态转换规则:BLP模型定义了11条状态转换的规则:规则3(R3):当符合以下条件下,主体Si可以对客体Oi进行“执行”访问主体Si访问属性中有对客体的“执行”权限5.3机密性策略与模型--BLP2023/12/2232状态转换规则:BLP模型定义了11条状态转换的规则:规则4(R4):当符合以下条件下,主体Si可以对客体Oi进行“读写”访问主体Si访问属性中有对客体的“读写”权限主体Si的安全级支配客体的安全级主体是可信主体或主体当前的安全级等于客体安全级。5.3机密性策略与模型--BLP2023/12/2233状态转换规则:BLP模型定义了11条状态转换的规则:规则5(R5):表示主体释放对客体的访问属性:如果请求不在定义域范围内,则不会发生状态的变化(?);否则将从主体Si的访问属性中去除对客体的访问部属性x5.3机密性策略与模型--BLP2023/12/2234状态转换规则:BLP模型定义了11条状态转换的规则:规则6(R6):表示授予另一主体对客体的访问属性:当符合以下条件时,主体Sλ可以授予另一主体Si对客体Oj的访问权限客体Oj不是层次树的根结点,主体Sλ的访问属性有对Oj的父结点的读写权限客体Oj是层次树的根结点,并且主体Sλ有权在当前状态下授予对Oj的访问权限5.3机密性策略与模型--BLP2023/12/22355.3机密性策略与模型--BLP状态转换规则:BLP模型定义了11条状态转换的规则:规则7(R7):表示撤销另一主体对客体的访问属性:当符合以下条件时,主体Sλ可以撤销另一主体Si对客体Oj的访问权限客体Oj不是层次树的根结点,主体Sλ的访问属性有对Oj的父结点的“读写”权限客体Oj是层次树的根结点,并且主体Sλ有权在当前状态下撤销对Oj的访问权限2023/12/2236状态转换规则:BLP模型定义了11条状态转换的规则:规则8(R8):表示创建一客体:当符合以下条件时,主体Si可以创建安全级为Lh,父结点为Oj的客体Onew(h)主体Si当前可以以“读写”权限或“只写”权限访问客体Oj安全级Lh支配这Oj的安全级5.3机密性策略与模型--BLP2023/12/2237状态转换规则:BLP模型定义了11条状态转换的规则:规则9(R9):表示删除一组客体:当符合以下条件时,主体Si可以删除Oj(包括下面所有客体):当前主体Si对客体Oj的父结点有“读写”权限并且客体Oj不是根结点5.3机密性策略与模型--BLP2023/12/2238状态转换规则:BLP模型定义了11条状态转换的规则:规则10(R10):改变主体当前安全级:当符合以下条件时,主体Si可以改变其当前安全级Lu:主体Si是可信主体,或它的安全级被改变为Lu,且导致的状态满足*特性主体Si的安全级支配Lu对客体Oj的父结点有“读写”权限并且客体Oj不是根结点5.3机密性策略与模型--BLP2023/12/2239状态转换规则:BLP模型定义了11条状态转换的规则:规则11(R11):改变客体的安全级:当符合以下条件时,主体Si可以改变客体Oj的安全级至Lu:主体Si是可信主体并且其当前安全级支配客体Oj的安全级,或主体Si的安全级支配Lu,而Lu又支配客体Oj的安全级如果有主体Si当前正以只读或读写的模式访问客体Oj,那么应保证该主体Si的当前安全级支配Lu客体Oj的安全级被改变为Lu且导致的状态满足*特性。客体Oj的安全级被改变为Lu且导致的状态满足兼容性主体Si有权改变Oj的安全级5.3机密性策略与模型--BLP2023/12/2240几个重要公理:简单安全性(simple-secureproperty)、*-特性、自主安全性(discretionary-security)、兼容性(compatibility)

定义了11条状态转换规则和11条重要定理;特点支持的是信息的保密性;是通过防止非授权信息的扩散来保证系统的安全;不能防止非授权修改系统信息。问题没有考虑数据完整性的控制可信主体的访问权限太大,不受*-属性约束,不符合系统安全中的最小特权原则对文件共享机制没有描述,不能有效地解决隐蔽通道的问题5.3机密性策略与模型--BLP2023/12/22415.4完整性策略与模型-BibaBLP模型通过防止非授权信息的扩散保证系统的安全,但它不能防止非授权修改系统信息,于是biba等人在1977年提出的第一个完整性安全模型,从商业角度出发,对系统每个主体和每个客体分配一个完整级别(包含两部分——密级和范畴);密级{极重要C,非常重要VI,重要I},范畴的定义与BLP类似。5.4完整性策略与模型-Biba完整性安全模型的目标防止被非授权用户修改(机密性)维护内外部的一致性(一致性)防止授权用户不确当的修改(逻辑一致性)2023/12/22435.4完整性策略与模型-Biba模型有四种存取方式:Modify:向客体中写信息Invoke:仅用于主体,若两个主体间有此权限,则两主体允许相互通信Observe:从客体中读信息Execute:执行一个客体2023/12/22445.4完整性策略与模型-BibaBiba安全策略分为两大类,强制安全策略与自主安全策略强制安全策略:1)对于主体的下限标记策略:一个主体能够持有对给定客体modify的访问方式,仅当此主体的完整性级别支配该客体的安全级别一个主体能够持有对别一主体的invoke的访问方式,仅当第一个主体的完整性级别支第二个的安全级别一个主体能够持有对任何客体observe的访问方式,当主体执行了对客体的Observe操作之后,主体的完整性级别被置为执行前主体和客体的完整性级别的最小上限。2)对于客体的下限标记策略:一个主体能够对具有任何完整性级别客体持有modify存取方式。当主体执行了对客体的modify操作之后,客体的完整性级别被置为执行前主体和客体的完整性级别的最大下界。2023/12/22455.4完整性策略与模型-BibaBiba安全策略分为两大类,强制安全策略与自主安全策略强制安全策略:3)下限标记完整审计策略:一个主体能够modify具有任何完整性级别的客体。如果一个主体modify一个具有更高或不可比的完整级别的客体,这一违备安全的操作将被记录审计追踪记录中。4)环策略:主体和客体的完整级别在其生命周期中均是固定的。一个主体能够持有对另一客体modify的访问方式,仅当此主体的完整性级别支配客体的安全级别一个主体能够持有对另一主体的invoke的访问方式,仅当第一个主体的完整性级别受支第二个的安全级别支配主体对具有任何安全级别的客体均能够持有observe的访问方式。2023/12/22465.4完整性策略与模型-BibaBiba安全策略分为两大类,强制安全策略与自主安全策略强制安全策略:5)严格完整性策略:完整性*特性:一个主体能够持有对另一客体modify的访问方式,仅当主体的完整性级别支配客体的安全级别援引规则:一个主体能够持有对另一主体的invoke的访问方式,仅当第一个主体的完整性级别支配第二个的安全级别简单完整条件:一个主体能够对另一客体持有observe访问方式,仅当客体的完整性级别支配主体的完整级别。2023/12/22475.4完整性策略与模型-BibaBiba安全策略分为两大类,强制安全策略与自主安全策略自主安全策略:1)访问控制列表:对每个客体分配一个访问控制表,指明能够访问该客体的主体和每个主体能够对此客体执行的访问方式。客体的访问控制列表可以被对此客体持有modify的访问方式的主体修改。2)客体层次结构:笿体组织成层次结构,此层次结构是一棵带根的树。一个客体的先驱结点持有observe访问方式3)环:对于每一个主体分配一个权限属性,称之为环。环是数字的,低数字的环表示高的权限。此策略下规则成立:一个主体仅在环允许的范围内对客体持有modify的访问方式。一个主体仅在环允许的范围内持有对另一个具有更高权限的主体的invoke存取方式,一个主体能够对任何具有较低或相同权限的主体持有invoke访问方式。一个主体仅在环允许的范围内持有对客体的Observe访问方式2023/12/22485.4完整性策略与模型-Biba优点:简单、可以和BLP模型相结合。不足之处:完整标签确定的困难性;在有效保护数据一致性方面是不充分的;不能保证事务处理本身的完整性;不能抵御病毒攻击,难以适应复杂应用;2023/12/22495.4完整性策略与模型-Clark-Wilson1987年DavidClark和DavidWilson提出的具有里程碑意义的数据完整性模型;C-W用受约束数据项CDI来表达他们的策略,CDI由转变程序TP进行处理。TP就像一个监控器,对特定种类的数据项执行特定的操作;只有TP才能对这些数据项进行操作。TP通过确认这些操作已经执行来维持数据项的完整性。C-W将这个策略定义为访问三元组:<userID,TPi,{CDIj,CDIk,...}>,通过他将TP、一个或多个CDI以及用户识别结合起来,其中用户是指已经被授权且以事务程序的方式操作数据项的人。2023/12/22505.4完整性策略与模型-Clark-WilsonC-W核心:良构事务(well-formaltransaction)和任务分隔机制良构事务处理机制:用户不能任意处理数据,而必须以确保数据完整性的受限方式来对数据进行处理任务分隔机制:将任务分成多个子集,不同的子集由不同的人来完成。2023/12/2251定义:受限定的数据项CDI:完整性被安全模型保护起来的任何数据项。不受约束的数据项UDI:不被安全模型控制的任何数据项。完整性验证过程IVP:扫描数据项并证实数据完整性的过程。转换过程TP:将系统数据从一个有效状态转换为另一个有效状态的过程。5个证明规则和4个实施规则5.4完整性策略与模型-Clark-Wilson完整性模型-Clark-Wilson访问控制方法定义可以针对每一个数据完成的访问操作定义可以由主体完成的访问操作保护方法完整性确认:确认数据处于一种有效的状态转换过程:将数据从一种有效状态转变到另一种有效状态如果只有一个转换过程就能改变数据,则数据是完整的。系统记录所有转换过程,并提供对数据改变的审计跟踪Clark-Wilson验证性规则C1(IVPCertification):系统中由IVP

对CDI的完整性进行验证C2(Validity)

–对CDI应用TP,必须保持CDI的完整性C3

:一个CDI只能被一个TP改变,TP必须实现权限分离与最小特权原理C4(JournalCertification):TP必须必须写入一个只允许添加的日志文件中C5:TP在作用于UDI时,必须保证导出有效的CDI受限定的数据项CDI不受约束的数据项UDI完整性验证过程IVP转换过程TPClark-wilson强制规则E1:系统必须维持在C2中的关系列表,并且确保对任何CDI的唯一操作都是TP产生的,同时TP作用CDI是由一些关系所确定的。E2:必须具有并保护该形式的表:{UserID,TP,{CDIa,CDIb,CDIc……}}其关联了一个用户、一个TP和该用户的TP可以引用的数据客体,必须确保仅仅在上边一个关系中定义了的执行中可以被执行受限定的数据项CDI不受约束的数据项UDI完整性验证过程IVP转换过程TPClark-wilson强制规则E3:系统必须认证每一个试图去执行一个TP的用户的身份E4:只有被允许去认证实体的代理可以更改一个实体和其它实体间的关联列表,特别是这个实体和一个TP的关联,一个可以认证一个实体的代理不可以具有任何有关那个实体的执行权限。即对TP具有访问规则的主体能修改表中的项,但这个主体没有执行TP的权限。受限定的数据项CDI不受约束的数据项UDI完整性验证过程IVP转换过程TPClark-wilson强制规则Clark-wilson强制规则完整性:保证CDI只能按受约束的方式被修改并产生有效的CDI。规则C1、C2、C5、E1和E4实现完整性目标访问控制:实现资源的访问的控制机制,规则C3、E2和E3实现访问控制目标。审计:确认对CDI的修改并保证系统的有效状态,规则C1和C4实现审计目标。核查:用户与活动绑定,规则E3实现用户的鉴别认证。受限定的数据项CDI不受约束的数据项UDI完整性验证过程IVP转换过程TP2023/12/2258优点能有效表达完整性的3个目标久经考验的商业方法;局限性性能问题;不利于把对数据的控制策略从数据项中分离;没有形式化;5.4完整性策略与模型-Clark-Wilson2023/12/22595.5混合型/中立型安全策略与模型中国墙模型在信息流处理中,在一些情况下不是阻止信息流从高层流向低层,而是要阻止信息在不同的部分横向流动,这种系统在信息处理系统中占有很大的比例,因此提出了多边安全(MultilateralSecure)的概念。CW(ChineseWall)模型就属于一种多边安全模型。2023/12/22605.5混合型/中立型安全策略与模型中国墙模型CW模型由Brewer和Nash发布,常被用于金融机构的信息处理系统,为市场分析家提供更好的服务。访问数据不是受限于数据的属性(密级),而是受限于主体获得了对哪些数据的访问权限。CW模型的主要设计思想是将一些可能会产生访问冲突的数据分成不同的数据集,并强制所有的主体最多只能访问一个数据集,而选择哪个数据集并未受到强制规则的限制,这种策略无法用BLP模型完整表述。即根据主体已经具有的访问权力来确定是否可以访问当前数据,即只允许主体访问与其所拥有的信息没有利益冲突的数据集内的信息。全体客体的集合(O)ABC顶层:兴趣冲突组由具有竞争关系的企业数据集组成。FGHIJKLMNOPQ中层:公司数据集企业数据集,客体按所属的企业分组底层:标识单个企业的数据项(独立数据项)5.5混合型/中立型安全策略与模型中国墙模型根据历史访问情况,来限制主体对客体的访问5.5混合型/中立型安全策略与模型中国墙模型访问客体的控制:与主体曾经访问过的信息属于同一公司数据集合的信息,即墙内信息可以访问。属于一个完全不同的兴趣冲突组的可以访问。主体能够对一个客体进行写的前提,是主体未对任何属于其他公司数据集的访问。定理1:一个主体一旦访问过一个客体,则该主体只能访问位于同一公司数据集的客体或在不同兴趣组的客体定理2:在一个兴趣冲突组中,一个主体最多只能访问一个公司数据集角色的概念: 角色的抽象定义是指相对于特定的活动的一系列行动和职责集合,角色面向于用户组,但不同于用户组,角色包含了用户集和权限集。RBAC特点:

角色控制相对独立,根据配置可使某些角色接近DAC,某些角色接近MAC

5.5混合型/中立型安全策略与模型基于角色的访问控制模型基本模型RBAC0角色分级模型RBAC1角色限制模型RBAC2统一模型RBAC3

RBAC3RBAC1RBAC2RBAC05.5混合型/中立型安全策略与模型基于角色的访问控制模型RBAC模型-RBAC0RBAC0:定义了能构成一个RBAC控制系统的最小的元素集合。包含用户、角色、目标、操作、许可权五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。会话sessions是用户与激活的角色集合之间的映射。RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,模型如图:RBAC模型-RBAC1RBAC1:引入角色间的继承关系,角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构。角色继承时继承角色的所有操作权限。RBAC1模型如图:RBAC模型-RBAC2RBAC2:模型中添加了责任分离关系。RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。责任分离包括静态责任分离和动态责任分离。约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可。RBAC2模型如图:RBAC模型-RBAC3RBAC3:包含了RBAC1和RBAC2,既提供了角色间的继承关系,有提供了责任分离关系。RBAC3模型如图:RBAC模型-改进的RBAC某些情况下需要对某个用户授予特殊的权限时,RBAC就显得有些不够灵活,如果授予用户所拥有的某种角色,则拥有该角色的所有用户都会拥有该权限或被授予角色的用户会拥有该角色的所有权限,显然这不符合需求,如果为了实现这一需求而单独创建一个角色又显得不合常理,因此,改进的访问控制模型综合了RBAC的理论,结合企业需要单独对用户授予权限的需要,设计了既可对角色授权又可对用户单独授权的访问控制模型如图RBAC模型-改进的RBAC用户角色优先级:是指当给一个用户赋予多个角色时,角色之间有冲突的权限处理,高优先级的角色权限覆盖低优先级的角色权限,如一个员工既是系统管理员,又是研发人员,则对于系统管理的权限,系统管理员角色的权限覆盖研发人员角色权限。这种既可以对角色授权,又可以对用户授权的模型中,如果用户和角色之间的权限冲突时,也需要制定权限优先级。RBAC模型-优势便于授权管理便于角色划分便于赋予最小特权便于职责分担便于目标分级5.6其他模型信息流模型:隐通道:访问控制模型通过对访问主体与访问客体的控制实施安全策略,但恶意的用户仍然可能利用系统的副作用(边际效应)形成从高安全级别到低安全级别的通道。信息流模型:不对访问主体与客体实施控制,而是直接控制用户间的信息流

信息流概念:信息流可表述为“从对象a流向对象b的信息(信息流)是指对象b的值按某种方式依靠对象a的值”。例如:ifa=0thenb:=c, informationflowsexplicitlyfromctob(whena=0)andimplicitlyfromatob(whenb≠

c).信息流模型-特点对于程序语言代码(理论上)我们可以通过枚举所有程序变量间的信息流,从而验证是否存在不合法信息流。信息流模型的形式化是状态机模型,因此可以形成一系列信息流“断言”,信息流“断言”也称为安全性质,安全性质包括非干扰性(noninterference)和非观察性(nonobservability)等描述工具使用Hoare逻辑的SPA语言(SecurityProcessAlgebra–SPA)(trace)

2023/12/2274其他模型(续)无干扰模型是1982年J.Goguen和J.Meseguer提出的基于自动机理论和域隔离的安全系统事项方法;总结:安全模型是建立安全操作系统的一个基本要求;多级安全系统中最广泛的模型是BLP机密性安全模型等,这些模型都各具特点;2023/12/2275习题五安全模型在安全操作系统开发中的作用?简单描述BLP安全模型Biba模型和Clark-Wilson模型的区别?中国墙模型可以完全模拟BLP模型吗?22十二月202376第6章操作系统安全体系结构学习内容: ①了解操作系统安全体系结构的含义及其类型 ②了解系统安全体系结构设计的基本原则 ③掌握Flask安全体系结构本章重点:

Flask安全体系结构22十二月2023776.1体系结构的任务建立一个计算机系统,往往需要满足许多要求,如安全性要求,性能要求、可扩展性要求、容量要求、方便性要求和成本要求等,但这些要求往往是相互冲突的,为了把他们协调地纳入一个系统中并有效实现,对所有要求都予以最大可能的满足通常是很困难,有时也是不可能的。因此系统对各种要求的满足程度必须在各种要求之间进行全局性地折中考虑,并通过恰当的实现方式表达出来,使系统在实现时对各项要求有轻重之分,这就是体系结构要完成的主要任务22十二月2023786.1含义及其类型1.含义:所谓计算机系统的安全体系结构,包括如下几个方面:①详细描述系统中安全相关的所有方面。包括可能提供的安全服务及保护自身安全的所有安全措施。描述语言可以是自然语言也可以用形式语言②在一定的抽象层次上描述各个安全相关模块之间的关系(用逻辑框图)③提出指导设计的基本原理;④提出开发过程的基本框架及对应于该框架体系的层次结构。22十二月2023796.1含义及其类型安全体系结构在整个系统的开发过程中,必须扮演指导者的角色,确立其中心地位,所有开发者在开发前对安全体系结构必须达成共识,并在开发过程中自觉服从于安全体系结构,从而达到在它的指导下协同工作的目的。安全体系结构只能是一个概要设计,而不能是系统功能的描述,不应当限制不影响安全的设计方法。22十二月2023806.1含义及其类型2.分类:美国国防部“目标安全体系DoD”中,把安全体系划分为一下四类:抽象体系:从描述安全需求开始,定义安全功能及其提供的安全服务,确定系统实现安全的指导原则及其基本概念。通用体系:基于抽象体体系的决策,在已有的安全功能和相关安全服务配置的基础上,定义系统分量类型及可用的实现这些安全功能的有关安全机制。22十二月2023816.1含义及其类型逻辑体系:是满足某个假设的需求集合的一个设计,显实了一个把通用体系应用于具体环境时的基本情况。是一个假想体系。是为理解或其它目的提出的,不以实现为意图,无需实施开销分析。特殊体系:要表达系统分量、接口、标准、性能和开销;表明如何把所有被选择的信息安全分量和机制结合起来以满足我们正在考虑的特殊系统的安全需求。是一个实际体系。22十二月2023826.2设计的基本原则与目标在安全体系结构的设计中应该遵守的基本规律:(1)从系统设计之初就考虑安全性(2)应尽量考虑未来可能面临的安全需求,考虑潜在的安全属性,便于以后实施安全增强。系统要实施安全增强包括两方面的问题一是改进系统原有的安全性二是给系统增加新的安全属性。在考虑未来安全要求时应注意:不能把“预设的”安全问题定的太特殊或太具体;要从适当的抽象层次来理解安全问题即从问题在的角度理解安全问题,而不是具体问题;设计计划必须特别关注安全策略的定义。22十二月2023836.2设计的基本原则与目标(3)隔离安全控制,并使其极小化。设计时应注意:①并不是所有的从软件工程的角度看有效的设计原则都能很好地适用于操作系统安全部分的设计。如机制的经济性。②在系统中的安全相关机制应尽量简洁,易于确认,且相对独立,这样有利于实现附加的控制来保护它们;③数据隔离必须适度,不能走极端。22十二月2023846.2设计的基本原则与目标(4)实施特权最小化:无论在系统的什么部分,只要是执行某个操作,执行该操作的进程除能获得执行该操作所需的特权外不能获得其他的特权。从而限制因错误软件或恶意软件造成的危害。22十二月2023856.2设计的基本原则与目标(5)结构化安全相关的功能:系统体系应该可以比较容易地确定与系统安全相关的方面,以便可以很快地对系统的大部分进行检验,这对安全系统非常重要的。一个好的安全体系必须满足:安全控制是隔离、极小化的、对安全相关的功能有一个清晰的且易于规范化的接口。22十二月2023866.2设计的基本原则与目标(6)使安全相关的界面友好:在设计安全机制时,应遵循:安全不应当对服从安全规则的用户造成功能上的影响给予用户访问应该是容易的限制用户访问应该是容易的建立合理的默认规则(7)不要让安全依赖于一些隐藏的东西22十二月2023876.2设计的基本原则设计目标:对安全策略的支持研可以分为四个阶段:支持单一安全策略:为系统指定的是一个由诸如MAC、DAC等子策略构成的一个统一的安全策略。这些子策略紧密地结合一起形成一个单一的系统安全策略支持多级安全策略:侧重于支持策略的多样性,系统具有多安全策略的支持框架,。如GFAC支持安全策略可变通性:在支持策略多样性的基础上支持可变通性如Flask支持安全策略环境适应性:是指多安全策略的支持框架能够根据相应环境的变化而实时切换安全策略。22十二月2023886.2设计的基本原则多级安全目标:1992年,hosmer首次对多级安全策略问题进行了全面的阐述,提到多级安全策略适应于四种情况系统的安全目标通常不唯一的:如既有保密性要求,又有完整性要求系统为多个成员服务,每个成员有各自的安全目标和计划,如在北约组织中既有美国,又有欧盟,还有其它成员国系统由不同的评价部分组成,如既有多级安全数据库又有多级网络访问控制等。系统必须适应变化的环境,如和平时和战争时期采用不同的安全策略22十二月2023896.2设计的基本原则安全策略的可变通性:可变通性的要求包括:系统必须支持对底层客体的细粒度访问,以实施由安全策略控制的高层功能系统必须确保访问权限的传递与安全策略保持一致安全策略通常情况下是不固定的。为处理策略变化或动态策略,系统拥有一种可以撤销已经被授予的访问权限机制目前,业界已经提出一种支持安全策略可变通性的的安全体系结构flask,而且在Linux系统实现了支持flask的通用访问控制框架LSM。6.3GFAC通用访问控制框架GFAC框架是一种用于在单一系统中实现多种安全策略支持的方法。其可以在Unix/Linux内核中集成细粒度的DAC策略,基于BLP的机密性MAC策略以及基于Biba模型的完整性MAC策略,结合原有的基于保护的DAC机制,使得其访问控制能力加强,从而提高了安全性能。GFAC是一种新型的用于构造一个可信计算机系统的架构,它实质是一种规则集模型化方法。GFAC将系统描述成一个的数学状态状态机,其中状态变量表征机器的状态,状态转移函数描述状态变量可能发生的变化,即操作规则。6.3GFAC通用访问控制框架在GFAC方法中,访问控制实施部件(AEF)所对应的是对系统的操作,它截获主体对客体的访问,向访问控制判定部件(ADF)发出访问判定请求,并根据请求结果来控制对客体的访问。6.3GFAC通用访问控制框架主体发出访问请求AEF接收到请求,通知访问控制信息模块查找此次访问控制属性,向访问判断模块发送判断请求,其中传递的参数包括访问模式、主体标识符及想要访问的客体类型等。ADF参照从访问控制信息ACI查到的信息执行判断。向AEF返回判断决定。AEF再根据判断的结果,向发出请求的主体返回允许或拒绝信息。如果允许请求,AEF在完成请求后通知ADF。ADF根据需要,更新ACI中的安全属性在完成更新任务后向AEF发出确认通知。AEF实施访问。2023/12/22936.4Flask体系结构与LSM框架具有策略灵活性的系统必须能够支持多种安全策略。在策略变更后受控操作的交叉间必须存在有效的原子操作。解决这个难点的关键在于:该原子操作是否能够确保先前授予的权限可以根据策略变更的需要而被撤销。撤销机制必须保证所有已经传递的权限能被真正地撤销。当进程中的操作已经接受检查,撤销权限就变得更加复杂,此时,可能使用如下的三种方法:中断进程中的操作,返回一个出错状态;可以重新启动该操作,允许另外的检查来撤销权限;等待操作完成22十二月2023946.4Flask体系结构与LSM框架Flask结构包括一个安全策略服务器来控制访问控制的决议,一个微内核和系统其他客体管理器框架来执行访问控制的决议。虽然原型系统是基于微内核的,但安全机制并不依赖于微内核结构,在没有微内核的情况下也能很容易实现。22十二月2023956.4Flask体系结构与LSM框架Flask体系的设计与实现1.目标:结构的基本目标:提供安全策略的可变通性,确保子系统不管决策如何产生、如何随时变化都有一致的策略判定。其次目标:包括应用透明性、深度防御、保护的易操作性和最小的性能影响。执行安全策略决策的组件提供安全决策的组件22十二月2023966.4Flask体系结构与LSM框架Flask安全结构为客体管理器提供了三个主要要素:①提供从一个安全服务器获得访问、标记和多实例决策的接口。访问决策规定在两个实体间的一个特定的许可权是否被允许;标记决策规定分配给客体的安全属性。多实例决策规定多实例资源集的哪个成员能够被特定的请求访问。②提供一个访问向量缓存AVC模块,允许客体管理器缓存访问决策来以减小性能损耗;③提供客体管理器注册接受安全策略的改变通知能力。22十二月2023976.4Flask体系结构与LSM框架客体管理器负责(1)定义为其客体分配标记的机制。(2)必须定义并实现一种控制策略,来规定安全决策如何用于控制客体管理器所提供的服务的。这种控制策略解除各种威胁,方式是对客体管理器提供的所有服务进行控制,并允许这些控制根据不同的威胁进行配置。(3)定义为响应策略变化而需要调用的处理操作(4)针对多实例化的使用,每个客体管理器必须定义可以用于实现适当资源实例选择的机制。22十二月2023986.4Flask体系结构与LSM框架2.常规支持机制客体标记:由安全策略控制的所有客体都是由策略中的一个安全属性集来标识的。即安全上下文。Flask结构的一个基本问题就是如何维持客体和安全上下文的关联。简单的解决办法是定义一个简单的与策略无关的数据类型作为每个对象相关联的数据的一部分。22十二月2023996.4Flask体系结构与LSM框架在Flask中为标记提供了两种策略无关的数据类型。①安全上下文,是一个长度可变的字符串,能被任何了解安全策略的应用或用户解释。可以由几个属性组成,如用户标识、安全级、角色、类型实施策略中的域等。②安全标记符SID,固定值32位整数,只能被安全服务器解释并由安全服务器映射到一个特定的安全上下文。22十二月20231006.4Flask体系结构与LSM框架一个客户需要从安全管理器创建一个新对象,微内核为对象管理器提供客户的SID。以客户的SID、相关对象的SID和对象类型作为参数,向安全管理服务器请求一个新对象的SID。22十二月20231016.4Flask体系结构与LSM框架2)客户端和服务器鉴别当SID作为安全策略组成部分时,客体管理器必须能鉴别请求客户端的SID。同时使客户能鉴别服务器的SID以利于确保其所请求的服务是发自一个适当的服务器。所以Flask结构需要底层系统为进程间通信(IPC)提供某些形式客户端和服务器的鉴别机制。Flask微内核将提供的鉴别服务直接作为IPC处理的一部分。微内核将客户端的SID和客户端的的请求一起提供给服务器。客户端利用IPC发送一个内核调用来鉴别服务器SID。之后,客户端可以指定一个不同的SID作为有效的SID覆盖它与服务器的鉴别,服务器也可以指定一个有效的SID。有效SID的许可权由安全服务器决定,并由内核执行。22十二月20231026.4Flask体系3)请求和缓存安全决策为减少服务器因决策的计算和传递的通信而造成的性能降低,Flask体系在对象管理器内提供了缓存决策的机制。缓存访问向量AVC模块提供了客体管理器和安全服务器之间的协作支持,它是所有对象管理器共享的一个公共资源库。既处理了来自对象管理器对策略决策的请求,又处理了来自服务器对策略变更的请求。在Flask体系中,控制操作是某个对象管理器必须做出决定主体是否允许访问具有某些许可权的对象,还是一组许可权的对象。22十二月20231036.4Flask体系客户端请求修改对象管理器中一个存在的客体,客体管理器先查询AVC模块以获得三元组(客户端SID,客体SID,请求的许可)对应的访问裁决结果。若其中无有效项,则AVC模块向安全服务器发送一个访问请求,安全服务器根据策略逻辑中的访问规则,产生一个访问裁决结果,并且返回该访问裁决结果给AVC模块。22十二月20231046.4Flask体系4)支持多实例化通过多实例化某资源及按集合划分客户端,使得每个集合中的客户端能共享该资源的相同实例化客体,从而限制固定资源在客户端间的共享。Flask支持多实例化是通过提供一个接口来实现的,安全服务器利用该接口可以区分哪个实例化客体可以被一个特定的客户端访问。客户端和实例化都是由SID唯一确定,这些实例化的客体被称为成员。选择一个成员的过程如下图所示:22十二月20231056.4Flask体系客户端通过客体管理器请求创建一个新客体,而且微内核为客体管理器提供客户端的SID,客体管理器向安全服务器请求这个成员客体的SID,该请求以客户端SID,多实例化客体SID及客体类型为参数,安全服务器依据策略逻辑中的多实例化规则,为该成员客体决定上下文。并返回对应安全上下文的一个SID,最后,客体管理器基于返回的SID选择一个成员,并作为该成员的一个孩子来创建此客体。22十二月20231066.4.4微内核特定属性内存本身在微内核中不是一个对象,但微内核为内存管理及每个内存段绑定SID提供基础。每个内核对象的SID和与之对应的内存段的SID是一致的。在内存标签和该内核相关的内核对象的标签之间的这种关系允许实现Flask微内核对控制器件的控制,它是现存的Fluke的保护模型。Flask通过基于地址空间的SID和内存段的SID,把每个访问模式与Flask许可权结合起来,为内存访问模式的传播提供直接的安全策略控制。当初次访问内存映射时,微内核验证是否安全策略已经明确地授予了对每个被请求的访问模式的许可权。Flask中,内存的许可权并不是在任意接口的层面上都被计算,而只是在出现页错误时才计算。22十二月20231076.4.5撤销支持机制在Flask体系中,最难处理的就是客体管理器要高效地保存一些安全决策的副本。安全策略的改变要求在安全服务器和客体管理器之间进行协调,以确保安全服务器和客体管理器之间对策略表达是一致的。通过在系统上实施两个基本要求,可以获得有效的原子性需求。①在策略变动完成后,客体管理器的行为必须反映该变化;在没有完成后续的策略变更的情况下,要求被撤销许可的一个受控制操作将不再允许被执行。②要求客体管理器必须采用实时的方式完成策略变化。22十二月20231086.4.5撤销支持机制第一个要求仅就客体管理器而言,但是当用一个合理定义的协议把客体管理器和安全服务器联系起来,它将给出系统级策略的有效原子性。该协议分为三个实施步骤:①安全服务器让所有客体管理器注意到任何以前提供的现已改变的策略。②每个客体管理器更新内部状态以反映发生的变化。③每个客体管理器让安全服务器注意到改变的完成。序列号用于指示提供给客体管理器的策略决策的信息与请求改变策略的信息之间的交互。客体管理器的实时性要求协议提供的原子形式是合理的。通用的AVC模块的功能是,处理所有策略变更请求的初始进程且适当地进化缓存22十二月20231096.4.5撤销支持机制FlukeAPI的两个性质简化了微内核的吊销机制:提供了线程状态的及时、完全的输出,且确保所有内核的操作或是原子的或是清楚地被划分为用户可视的原子阶段。第一条性质允许内核吊销机制访问内核的状态,包括当前进程中的操作。第二条性质允许将Flask的许可检查象它控制的服务一样装入同样的原子操作中,这样可以避免在吊销完成之后服务的重启。22十二月20231106.4.6安全服务器在Flask体系中,安全服务器提供安全策略的决策,保持SID和安全上下文之间的映射,为新创建的对象提供SID,提供成员对象的SID,控制对象管理器的访问向量缓存。此外还提供策略的载入和改变的功能。除了客体管理器中的缓存机制外,在安全服务器中设计一个自己的缓存机制很有好处,它用来保存访问计算的结果。安全服务器是一个对所提供的服务的策略强制执行者。首先,如果安全服务器对改变策略提供了接口,它必须对主体能够访问的接口强制执行安全策略。其次,它必须限制能够获取策略信息的主体。22十二月20231116.4.6安全服务器被Flask安全服务器封装的安全策略是通过对它的代码或策略数据库的绑定来定义的。当前Flask安全服务器原型实现了4个安全子策略:多级安全MLS、类型实施、基于标识的访问控制和基于角色的动态访问控制。安全服务器提供的访问决策需要符合每个子策略。22十二月20231126.4.7其他Flask对象管理器1.文件服务器Flask的文件服务器提供4种类型的可控制对象:文件系统、目录、文件和文件描述符。因为文件系统、目录和文件是永久性对象,所以赋予它们的标签也必须是永久性的。Flask文件服务器定义了对每个文件或目录状态进行监测和修改的权限。文件服务器支持重新为文件或目录赋安全标签的操作。①已经转移的文件的权限可能会再被取消;②主体也必须有对路径上每个目录的遍历权限;③重置标签的操作不仅仅通过客户端主体和文件的SID控制,而且也关系到最近被申请的SID。22十二月20231136.3.7其他Flask

温馨提示

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

评论

0/150

提交评论