《操作系统安全体系结构.ppt》由会员分享,可在线阅读,更多相关《操作系统安全体系结构.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 操作系统安全体系结构4.1 概述安全问题的暴露解决问题的方法:1、在现有系统上打补丁来排除;2、无法在原有系统上进行补救,只有重新改造系统,甚至重新设计系统造成的原因:1、由于旧系统增加了新的应用(无法预测)2、系统设计时考虑不充分(缺乏有效的系统安全体系结构所致)安全体系结构的含义及内容使系统在实现时对各项要求,如安全性要求、性能要求、可扩展要求、容量要求、成本要求等折中考虑,是体系结构的主要任务安全体系结构 1.详细描述系统中安全相关的所有方面 2.在一定的抽象层次上描述各个安全相关模块之间的关系 3.提出指导设计的基本原理 4.提出开发过程的基本框架及对应于该框架体系的层次结构。
2、安全体系按层次结构进行描述,包括两个阶段:概念化阶段、功能化阶段安全体系的描述系统开发的概念化阶段:安全概念的最高抽象层系统开发的概念化阶段:安全概念的最高抽象层次的处理,如系统安全策略等次的处理,如系统安全策略等系统开发的功能化阶段:系统体系确定时,进一系统开发的功能化阶段:系统体系确定时,进一步细化安全体系以反映系统的结构步细化安全体系以反映系统的结构安全体系结构只能是一个概要描述安全体系结构只能是一个概要描述,而不能是系统而不能是系统功能的描述功能的描述安全体系结构不应该限制不影响安全的设计方法安全体系结构不应该限制不影响安全的设计方法开发安全操作系统时应参考开发安全操作系统时应参考”可
3、信计算机系统评可信计算机系统评估准则估准则”(TCSEC)”(TCSEC)及及”信息技术安全性通用评估准信息技术安全性通用评估准则则”(CC)”(CC)DGSA的安全体系抽象体系抽象体系:描述安全需求描述安全需求,定义安全功能及它们提供定义安全功能及它们提供的安全服务的安全服务,确定指导原则和基本概念确定指导原则和基本概念通用体系通用体系:定义系统的通用类型及使用标准定义系统的通用类型及使用标准,规定系规定系统的指导原则,在已有的安全功能和安全服务配制统的指导原则,在已有的安全功能和安全服务配制上,定义系统分量类型及相关安全机制。并应说明上,定义系统分量类型及相关安全机制。并应说明不兼容导致的
4、安全强度的退化。不兼容导致的安全强度的退化。逻辑体系逻辑体系:是满足某个假设的需求集合的一个设计,是满足某个假设的需求集合的一个设计,显示把通用体系应用于具体环境时的基本情况显示把通用体系应用于具体环境时的基本情况,是假是假想体系,不是实际体系想体系,不是实际体系特殊体系特殊体系:表明如何把所有被选择的信息安全分量和表明如何把所有被选择的信息安全分量和机制结合起来,针对一个特殊系统的安全需求,描机制结合起来,针对一个特殊系统的安全需求,描述接口、分量、标准、性能、开销及如何结合述接口、分量、标准、性能、开销及如何结合安全体系结构设计的基本原则从系统设计之初就考虑安全性从系统设计之初就考虑安全性
5、 在设计系统体系结构的同时就考虑安全体系结构在设计系统体系结构的同时就考虑安全体系结构应尽量考虑未来可能面临的安全需求应尽量考虑未来可能面临的安全需求 使未来系统实施安全增强时,开销小。但应注意:使未来系统实施安全增强时,开销小。但应注意:1.“1.“预想的预想的”安全问题不能太具体。安全问题不能太具体。2.2.从问题类的角度理解安全问题,不是针对具体问题。从问题类的角度理解安全问题,不是针对具体问题。3.3.特别关注安全策略的定义特别关注安全策略的定义机制经济性原则机制经济性原则 应极小化系统内部与安全相关部分的复杂性及规模,安全应极小化系统内部与安全相关部分的复杂性及规模,安全系统必须限制
6、规模。但应注意系统必须限制规模。但应注意:1.1.安全机制尽量简洁。安全机制尽量简洁。2.2.数据隔离应适当数据隔离应适当失败失败-保险默认原则保险默认原则 访问判定应建立在显式授权而不是隐式授权的基础上访问判定应建立在显式授权而不是隐式授权的基础上特权分离原则特权分离原则 高度的分离可以带来安全性的提高高度的分离可以带来安全性的提高,但也导致效率下降但也导致效率下降最小特权原则最小特权原则 硬件特权极小化与软件特权极小化硬件特权极小化与软件特权极小化最少公共机制原则最少公共机制原则把由两个以上用户共用和被所有用户依赖的机制数量减到最小把由两个以上用户共用和被所有用户依赖的机制数量减到最小完全
7、仲裁原则完全仲裁原则 只有得到授权的客体才被允许访问只有得到授权的客体才被允许访问开放式设计原则开放式设计原则 在公开环境中增强安全机制的防御能力在公开环境中增强安全机制的防御能力心理可接受性原则心理可接受性原则 用户界面设计得要易于使用和充分友好用户界面设计得要易于使用和充分友好4.2 Flask体系结构InternetInternet的异质互连特征要求系统支持安全策略的异质互连特征要求系统支持安全策略的可变通性的可变通性可变通性要求系统支持底层客体的细粒度访问控可变通性要求系统支持底层客体的细粒度访问控制;确保权限增长与动态安全策略的一致性;提制;确保权限增长与动态安全策略的一致性;提供能
8、撤消以前授予的访问权限的机制供能撤消以前授予的访问权限的机制FlaskFlask系统来源于以前的系统来源于以前的DTOSDTOS系统原型系统原型,支持动支持动态安全策略态安全策略,使策略可变通性的实现成为可能使策略可变通性的实现成为可能FlaskFlask结构将机制与策略相分离,由一个安全策略结构将机制与策略相分离,由一个安全策略服务器和一个微内核及客体服务器框架组成,前服务器和一个微内核及客体服务器框架组成,前者制定访问控制策略,后者执行访问控制策略,者制定访问控制策略,后者执行访问控制策略,该结构基于微内核但不依赖微内核该结构基于微内核但不依赖微内核策略可变通性基本思想:将系统抽象成状态机
9、,执行原子操作基本思想:将系统抽象成状态机,执行原子操作完成一个状态到另一个状态的转换,安全策略被完成一个状态到另一个状态的转换,安全策略被原子的插入到系统的操作执行中,一个系统提供原子的插入到系统的操作执行中,一个系统提供整个系统安全策略可变通性。该模型中,若当前整个系统安全策略可变通性。该模型中,若当前状态包括系统历史,则安全策略用全部当前状态状态包括系统历史,则安全策略用全部当前状态作决定,判断操作的执行与否作决定,判断操作的执行与否受限思想(实现):受限思想(实现):当前状态区分为与安全相关当前状态区分为与安全相关及不相干部分,系统的可变通性只与相关状态完及不相干部分,系统的可变通性只
10、与相关状态完整性及它们的控制操作有关。这种思想允许存在整性及它们的控制操作有关。这种思想允许存在一些安全控制外的操作及一些系统状态。一些安全控制外的操作及一些系统状态。支持策略可变通性机制要求:支持策略可变通性机制要求:1.1.能撤回以前授予的权限。能撤回以前授予的权限。2.2.作访问决策所需的输入类型作访问决策所需的输入类型 3.3.影响决策的外部因素(如历史)。影响决策的外部因素(如历史)。4.4.访问决策的可传递性支持访问决策的可传递性支持策略改变:系统要保证策略改变与控制操作的交策略改变:系统要保证策略改变与控制操作的交叉使用时必须保持原子性。叉使用时必须保持原子性。策略撤消:系统要保
11、证已在系统中移动的授权真策略撤消:系统要保证已在系统中移动的授权真正收回正收回当一个正运行的操作已检查过许可权,撤消机制当一个正运行的操作已检查过许可权,撤消机制常用三种方法,终止、重启、不管常用三种方法,终止、重启、不管特殊微内核特征特殊微内核特征FlaskFlask采用类似采用类似FlukeFluke方法处理内核。方法处理内核。FlukeFluke中将每个活动对应的内核对象与一块物理内中将每个活动对应的内核对象与一块物理内存对应,每个内核对象的存对应,每个内核对象的SIDSID与内存段的与内存段的SIDSID是一是一致的。微内核提供了内存管理及致的。微内核提供了内存管理及SIDSID之间的
12、绑定。之间的绑定。思想:思想:FlaskFlask微内核利用内存标签与内核对象标签微内核利用内存标签与内核对象标签之间的关系进行控制。即通过地址空间的之间的关系进行控制。即通过地址空间的SIDSID与内与内存段的存段的SIDSID实现安全控制。内存段是客体,内核对实现安全控制。内存段是客体,内核对象地址空间是主体。客体相对于主体具有权能作象地址空间是主体。客体相对于主体具有权能作用用权能的概念权能是客体在系统范围内使用的名字,在系统中是唯一的权能必须包含以该权能命名的客体的访问权,决定了对该客体进行访问所必需的权力权能只能由系统特殊的底层部分来创建,且除约束访问权外,权能不允许修改权能的优点:
13、1.1.权能为访问客体和保护客体提供了统一的权能为访问客体和保护客体提供了统一的,不不可绕过的方法可绕过的方法 2.2.权能与层次设计方法是协调的权能与层次设计方法是协调的,具有传递能力具有传递能力权能的组成用于标识客体的标识符用于标识客体的标识符定义客体类型的域定义客体类型的域定义访问权的域定义访问权的域客体创建时,权能也随之创建客体创建时,权能也随之创建客体的创建主体可拷贝该客体的权能给其他主体客体的创建主体可拷贝该客体的权能给其他主体当权能被传递给另一个主体时,权能的访问权可当权能被传递给另一个主体时,权能的访问权可以被限制以被限制传递给另一个主体的权能访问权不能大于对该权传递给另一个主
14、体的权能访问权不能大于对该权能拷贝所获得的访问权能拷贝所获得的访问权Flask体系结构的组成Flask体系结构结构的基本目标是提供安全策略的可变通性,确结构的基本目标是提供安全策略的可变通性,确保不管决策如何随时间变化,都提供一致的策略。保不管决策如何随时间变化,都提供一致的策略。为客体管理器提供为客体管理器提供3 3个要素。个要素。1.1.提供了一个从安全服务器重新访问、标记、多提供了一个从安全服务器重新访问、标记、多实例决策的接口。实例决策的接口。2.2.提供一个访问向量缓存(提供一个访问向量缓存(AVCAVC)模块,减少性能)模块,减少性能损耗。损耗。3.3.提供客体管理器注册、接受安全
15、策略的改变的提供客体管理器注册、接受安全策略的改变的能力。能力。Flask的支持机制客体标记 每个客体由安全策略所带的安全属性标记,称安全上下每个客体由安全策略所带的安全属性标记,称安全上下文。文。FlaskFlask采用采用ERER方法,客体实体(方法,客体实体(SIDSID)、上下文实体、)、上下文实体、客户实体(客户实体(SIDSID),及客体、上下文联系,客体、用户联),及客体、上下文联系,客体、用户联系。系。SID SID称为安全标识符,称为安全标识符,FlaskFlask中它是固定的值,只能由中它是固定的值,只能由安全服务器解释并影射到上下文安全服务器解释并影射到上下文 客户(主体
16、)创建新客体时,由微内核提供的客户客户(主体)创建新客体时,由微内核提供的客户SIDSID、客体类型、相关客体客体类型、相关客体SIDSID为参数,由客体服务器向安全服为参数,由客体服务器向安全服务器请求一个务器请求一个SIDSID,客体服务器将新客体与该,客体服务器将新客体与该SIDSID绑定。绑定。用用ERER方法看,客体由方法看,客体由SIDSID标记,两者联系由客体管理标记,两者联系由客体管理器管理。器管理。SIDSID与上下文联系由安全服务器管理。与上下文联系由安全服务器管理。SIDSID的分配的分配由安全服务器依客户请求参数及环境动态决定由安全服务器依客户请求参数及环境动态决定客体
17、标记结构图客户和服务器鉴别 当客户发出请求SID时,客体管理器必须能鉴别这个SID.客户也能鉴别一个服务器SID以确保服务是从适当的服务器上发出的.Flask由微内核提供这个服务,并将其直接作为IPC(进程通信)的一部分.客户可以发一个内核调用来鉴别服务器SID,客户请求由微内核提供到服务器.请求和缓存安全决策 AVCAVC(缓存访问向量)是为缓解服务器的工作(缓存访问向量)是为缓解服务器的工作压力设置的,是可由对象管理器共享的一个公共压力设置的,是可由对象管理器共享的一个公共资源库,是对象管理器与安全服务器之间的协调资源库,是对象管理器与安全服务器之间的协调支持多实例化 安全策略应支持多实例
18、化某资源并按群划分终安全策略应支持多实例化某资源并按群划分终端,使群中的每个实体可共享该资源的相同实例端,使群中的每个实体可共享该资源的相同实例化(成员)化(成员)FlaskFlask体系中多实例化的机制体系中多实例化的机制支持吊销机制问题问题:在对象管理器中要保留一些安全策略的局部在对象管理器中要保留一些安全策略的局部拷贝(如拷贝(如AVCAVC中),当决策转移后,系统如何保证中),当决策转移后,系统如何保证在策略改变时安全服务器与对象服务器之间策略在策略改变时安全服务器与对象服务器之间策略表达的一致性。表达的一致性。思想:保持策略与操作的交叉使用满足有效原子思想:保持策略与操作的交叉使用满
19、足有效原子性。性。实施原则:在系统上强制实施两个要求。实施原则:在系统上强制实施两个要求。1 1)策略)策略变动后,对象管理器的行为必须反映这个变化。变动后,对象管理器的行为必须反映这个变化。2 2)对象管理器必须采用事实实时的方式完成策略)对象管理器必须采用事实实时的方式完成策略变化。变化。第一个要求可通过用一个协议把对象管理器与安全服第一个要求可通过用一个协议把对象管理器与安全服务器联系起来。首先,安全服务器通知所有对象管理务器联系起来。首先,安全服务器通知所有对象管理器策略改变;其次,对象管理器更新内部状态反映该器策略改变;其次,对象管理器更新内部状态反映该变化;最后,对象管理器通知安全
20、服务器改变已完成。变化;最后,对象管理器通知安全服务器改变已完成。该协议让安全服务器只管策略更改,将状态管理的负该协议让安全服务器只管策略更改,将状态管理的负担交给对象管理器。担交给对象管理器。第二个实时性要求涉及系统的另两个组件:微内核,第二个实时性要求涉及系统的另两个组件:微内核,保证对象管理器与安全服务器的实时通信;调度程序,保证对象管理器与安全服务器的实时通信;调度程序,给对象管理器提供给对象管理器提供CPUCPU资源。资源。实时性使吊销请求的任意延迟是不可能的,避免隐蔽实时性使吊销请求的任意延迟是不可能的,避免隐蔽通道通道Flask中实现方案:通过AVC模块处理策略变更,并适当进化缓
21、存。如下图所示安全服务器功能:功能:安全服务器需提供安全策略支持,安全服务器需提供安全策略支持,SIDSID与与上下文的影射,提供新客体的上下文的影射,提供新客体的SIDSID,提供成员,提供成员SIDSID,控制客体管理器的向量缓存。,控制客体管理器的向量缓存。FlaskFlask实现:安全服务器代码与一个策略数据库的实现:安全服务器代码与一个策略数据库的绑定。已实现了与绑定。已实现了与4 4个子策略的绑定:多级安全、个子策略的绑定:多级安全、类型实施、基于标识的访问控制和基于角色的动类型实施、基于标识的访问控制和基于角色的动态访问控制态访问控制对象管理器文件服务器文件服务器 Flask Flask 文件服务器提供文件服务器提供4 4种类型客体:文件系种类型客体:文件系统、目录、文件、文件描述符。具有永久性标签。统、目录、文件、文件描述符。具有永久性标签。标签化方法如图所示。标签化方法如图所示。网络服务器网络服务器 保证每个网络上的保证每个网络上的IPCIPC都经过安全策略的认证。都经过安全策略的认证。进程管理器进程管理器 提供一个可控对象(提供一个可控对象(POSIXPOSIX)进程,并绑定一)进程,并绑定一个个SIDSID。
限制150内