操作系统与数据库安全:005操作系统的安全体系结构_第1页
操作系统与数据库安全:005操作系统的安全体系结构_第2页
操作系统与数据库安全:005操作系统的安全体系结构_第3页
操作系统与数据库安全:005操作系统的安全体系结构_第4页
操作系统与数据库安全:005操作系统的安全体系结构_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、第5章 操作系统安全体系结构学习内容:了解操作系统安全体系结构的含义及其类型了解系统安全体系结构设计的基本原则掌握Flask安全体系结构本章重点:Flask安全体系结构5.1 含义及其类型含义 所谓计算机系统的安全体系结构,包括:详细描述系统中安全相关的所有方面;在一定的抽象层次上描述各个安全相关模款之间的关系;提出指导设计的基本原理;提出开发过程的基本框架及对应于该框架体系的层次结构。5.1 含义及其类型 安全体系结构在整个系统的开发过程中,扮演指导者的角色,确立其中心地位,所有开发者在开发前对安全体系结构必须达成共识,并在开发过程中自觉服从于安全体系结构。 安全体系结构只能是一个概要设计,

2、而不能是系统功能的描述,不应当限制不影响安全的设计方法。5.1 含义及其类型分类 美国国防部“目标安全体系DoD”中,把安全体系划分为四类: 1)抽象体系 描述安全需求,定义安全功能及其提供的安全服务,确定系统实现安全的指导原则及其基本概念。 5.1 含义及其类型分类2)通用体系在已有的安全功能和相关安全服务配置的基础上,定义系统分量类型几可得到的实现这些安全功能的有关安全机制。3)逻辑体系是满足某个假设的需求集合的一个设计,现实了一个把通用体系应用于具体环境时的基本情况。5.1 含义及其类型4)特殊体系要表达系统分量、接口、标准、性能和开销;表明如何把所有被选择的信息安全分量和机制结合起来以

3、满足我们正在考虑的特殊系统的安全需求。5.2 设计的基本原则 在安全体系结构的设计中应该遵守: 1)从系统设计之初就考虑安全性; 2)应尽量考虑未来可能面临的安全需求; 不能把“预设的”安全问题定的太特殊或太具体; 要从适应的抽象层次来理解安全问题; 设计计划必须特别关注安全策略的定义。5.2 设计的基本原则3)隔离安全控制,并使其极小化。并不是所有的从软件工程的角度看是有效的设计原则都能很好地适用于操作系统安全部分的设计。在系统中的安全相关机制应尽量简洁,易于确认,且相对独立,这样有利于实现附加的控制来保护它们;5.2 设计的基本原则4)实施特权最小化 执行操作的进程除能获得执行该操作所需的

4、特权外不能获得其他的特权。包括: 硬件特权,与硬件相关的最小特权; 软件特权,于软件相关的最小特权; 实施方法:要求系统在构造时必须按照一定的技术进行,比如分层体系等。5.2 设计的基本原则4)实施特权最小化 最小特权总是包含用户的行为及系统管理者的行为; 结构化安全相关功能; 使安全相关的界面友好; 不要让安全依赖于一些隐藏的东西。5.3 Flask体系背景介绍 为了解决策略的变化和动态的策略,系统必须有一种机制来撤销以前授予的访问权限。Flask体系结构使策略的灵活性的实现成为可能。 Flask结构包括一个安全策略服务器来控制访问控制的决议,一个微内核和系统其他客体管理器框架来执行访问控制

5、的决议。5.3 Flask体系背景介绍Flask结构支持策略的广泛多样性。Flask的安全结构来源于DTOS系统原型。Flask的安全模式与访问控制常规框架GFAC是一致的。Flask原型由一个基于微内核的操作系统实现,支持硬件强行对进程地址空间的分离。5.3 Flask体系策略灵活性分析 1)通常通过安全策略的列表定义灵活性,实现简单,但是很难将现实中的安全策略清晰的反映到列表中。 2)把计算机系统抽象为一个状态机,通过执行原子操作来从一个状态迁移到下一个状态,可以增强定义安全策略灵活性。5.3 Flask体系策略灵活性分析 3)更加理想的方法,定义一部分的与安全相关的系统状态,对这些状态进

6、行控制的状态以及被该部分状态所影响的操作。 5.3 Flask体系具有策略灵活性的系统必须能够支持多种安全策略。在策略变更和受控操作的交叉间必须存在有效的原子操作。关键在于:该原子操作是否能够确保先前授予的权限可以根据策略变更的需要而被撤销。撤销机制必须保证所有已传递的权限能被真正地撤销.5.3 Flask体系当进程中的操作已经接受检查,撤销权限就变得更加复杂,此时可用如下方法: 中断进程中的操作,返回一个出错状态; 可以重新启动该操作,允许另外的检查来撤销权限; 等待操作完成。5.3 Flask体系Flask体系的设计与实现 Flask原型来源于Fluke微内核操作系统。 结构的基本目标:提

7、供安全策略的可变通性,确保子系统不管判定怎样产生、变化都有一致的策略判定。 第二目标:包括应用透明性、深度防御、保护的易操作性和最小的性能影响。Flask设计与实现Flask设计与实现 Flask为对象管理器提供了三个主要要素: 提供从一个安全服务器重新访问、标记和实例判定接口; 提供一个访问向量缓存AVC模块,允许兑现管理器缓存访问判定,以减小性能损耗; 提供对象管理器注册接受安全策略的改变通知能力。Flask设计与实现 对象管理器负责定义机制其对象分配标记。每个对象管理器必须定义并实现一个控制策略,规定安全判定怎样控制对象管理器提供的服务。Flask设计与实现常规支持机制 1)对象标记 所

8、有安全策略控制的对象同时也被安全策略所携带的安全属性标记,即安全上下文。 一个客户需要从安全管理器创建一个新对象,微内核为对象管理提供客户的SID。以客户的SID、相关对象的SID和对象类型作为参数,向安全管理服务器请求一个新对象的SID。 Flask设计与实现Flask设计与实现2)客户和服务器鉴别 当SID是安全策略的一部分时,对象管理器必须能鉴别发出请求的客户的SID,同时使客户能鉴别服务器的SID。 所以Flask结构需要底层系统为进程间通信IPC提供客户服务器的鉴别格式。Flask设计与实现2)客户和服务器鉴别 Flask微内核提供的鉴别服务直接作为IPC处理的一部分。微内核和客户的

9、请求一起提供客户到服务器的SID。客户端利用IPC发送一个内核调用鉴别服务器SID。Flask设计与实现3)请求和缓存安全决策 为减少服务器因决策的计算和传递的通信而造成的性能降低,Flask体系在对象管理器内提供了缓存决策的机制。 缓存访问向量AVC模块提供了对象管理器和安全服务器之间的协调策略,它是由对象管理器共享的一个公共资源库。Flask设计与实现客户请求对来自对象管理器的存在对象进行修改,为访问控制规则,对象管理器请求其AVC模块。Flask设计与实现4)支持多实例化 通过多实例化某资源及按群划分终端实体,使得每个群中的实体能共享该资源的相同实例,从而限制固定资源在终端实体间的共享。

10、 Flask支持多实例化是通过提供一个接口来实现的,安全服务器利用该接口可以区分哪个实例可以被一个特殊的终端实体访问。Flask设计与实现Flask设计与实现 客户请求创建来自对象管理器的新对象,而且微内核为对象管理器提供客户SID,对象管理器发送获得的成员对象SID的请求给安全服务器,安全服务器返回客户的SID,多实例化对象的SID及对象的型为参数。安全服务器咨询在策略逻辑中的多实例化规则,为成员决定上下文。最后,对象管理器选择基于返回的SID的一个成员,并创建一个对象作为该成员的子对象。特殊微内核特征 内存本身在微内核中不是一个对象,但微内核为内存管理及每个内存段绑定SID提供基础。 每个

11、内核对象的SID和与之对应的内存段的SID是一致的。在内存标签和该内核相关的内核对象的标签之间的这种关系是Fluke的保护模型。 特殊微内核特征 Flask通过基于地址空间的SID和内存段的SID,把每个访问模式与Flask许可权结合起来,为内存访问模式的传播提供直接的安全策略控制。 当初次访问内存映射时,微内核验证是否安全策略已经明确地授予了对每个被请求的访问模式的许可权。支持吊销机制 在Flask体系中,最难处理的就是对象管理器要高效地保存一些安全决策的副本。 安全策略的改变要求在安全服务器和对象管理器之间进行协调,以确保安全服务器和对象管理器之间对策略表达是一致的。 支持吊销机制 通过在

12、系统上实施两个基本要求,可以获得有效的原子性需求。 在策略变动完成后,对象管理器的行为必须反映该变化; 要求对象管理器必须采用实时的方式完成策略变化。支持吊销机制实施方案: 安全服务器让所有对象管理器注意到已改变策略的任何部分。 每个对象管理器更新内部状态以反映发生的变化。 每个对象管理器让安全服务器注意到改变的完成。安全服务器 在Flask体系中,安全服务器提供安全策略的决策,保持SID和安全上下文之间的映射,为新创建的对象提供SID,提供成员对象的SID,控制对象管理器的访问向量缓存。此外还提供策略的载入和改变的功能。 除了对象管理器中的缓存机制外,在安全服务器中设计一个自己的缓存机制很有

13、好处,它用来保存访问计算的结果。安全服务器 安全服务器是一个对所提供的服务的策略强制执行者。 首先,如果安全服务器对改变策略提供了接口,它必须对主体能够访问的接口强制执行安全策略。 其次,它必须限制能够获取策略信息的主体。安全服务器 被Flask安全服务器封装的安全策略是通过对它的代码或策略数据库的绑定来定义的。 当前Flask安全服务器原型实现了4个安全子策略:多级安全、类型实施、基于标识的访问控制和基于角色的动态访问控制。 安全服务器提供的访问决策需要符合每个子策略。LSM访问控制框架 为了在主流操作系统内核中提供一个通用访问控制框架,2001年,Linus Torvalds发起LSM项目。LSM具备三个特征:真正通用;概念上简单,最小的扩散,有效;能够将现有的权能逻辑作为一个可选安全模块实现。LSM的访问控制如图所示。LSM访问控制框架 每当系统通过DAC检查而试图对一个内部对象进行访问时,LSM借助插入到核心代码中的“hook函数”来仲裁对该对象的访问。 安全模块根据安全策略来判断访问还是可以通过还是拒绝并强制返回一个错误码。 LSM利用hook,将安全决策的重任转交给实施特定安全模型的具体安全模块来完成。Flask和LSM的结合 通过将F

温馨提示

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

评论

0/150

提交评论