操作系统安全(第三部分实践篇)_第1页
操作系统安全(第三部分实践篇)_第2页
操作系统安全(第三部分实践篇)_第3页
操作系统安全(第三部分实践篇)_第4页
操作系统安全(第三部分实践篇)_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

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

文档简介

1、第三部分 实践篇天津理工大学信息安全2022-6-262第8章 安全操作系统设计w 设计原则w 一般开发过程w 开发方法w 安胜操作系统简介2022-6-2638.1 安全操作系统设计原则w 8条设计原则n最小特权原则:最小特权原则:每个用户和程序必须安全需求原则,尽可能使用最小的特权;n机制的经济性机制的经济性:系统的设计必须小型化、简单、明确;n开放系统设计开放系统设计:保护机制应该公开、安全性不依赖于保密;n完整的存取控制机制:完整的存取控制机制:对每个存取访问系统必须进行检查;n基于允许的基于允许的“设计设计”原则原则:应当标识什么资源可存取、而不标识什么资源不可存取;即要基于否定背景

2、的;n权限分离:权限分离:在理想情况下对实体的存取应该受到多个安全条件的约束;n避免信息流的潜在通道:避免信息流的潜在通道:系统应采用物理或逻辑分离的方法;n方便方便使用:使用:2022-6-2648.1安全操作系统设计原则w 安全操作系统一般结构n安全内核:控制整个操作系统的安全操作n可信应用软件:系统管理员和操作员进行安全管理所需的应用程序,以及运行具有特权操作的、保障系统正常工作所需的应用程序n安全内核和可信应用软件组成可信计算基的一部分用户软件可信应用软件安全内核硬件2022-6-265安全操作系统设计原则w 可信计算基的组成n操作系统的安全内核n具有特权的程序和命令n处理敏感信息的程

3、序,如系统管理命令n与TCB实施安全策略有关的文件n其他有关的固件、硬件和设备n负责系统管理的人员n保障固件和硬件正确的程序和诊断软件w 高安全级别的操作系统VS安全级别的操作系统nKSOS、UCLA Secure UNIXnLINVS IV、Secure Xenix、TMach、Secure TUNIS等2022-6-2668.2 安全操作系统的一般开发过程w 操作系统的开发过程一般包含:w 需求分析w 功能描述w 系统实现2022-6-2678.2 一般开发过程w 阶段一n系统需求分析:描述各种不同需求n抽象、归纳出安全策略n建立安全模型及安全模型与系统的对应性说明;w 阶段二n安全机制设

4、计与实现n安全功能测试;n重复该两部分工作;w 阶段三:安全操作系统可信度认证2022-6-2688. 2 一般开发过程w 从两个方面进行n安全功能n安全保证w 十项安全功能:n标识与鉴别、自主访问控制、标记、强制访问控制、客体重用、审计、数据完整性、可信路径、隐通道分析、可信恢复w 三个方面的安全保证nTCB自身安全保护:TSF保护、资源利用、TCB访问nTCB设计和实现:配置管理、分发和操作、开发指导性文档、生命周期支持、测试、脆弱性评定nTCB安全管理2022-6-2698.3安全操作系统的常用开发方法w 虚拟机法l在现有操作系统和硬件之间增加一层新的软件作为内核,操作系统作为虚拟机来运

5、行l要求原系统的硬件和结构都能支持虚拟机,因此,局限性很大应用程序ISOS安全内核硬件应用程序安全内核硬件应用程序ISOS仿真器安全内核硬件2022-6-26108.3安全操作系统的常用开发方法w 改进/增强法n在现有操作系统基础上对内核和应用程序进行面向安全策略的分析,再加入安全机制n优点:代价小;用户接口不变;效率变化不大n很难达到B2级以上的安全级别w 仿真法n对现有操作系统的内核进行面向安全策略的分析和修改以形成安全内核,然后在安全内核与原ISOS用户接口界面中间再编写一层仿真程序n不足:l要同时设计仿真程序和安全内核,受顶层ISOS接口限制l有些ISOS接口功能不安全,不能仿真l有些

6、ISOS仿真实现特别困难改进/增强法举例Shell层实用程序层系统调用层核心程序层Shell程序一般应用程序硬件接口程序可信程序修改扩充来的与安全无关的与安全有关的(加入小部分安全检查)新增加的核心程序与安全无关的与安全有关的(加入大部分安全检查)新增加的(与安全检查机制有关)新增加的用户层安全内核层硬件层安全性改进/增加设计方法举例w 对UNIX实用程序进行面向安全策略的分析后,将它们分成可信程序和一般应用程序。可信程序主要包括注册程序、用户管理程序、特权用户程序等,它们一部分是对原有程序进行安全性扩充来的,另一部分是新编写开发的。它们与核心的安全机制有关。w 面向安全策略逐个分析UNIX系

7、统调用的安全性。对所有涉及安全事件的系统调用进一步给出相应的安全检查策略,然后加入相应的安全检查机制。新增加一些系统调用 ,它们包括对审计机制相应的操作、主体安全级的设置和读取、客体安全级的设置和读取以及特权操作等。w 将核心程序分解为与安全相关的和与安全无关的两部分。与安全相关部分指涉及安全事件的系统调用与执行实体。可把在系统调用层不易实现 少部分安全检查放在这些核心的程序中完成 。另外新增加一部分核心程序,作为安全检查的执行体和新增加系统调用的执行体。8.4安全操作设计和实现案例w 安全目标安全目标w 第一阶段:安胜OSv3.0(1)为系统中的主体客体标识安全级别,实现MAC;(2)采用A

8、CL技术,将DAC粒度细化到单个用户/组;(3)建立高效的审计机制(4)建立一套全面规范的文档。最小特权管理+可信通路w 第二阶段:安胜OSv4.0(1)建立一个明确定义的形式化安全策略模型(2)对所有主体客体实施MAC(3)实施强制完整性策略(4)实现标识/鉴别与强身份认证,(5)客体重用控制(6)实现隐蔽存储通道分析(7)建立完备的审计机制(8)建立完整的可信通路(9)最小特权管理(10)可靠的密码服务(11)建立一套全面规范的文档8.4安全操作设计和实现案例总体结构总体结构8.4安全操作设计和实现案例w (1)标识与鉴别:检查用户登录名和口令,赋予用户唯一的标识uid,gid,检查用户的

9、安全级和角色,域标识以及计算特权集,赋予用户进程安全级和特权集标识。w (2)自主访问控制:每个文件、目录、IPC客体对应一个ACL,使安胜OS的的9位保护和ACL保护表示共存于系统中,达到 了单用户DAC。w (3)强制机密性访问控制:为每个进程、文件、设备、IPC都赋予了相应的安全级。依据MAC,比较进程的安全级和文件的安全级,从而确定是否通过进程对文件的访问。另外通过安全级设置将系统的信息划分为三个区:系统管理区、用户空间区和病毒保护区8.4安全操作设计和实现案例该图可视为一组系统安全标签与用户安全标签, 它们通过模型的控制机制分隔. 其中, “箭头”表示安全级支配关系. 对于系统管理区

10、对于系统管理区, 用户没有读写任何数据的权限, 如TCB数据、审计数据等. 在用户空间区在用户空间区, 一般用户具有读与写的权限. 对对于病毒保护区中的数据与文件于病毒保护区中的数据与文件, 用户进程具有读权限, 但没有写权限. 这种访问隔离机制将进入系统的用户分为两类: 不具有特权的普通用户与系统管理用户. 前者在用户工作区中登录, 如USER_LOGIN, USER_PUBLIC等: 后者则在系统管理区中登录, 如SYS_AUDIT, SYS_OPERATOR1, SYS_OPERATOR2, SYS_PRIVATE等. 8.4安全操作设计和实现案例w (4)强制完整性访问控制:使系统中的

11、域和每一个正在运行的进程相关联,型和每一个对象相关联。如果一个域不能以某种访问模式访问某个型 ,则这个域 进程不能以该种访问模式去访问该型的对象。当一个进程试图去访问一个文件时,系统内核在做标准的许可检查之前,先做相关完整性许可检查。w (5)最小特权管理:安胜3.0,将linux超级用户 特权划分为细粒度的特权(32),分别授给不同的系统操作员/管理员,使其只具有完成其任务所需要的特权。定义了四个角色:系统安全管理员,审计员、安全操作员、网络管理员;安胜4.0,将linux超级用户 特权划分为更细粒度的特权(57),分别授予不淸中的管理员角色、域、和程序文件,使各种管理员角以用户创建或调用的

12、进程只具有完成其任务所必需的特权。8.4安全操作设计和实现案例w (6)隐蔽通道处理:通过“回溯搜索方法”对系统顶层描述规范和源代码进行全面分析,标识出18条隐蔽存储通道,并构造了每条通道的使用场景,工程估算和实测出每条隐蔽通道的最大可达带宽,采用修改系统调用返回值、加入随机化噪声、加入延迟和审计等措施分析处理每个已标识的隐蔽通道w (7)密码服务:实现对文件和目录的加密,并提供标准 API接口供用户使用。实现 基于IC卡的强身份验证,实现 加密文件机制,可以对指定文件系统实施透明的加解密操作。8.4安全操作设计和实现案例w (8)安全审计:审计事件有86种,主要包括:登录情况将客体引用、删除

13、用户对指定客体的访问;特权操作。w (9)可信通路:提供了可信通路机制安全注意键(SAK)一旦可信通路机制识别出SAK,便 立即杀死与该终端相关的进程,并对终端启动一个真实的登录序列。w (10)客体重用:实现对存储单元地址的保护,非法用户不能访问那些受到保护的存储单元。采用逻辑隔离方法,实现用户空间和系统空间的保护。实现用户进程和系统进程的隔离,隔离了在同一环内运行的各个进程8.4 安全操作设计和实现案例(11)网络安全:网络连接的程序可根据网络会话安全属性来决定其行为:n当客户端与服务器连接时,客户端的安全级要在服务器允许连接的安全级范围之内。会话连接后,创建的服务器子进程安全级等于客户端

14、的安全级或该客户端默认安全级n当客户端与服务器连接时,客户端的安全级要在所用物理设备允许连接的安全级范围之内。如果客户端网络连接请求的安全级超出了该网络接口设备的安全级,连接将被拒绝。n当客户端与服务器连接时,要由该服务器访问控制矩阵相应项的允许n当客户端在IP包中设置了安全级,而服务器运行 一个公开的系统 ,刚忽略传来IP包中的安全级。8.4 安全操作设计和实现案例w 8.4.3安全内核的开发安全内核的开发1.安全内核的开发方法:改进增强发,即以系统调用为基元,引入TCB机制,分别在系统调用中实施MAC和DAC机制,新开发审计机制、最小特权管理机制、可信通路机制、并进行隐蔽通道处理等。另外,

15、新增一部分实现安全机制本身的系统调用。8.4 安全操作设计和实现案例w 8.4.3安全内核的开发安全内核的开发2.开发过程:(1)建立安全体系结构和安全模型:提出新型的支持多策略的由策略等价、策略冲突和策略协作组成的形式化安全体系结构。该架构基于元策略,可以实现分量安全模型的有机整合。(2)安全机制的设计与实现(3)安全操作系统的可信度认证:形式化验证、非形式化确认、和入侵分析8.4 安全操作设计和实现案例w 8.4.3安全内核的开发安全内核的开发3.安全体系结构n安全内核总体上由策略引擎和策略实施两部分组成,策略引擎封装在安全服务器中,策略实施由对象管理器具体负责。n对象管理器包括安全文件管

16、理器、安全网络管理器、安全进程管理器审计管理器等。各个对象管理器管理功能不同的hook调用,这些hook调用 截获客户端发起的对核心客体的访问控制请求,并将它们转交给安全服务器。n系统中的hook函数大体分为两种,即请求与判定两种情况 :l安全信息管理:如确定一个新创建的主体或客体采用什么安全标签l确定主体是否能对客体进行某项操作。8.4 安全操作设计和实现案例w 8.4.3安全安全内核内核的开发的开发3.安全体系结构n安全服务器是安全内核子系统,实现地安全策略 封装并提供调用接口。实现安胜OS V4需要的多级安全及机密性策略和最小特权管理策略。每个hook函数在安全服务器中具体实现,通过封装

17、的安全策略规则进行判断或计算,然后针判定的结果返回给对象管理器。n客体管理器中的AVC提供了从安全服务器得到的存取判断结果的缓冲,用来最小化系统安全机制带来的的效率影响。安全服务器中的固定标签映像提供了一个维护安全上下文与固定客体之间的对应机制8.4 安全操作设计和实现案例8.4.4安胜OS V3.0采用MBLP模型w 典型的机密性模型 BLP 对多级安全系统中的每个主体和客体都赋予一个安全级. 主体的安全级规范了主体允许访问的数据的最高安全级, 而客体的安全级表示在客体中存储的数据的最高安全级. 此外, 在BLP模型中可以定义可信主体, 即相信可信主体可以称职地对任何数据建立适当的安全级并进

18、行适当的处理。其主要缺点在于, n可信主体具有无限的特权;n模型的灵活性不够, 并且过于依赖平稳性原则, 主体与客体的安全级在其生命周期内不变8.4 安全操作设计和实现案例安胜OS V3.0采用多MBLP模型w MBLP为主体分配了3 个安全标签最大安全级标签 、最小可写安全标签和最大可读安全标签。为客体分配了一个最大安全级标签和一个最小安全级。w 模型中定义了单级客体与多级客体. 多级客体只能由可信主体访问。 新模型的顶层安全策略是: (1) 只有可信主体才能对客体进行具有多级属性的访问, 一般主体只能对客体进行具有单级属性的访问。(2) 可信主体对客体进行具有单级属性的访问时, 只能在安全

19、标签范围内是可信的。(3) 每个客体都分离为两部分: 与内容相关和与内容无关的部分, 这两部分作为不同的客体具有相同的安全标签范围。(4) 对可信客体的创建及删除是具有多级属性的访问, 而对它们的应用性访问是具有单级属性的访问。8.4 安全操作设计和实现案例安胜OS V3.0采用多MBLP模型MBLP实现包括两个主要方面:w 安全安全标签赋值的标签赋值的实现:实现:对任意主体, 每个进程被赋予一个当前安全标签。 用户安全标签由系统管理员创建用户时通过 useradd 命令设置,标明用户的安全标签范围及缺省安全标签。 进程安全标签在创建进程时确定, 在它所代 表的用户安全标签范围之内。对于客体,

20、每个客体被赋予安全标签范围与当前安全标签。w 文件、设备驱动程序、管道的安全标签为创建该客体进程时的安全标签, 且客体的安全标签等于其父目录的安全标签. 目录与普通文件一样, 在它们的生存周期内具有安全标签. 目录的安全标签就是它的创建进程的安全标签, 且目录的安全标签不小于其父目录的安全标签. 进程、消息队列、信号量集合和共享存储区是特殊类型的客体, 当fork(), msgget(), semget(), shmget()系统调用创建这类客体时, 客体的安全标签就是它的创建进程的安全标签. 8.4 安全操作设计和实现案例安胜OS V3.0采用多MBLP模型MBLP实现包括两个主要方面:w

21、系统安全级设置系统安全级设置: 通过安全级将系统划分为系统管理区、用户空间区和病毒保护区。对于系统管理区, 用户没有读写任何数据的权限, 如 TCB 数据、审计数据等。 在用户空间区, 一般用户具有读与写的权限. 对于病毒保护区中的数据与文件, 用户进程具有读权限, 但没有写权限. 因此, 这种访问隔离机制 将进入系统的用户分为两类: 不具有特权的普通用户与系统管理用户. 前者在用户工作区中登录, 如 USER_LOGIN, USER_PUBLIC 等; 后者则在系统管理区中登录, 如 SYS_AUDIT, SYS_OPERATOR1, SYS_OPERATOR2, SYS_PRIVATE 等

22、。8.4 安全操作设计和实现案例安胜OS V3.0采用多MBLP模型MBLP的特点:(1)支持安全级范围的动态变更。新模型提出了具有单级与多级属性的操作, 对可信主体进行了形式化规范, 使可信主体是真正部分可信的. (2) 可信主体定义为可信操作有限、常规操作之后主体写范围rans 不变的主体, 可信主体 不仅可以执行一般主体的单级访问, 也可以执行为它们专门设计的多级访问. 特别, 可信主体的写范围rans 可以由安全策略进行管理.(3) 新模型首次通过信息流控制的安全策略, 形式化地规范可信主体的行为如果满足新模型的不变量与约束 条件, 不会发生信息由高安全级到低安全级 的非法流动。(4)

23、引入的兼容属性可以有效地配合最小可写安全标签和 最大可读安全标签的动态变化(5)新模型能有效地处理网络安全对象(6)新模型实现主动进程与 IPC 对象一体化, 同时解决了多级应用与隐蔽通道的问题。8.4 安全操作设计和实现案例完整性保护模型w 完整性模型Biba可以视为一种基于安全级的完整性模型。缺点主要是: (1) 完整性标签很难确定 (2) 没有提供保证数据一致性的机制. (3) 难以在实际系统中实现. Clark-Wilson 模型模型是一种基于封装的完整性模型. 该模型具有里程牌的意义, 涉及计算机系统完整性的所有目标: 用户完整性、数据完整性和过程完整性. 并且, 引入了良构事务的重

24、要概念. 局限性在于:(1) 没有形式化, 作为通用模型也难以形式化. (2) 转换过程之间的顺序执行关系不利于从数据项中分离对数据的控制策略(3) 在实际系统中难以高效与灵活地实现8.4 安全操作设计和实现案例完整性保护模型w 域与型实施模型 DTE提供一种访问控制机制, 其中一个称之为“域”的访问控制属性与主体绑定, 另一个称之为“型(type)”的安全属性与客体绑定. 当系统运行时, 可以动态地调节访问请求, 并拒绝未经授权的访问. 此外, DTE 是一种灵活的、可配置的、内核级的访问控制机制, 支持最小特权原则, 并且适于进行安全策略的配置. 但是 迄今未见在安全系统中实现基于 DTE

25、 的形式化完整性模型. 总之, 与机密性模型相比, 迄今完整性模型在成熟度、形式化与应用等方面还相距甚远. 8.4 安全操作设计和实现案例完整性保护模型w 安胜的完整性模型基于 DTE, 它应用到以下 4 个概念:w 域: 可以视为从逻辑上界定的进程的受限执行环境. 进程进入一个域之后, 其活动就限定在这个域内. 域包含 3 个组成部分. n入口守护进程, 构成进入域的惟一通道; n域的管理空间与权限n域的关系域列表及其相关的关系. w 型: 可以视为受完整性策略保护的数据的一种特殊类型名.w 完整性校验过程 IVP: 在主体操作受保护数据之前, 校验该主体的身份与访问权限的过程. w 良构事

26、务 WFT8.4 安全操作设计和实现案例完整性保护模型w 完整性顶层安全策略是: (1) 定义与应用 管理用户域和非管理用户域. (2) 根据完整性控制粒度, 定义数据类型. (3) 域间必要的信息流动必须通过 WFT 实现, 保证域间信息流动的完整性. (4) 将 WFT 标识为特殊的数据类型, 防止非法的使用与篡改. 对 WFT 的应用进行审计, 防止授权用户的不恰当修改. (5) 将 IVP 标识为特殊的数据模型, 对创建和操作完整性保护数据的行为实现 IVP. (6) 仔细设计对域-域关系表 DDT 和域-型关系表 DTT 的维护, 保证配置的正确性. 8.4 安全操作设计和实现案例完

27、整性保护模型w 两个主要的组成部分: 保障规则与状态迁移模型. n保障规则的目的是指出如何设置域与型才能实现安全不变量, 采用什么保证措施才能实现完整性保护目标. n状态迁移模型是一种特殊的状态机模型, 负责定义系统状态、状态迁移规则和安全不变量。n设置了10个不变量,13个具有原子性的迁移规则n提出并证明了一个基本安全定理8.4 安全操作设计和实现案例完整性保护模型w 系统的每个 inode 节点包含 3 个指针,:netype 表示一 个目录或文件的型.nrtype 表示一个目录下(递归地)所有文件或子目录的型(包括这个目录本身).n utype 表示一个目录下(递归地)所有文件或子目录的

28、型, 但不包括这个目录. w 当执行域的入口点文件时, 共有 3 种可能的域转化: 自动域转化、自愿域转化和空的域转 化, 亦即域保持不变。8.4 安全操作设计和实现案例完整性保护模型w 安胜完整性保护模型特点:(1) 结合 DTE 模型与良构事务的概念, 实现域与域之间的受限信息交换. (2) 仅将良构事务分配给角色, 与相关的主体无关, 比Clark-Wilson模型的解决方案更为 有效. (3) 通过增加策略执行的保障规则实现多域策略, 确保受保护数据的内在一致性, 从而 改进了 Biba 模型. 8.4 安全操作设计和实现案例特权控制模型w 最小特权设计原则要求对系统中的每一个进程只赋

29、予完成任务 所需的最小特权. 基于角色的访问控制模型RBAC是实施最小特权的主流模型, 但是RBAC 的策略具有较高的抽象层次, 它的控制粒度较粗且灵活性不够, 难以在安全操作系统中实现 基于内w 安胜操作系统采用结合RBAC, DTE和POSIX权能机制的形式化特权控制模型, 具有实现最小特权原理所需的由 3 个层次组成的结构n顶层称为管理层, 用于控制主体所能拥有的最大特权, 从管理角度限制进程的活动范围. n中层称为功能控制层, 用于控制实现某些特定功能所需的功能特权, 从功能实现的角度实现功能隔离. n底层称为执行层, 用于控制进程完成一 项任务时所需的进程特权, 从完成任务的角度限制

30、进程的活动能力. 8.4 安全操作设计和实现案例特权控制模型w 实现了下述目标:n静态静态角色职责隔离角色职责隔离(SRSD): 如果用户被指派角色 r, 且角色 r与角色 r 为授权互斥关系, 则不能将角色r指派给该用户n动态动态角色职责隔离角色职责隔离(DRSD): 如果主体进程以用户允许的角色 r 运行, 角色r与 r 为运行互斥关系, 则不能存在以同一用户 且角色为r 运行的主体进程n动态动态域职责隔离域职责隔离(DDSD): 如果用户通过一个角色创建的主 体进程运行于域 d 中, 且域d与 d 为运行互斥关系, 则不能存在具有相同用户与角色, 但运行 于域d的主体进程. 8.4 安全

31、操作设计和实现案例特权控制模型w 考虑到下述两个因素: (1) DTE 域可以限制进程的执行范围, 因此扩展它可以限制权能的生效范围. (2) 单纯依靠主体标识符标识主体的权能集难以实现职责隔离. 因此, 新模型中引 入了两个新的权能集n域权能集, 记为 Bd, 由域标识符惟一地确定; n角色权能集, 记为 Br, 由角色标识符惟一地确定, 与主体标识符无关8.4 安全操作设计和实现案例特权控制模型w 在新模型的安胜 OS 实现中, 初始的授权实体为: 3 个管理用户、4 个可信角色和 2 个可信域. 超级用户的权限分解为 57 个特权. n安全管理用户 sec_u 负责安全策略数据库的配置与

32、管 理, 被赋予安全员角色 sec_r. n系统管理用户 sys_u 负责系统与网络的配置与管理, 被赋予系统员角色sys_r和网络员角色net_r. n审计管理用户adt_u负责审计事件与审计记录的配置与管理, 被赋予审计员角色 adt_r. w 代表用户的不同角色进入不同的 DTE 域就具有不同的特权, 因此, 事实上在初始设置时定义了 8 个执行不同任务的角色. 8.4 安全操作设计和实现案例特权控制模型w 安胜特权控制模型特点: (1) 首次有效地结合 RBAC 和 DTE 与 POSIX 权能机制, 支持用户、角色、域与权能之间的层次映 射关系. 通过角色与域的结合简化授权管理: 通

33、过细化的域定义实现角色职责中可信功能与非可信功能的隔离: 通过 POSIX 权能机制与 DTE 支持的域转换, 进程的特权状态可以动态调节. (2) 提出实施最小特权的 3 层实现机制: 管理层、功能控制层与执行层. 新机制推广了子域 控制机制, 实现了子域控制机制的动态化 (3) 提出了新颖的“功能隔离原理”概念, 并进行形式化规范. (4) 实现了角色的职责隔离与域的功能隔离.(5) 提出了新的权能机制、两个新的权 能集: 域权能集 Bd 与角色权能集 Br , 以及新的权能遗传公式。8.4 安全操作设计和实现案例8.4.5多级分层文件系统多级分层文件系统一般的树型结构文件不易实现多级安全

34、强制访问控制,也不易限制隐蔽存储通道,安胜OSV3.0和V4.0均采用了一种多级分层文件系统的设计。在该文件系统中建立一个文件时,其安全级必须与所在目录相等;越往叶子方向安全级就越高或者不变。TCB按照严格的规则给用户和文件设置安全级,用户安全级不能被用户或他们的进程修改,系统使用这些安全属性判定某个用户是否可以存取一个文件,如果用户安全属性不能存取该文件,那么即使文件的拥有者也不能存取该文件。8.4 安全操作设计和实现案例8.4.5多级分层文件系统多级分层文件系统多级目录:根据访问控制策略R7,多级分层文件系统不允许具有不同安全级的用户,在同一目录下创建不同安全级的文件。因此,多级分层文件系

35、统引入了多级目录的概念8.4 安全操作设计和实现案例8.4.5多级分层文件系统多级分层文件系统多级分层文件系统的访问控制策略:多级分层文件系统的访问控制策略:(1)在文件系统的每个系统调用中实现,即在open() creat() read() write() mkdir() rmdir() unlink() stat() rename() 等系统调用中分别加入相应的访问控制策略。(表8-2)(2)系统调用是用户程序进入内核、存取系统资源的唯一入口,对文件系统的每个系统调用都进行访问控制检查,就等于控制了用户对文件的存取。该检查处于核心态,完全与用户隔离。(3)用户发出的文件访问请求必将涉及一个

36、或多个系统调用,在每个系统调用中,安全内核将根据设定的访问控制策略进行安全检查。例:对于系统调用open( ),函数通过路径名取得文件inode,同时也取出该inode对应的安全级信息,以及用户的uid gid等,然后根据R12 R9 R7 R1进行访问控制策略判断。8.4 安全操作设计和实现案例8.4.5多级分层文件系统多级分层文件系统多级目录含有一些特殊的子目录,称为有效目录。有效目录是当某个进程第一次访问多级目录时由安全内核自动创建的,对用户来讲是透明的。有效目录名即是与该进程有相关的安全级标识(level)。与每个进程 关的是进程的多级目录状态,它决定对多级目录的访问方式。该状态有两种

37、不同的形式:w 虚状态:在该状态的话,内核将把对多级目录的访问自动改变为对多级目录下相应有效目录的访问。这个有效目录 名字 安全级与进程安全级相对应。如果当前多级目录下没有一个有效目录 安全级等于进程的安全级,那么安全内核将自动创建一个进程安全级有效目录,且名字与对应于进展的安全级。默认状态w 实状态:在该状态时,多级目录的访问与一般目录相同。如果应用程序在实状态下访问一个多级目录,它可能不能创建一个文件,并有可能引起应用 程序执行混乱。故vi、cc只能 在虚状态下进行,实状态主要用于系统管理员对多级目录的维护和整整。8.4 安全操作设计和实现案例8.4.5多级分层文件系统多级分层文件系统多层

38、文件系统中,文件名的安全级与文件内容的安全级是相同的。一个目录中的信息可能具有不同的安全级,因为一个目录的内容就是文件名和子目录的集合,它们可以具有不同的安全级。安全内核对该目录的所有内容都实施 访问控制,不允许用户进程通过读该目录内容而查访该目录下的文件名,否则会产生 个隐蔽存储通道。仅当用户 安全级支配文件的安全级时,系统才允许用户读取其文件名,所以对某个用户为讲有些文件名、目录名是不可见的。,即对不同安全级的用户列表同事目录下文件时,显示的结果有可能不一样的。具体通过 修改readdir()系统调用,加入访问控制策略R13完成的。8.4 安全操作设计和实现案例8.4.6隐蔽存储通道分析w

39、 隐蔽通道对操作系统的安全构成严重威胁,对于高等级安全操作系统,所有的评测标准都要求进行隐蔽通道的分析与处理。然而, 隐蔽通道分析是众所周知的难题, 迄今缺乏坚实的 理论基础与系统的分析方法。 w 解决隐蔽通道的两个关键问题:(1) 如何保证隐蔽通道标识的完备性, 即彻底搜索隐蔽通道的问题; (2) 如何提高隐蔽通道标识的效率。w 安胜操作系统在基于本书作者的研究成果:(1) 新的隐蔽通道标识完备性的理论基础; (2) 新的通用隐蔽通道标识架构; (3) 新的隐蔽通道标识方法-回溯搜索法。并在安胜 OS 中的实现。 8.4 安全操作设计和实现案例8.4.6隐蔽存储通道分析回溯搜索法是其将隐蔽通

40、道视为两个主体(发送进程与接收进程)之间的信息流。信息流形成 隐蔽通道时,一定产生由发送进程到接收进程的信息流,与经过哪些变量无关,因此,应当检查具有某些特征的主体之间的、违反安全策略的信息流。 通过信息流主体的安全级检测,以及主体与客体的约束条件, 可以校验信息流的合法性。 新提出的通用隐蔽通道标识架构共分 3 个阶段: (1)分析 TCB 原语, 标识由每一个原语产生的直接流; (2)根据特定的规则, 由直接流构造间接流; (3)分析可疑信息流, 标识潜在的隐蔽通道. (4)对安胜OS隐蔽通道进行分析,标识出18条隐蔽存储通道,并构造每条隐蔽通道的使用场景、工程估算和实测出每条隐蔽通道的最

41、大带宽。8.4 安全操作设计和实现案例8.4.6隐蔽存储通道分析SRM 等类似的方法均仅为表示和组合信息流的技术, 仅包含阶段(2); Tsai 等人的方法是搜索直接流和标识直接通道的技术, 仅包含阶段(1)和(3)。 因此, 新方法是一种完备的通用架构。 在应用 SRM 方法时, 信息流通过传递闭包任意地组合。仅当所有可能的组合都完成之后,才开始进行分析。 相反在新的架构下, 在隐蔽通道标识的全过程中都进行信息流分析。更具体地说,初始分析阶段寻找直接流;中间分析阶段组合信息流;最后分析阶段标识潜在的隐蔽通 。8.4 安全操作设计和实现案例8.4.6隐蔽存储通道分析w 新提出的隐蔽通道回溯搜索

42、法隐蔽通道回溯搜索法, 对 SRM 方法和语义信息流分析方法都进行了重大的 改进. 在原始的 SRM 方法中, 信息流由起点开始向前迁移, 且在迁移过程中确定共享变量之间的间接引用关系. 新的基于SRM方法的回溯搜索法可以视为一种“反向”的 SRM方法: 信息 流由终点开始回溯到起点, 并发现间接的修改关系。w 如果某个原语opi修改了引用变量vsx的变 量 vsy, 产生信息流: vsxvsy, 且另一个原语 opj修改了变量 vsx, 则我们称原语 opj可以间接地修改变量 vsy. 反向的传递闭包操作从可见变量开始它的第1个迁移轮. 所有生成的信息流都是进程流, 防止了无效的内部迁移.

43、为使 SRM 矩阵能够记录全部信息流路径, 在传递闭包的 操作过程中, 当信息流迁移到一个新的变量时, 不仅标记相应的矩阵项, 而且记录先前的原语和变量序列. 此外, 我们通过“轮(round)”执行传递闭包操作. 信息流有序地扩展, 且每一 轮中每个信息流只前进 1 步, 与下一个直接流相连接. 其次, 对每一个矩阵列都增加主体对原语的限制, 由此判断信息流迁移的有效性. 提出了一系列迁移约束规则, 信息流的迁移必须满足特定的迁移条件. 最后, 在每一个迁移轮之后, 分析新扩展的信息流, 并排除伪信息流 与无效信息流8.4 安全操作设计和实现案例8.4.6隐蔽存储通道分析安胜OS V4.0的

44、隐蔽存储通道处理方法(1)加入噪音:通过引入随机分配算法,使系统调用返回的共享变量状态值不再具有线性规律,破坏隐蔽存储通道的通信机制。(2)引入延时:即将延时植入系统调用的出错返回路径上,降低隐蔽存储通道的带宽。(3)扩充审计功能:通过提出隐蔽存储通道的特征,并将这些特征列入审计事件。8.4 安全操作设计和实现案例8.4.7安全加密文件系统安全加密文件系统1.传统加密文件系统的不足n数据保护不完全n性能低下n控制粒度粗2.安全加密文件系统的设计目标n提供标识与鉴别功能n提供自主访问控制机制n硬件加密n完全的数据保护n系统交换分区保护n良好的性能n良好的可用性8.4 安全操作设计和实现案例8.4

45、.7安全加密文件系统安全加密文件系统3.SEFS的工作原理与总体结构LOOP设备技术:将一个连续的文件块映射成为一个虚拟磁盘,在该虚拟磁盘上创建文件系统、存取数据。SEFS利用loop设备的工作原理,实现 一个虚拟设备,将要保护的用户数据放入该虚拟,并在虚拟磁盘的设备驱动中增加了加密引擎,以实现对数据的加密保护。8.4 安全操作设计和实现案例8.4.7安全加密文件系统安全加密文件系统3.SEFS的工作原理与总体结构加密卡加密卡:提供硬件加密功能。能够对通过它的数据自动进行加密解密操作。设备驱动设备驱动:向上层提供与磁盘相关的各种系统调用,并对存入虚拟磁盘的数据进行加密操作。为增加系统的灵活性,

46、该设备驱动实现为一个可动态加载模块,可以在需要的时候,载入到系统内核中。加密引擎:加密引擎:被设备驱动调用,实现对数据的加密解密。支持软硬件加密密钥管理:密钥管理:涉及文件密钥、主密钥、用户口令。文件密钥用来对虚拟磁盘进行加密,每个文件密钥对应一个虚拟磁盘,由主密钥加密后存储,为了系统的安全性,用户的主密钥不在磁盘上存储,而是根据用户口令由一个单向函数变换生成。用户接口:用户接口:该部分用来向用户提供使用SEFS的访问接口,提供了对虚拟设备进行创建、格式化、挂载等操作的一系列命令。8.4 安全操作设计和实现案例8.4.7安全加密文件系统安全加密文件系统4.SEFS关键技术的实现(1)虚拟磁盘的

47、加密:)虚拟磁盘的加密:操作系统对磁盘的访问是一种随机访问,一般以磁盘扇区为单位进行,每个扇区的大小一般为512B。鉴于这个原因,SEFS对虚拟磁盘的加密采取以扇区为单位的方式,每个扇区被加密后作为块文件数据区内的一个数据块存放在特定位置。当读某个文件时,只需要将该文件所占用的苦干磁盘扇区解密即可,不用解密整个磁盘,提高了系统的性能和安全性。为进一步增强系统的安全性,采用CBC(Cipher Block Chaining)加密模式,以达到隐藏扇区数据结构的目的。(2)加密引擎模块化:)加密引擎模块化:提供四种加密算法,设计成一种动态可扩展的实现方式。由算法管理模块和加密算法两部分组成。算法管理

48、模块用来对已注册的加密算法进行调度、管理;加密算法模块用来实现对数据的加密操作,每个算法被 封装成一个具体的统一接口的动态加载模块,在需要时由算法管理模块动态载入到内核中。8.4 安全操作设计和实现案例8.4.7安全加密文件系统安全加密文件系统4.SEFS关键技术的实现(3)交换分区的加密:)交换分区的加密:交换分区是操作系统用来暂时存放内存中数据的一块磁盘空间,将其存放到一个被加密的虚拟磁盘上,使可实现地交换分区的加密保密保护。首先创建一个指定大小的块文件;然后将块文件映射成一个加密的虚拟磁盘,并在虚拟磁盘上创建交换分区jb后用新创建的交换分区替换掉原来的交换分区即可。(4)DAC的实施:的

49、实施:ACL和其他关键信息如密钥长度、加密密钥、算法类型等放在块文件的头部,对每个虚拟磁盘最多可以设置20个ACL条目,每个条目对应一个用户地该磁盘的访问权限,ACL的第一个条目对应的是属主用户,只有属主用户可以修改其他用户的访问权限。8.4 安全操作设计和实现案例8.4.8.客体重用客体重用机制机制在安胜V4.0系统中,涉及管体重用的动态分配与管理的资源包括:n硬盘、软盘、可擦写光盘的物理盘块空间n内存页面n高速缓存数据结构8.4 安全操作设计和实现案例8.4.8.客体重用客体重用机制机制硬盘、软盘、可擦写光盘的物理盘块空间:n删除文件时,不是简单地在inode上标识文件已删除,而是要进一步

50、将原来相应磁盘块上的内容清除,比如全写成0或乱码。n删除文件时或目录时,文件或目录 在Inode内容也不是简单地ino项清0,而要将目录面的文件名、Inode结构中的访问授权项以及其它重要信息,包括扩充的敏感信息项比如安全级、完整级、权能等也要清0或写入乱码n用专门的命令wipe来完成n扩充rm的一个功能选项 :rs-s file将调用wipe命令完成安全删除文件n文件Inode结构中访问授权项以及其它重要属性信息的清除则在核心层透明实现n在有图形界面的系统上,将设置明显标志,将安全删除文件进一步提成为碎纸机的概念8.4 安全操作设计和实现案例8.4.8.客体重用客体重用机制机制物理内存页面的

51、管体重用实现:n内存物理页面:仅当一个物理页面不再被映射使用,即释放时才清除其上现有信息n盘上物理页面:对于交换设备的每个物理页面,在内存中有一个相应的数据结构,实际上只是一个计数,表示该页面是否已被分配使用,以及有几个用户在共享这个页面。在释放该交换分区之前,将区间的内容“重写一遍0”,清除其残留信息。n外设物理页面:不易进行客体重用安全策略处理8.4 安全操作设计和实现案例8.4.8.客体重用客体重用机制机制高速缓存数据结构客体重用的实现:n安胜需要对以下客体所对应的高速缓存数据结构中的内容,在分配或释放时清除其现有信息:l文件内存Inode结点lTASK结构、PROC结构lIPClSOC

52、K|ETl主体客体安全属性缓存8.5 注意的问题w 8.5.1 TCB的设计与实现的设计与实现n配置管理配置管理n分发和操作分发和操作n开发开发n指导性文档指导性文档n生命周期支持生命周期支持n测试测试 n脆弱性评定脆弱性评定8.5 注意的问题w 8.5.2 安全机制的友好性安全机制的友好性n安全不应影响遵守规则的用户安全不应影响遵守规则的用户n便于用户的授权存取便于用户的授权存取n便于用户控制存取便于用户控制存取对于大多数用户及他们所做的工作一说,安全性应该是透明的8.5 注意的问题w 8.5.3 效率和兼容性考虑效率和兼容性考虑在保证安全性的前提下,考虑兼容性,最后考虑效率。在不违备该原则

53、的前提下,将在三者之间做出平衡2022-6-2664习题w 安全操作系统的设计原则是什么?w 开发安全操作系统的方法有哪些?各自优缺点及适用的场合?w Linux安全模块LSM是什么?w SELlinux体系结构?第9章 安全操作系统应用 第一部分 教学组织w 一、目的要求一、目的要求w 1.了解目前安全操作系统以及WWW安全服务。w 2.掌握防火墙系统的安全技术及保护机制。w 二、工具器材二、工具器材w 1.具有WWW服务的服务器。w 2.防火墙系统。第二部分 教学内容w 迄今为止,整个国际上安全操作系统的实际应用并不成功。在实际应用中发挥作用的操作系统绝大部分不是安全操作系统。有专家认为,

54、安全操作系统在商业和民用领域的不成功,主要是因为安全操作系统缺少灵活性和兼容性,降低了系统性能和效率,应发展专用安全操作系统。w 当前安全操作系统不成功的本质原因是安全操作系统存在诸多不完善的地方,如对多安全政策的支持;对动态多安全政策的支持,包括政策切换、权限撤销等方面;对环境适应性的支持等。本章主要介绍安全操作系统的两个应用,即WWW安全和防火墙系统安全。9.1 操作系统安全与www安全9.1.1 WWW概述概述p WWW(World Wide Web)是建立在Internet上的一种网络服务。它遵循HTTP协议,缺省端口是80。WWW所依存的超文本(Hyper-text)数据结构,采用超

55、文本和多媒体技术,将不同的文件通过关键字进行链接。 p HTTP是一个属于应用层面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。一个完整的HTTP协议会话过程包括四个步骤:连接;请求;应答;关闭连接。9.1.1 WWW概述概述w 1HTTP协议的命令n(1)GET命令n请求获取Request-URI所标识的资源,使用GET命令检索服务器上的资源时需要指定URL,协议版本号等信息。此命令相对简单。n 例如:GET /form.html HTTP/1.1w (2)POST 命令 w 在Request-URI所标识的资源后附加新的数据。POST方法要求被请求服务器接受附在请求后面

56、的数据,常用于提交表单。w eg:POST /reg.jsp HTTP/ w Accept:image/gif,image/x-xbit,. w .w HOST: w Content-Length:22 w Connection:Keep-Alive w Cache-Control:no-cache w (CRLF) /该CRLF表示消息报头已经结束,在此之前为消息报头w user=jeffrey&pwd=1234 /此行以下为提交的数据w (3)HEAD命令w 如果我们只对关于网页或资源的信息感兴趣,而不想检索资源本身的全部内容,可以使用HEAD命令。HEAD的使用方法与GET正好相

57、同,只是它不返回Web页的正文内容。当一个Web页的内容被更新时,可以使用这个命令通知你。它也可以使浏览器作出有关是否根据其大小下载网页的决定。 w HEAD方法与GET方法几乎是一样的,对于HEAD请求的回应部分来说,它的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。利用这个方法,不必传输整个资源内容,就可以得到Request-URI所标识的资源的信息。该方法常用于测试超链接的有效性,是否可以访问,以及最近是否更新。 w (4)PUT命令w PUT是另一个常用的HTTP命令,HTTP协议文件上传的标准方法是使用PUT命令。它允许从客户端到服务器的简单文件传输,常用于HTML编

58、译器,如Netscape的Composer和HotDog实用程序。PUT命令和POST命令的区别在于两个命令的使用方式不同,PUT命令带有一个参数,这个参数作为目的URI,类似于POST命令的参数。但是,PUT命令请求服务器将数据放在URI,而POST命令请求服务器将数据发给URI。w (5)DELETE命令w Delete方法就是通过http请求删除指定的URL上的资源,Delete请求一般会返回3种状态码:200 (OK) - 删除成功,同时返回已经删除的资源 ;202 (Accepted) - 删除请求已经接受,但没有被立即执行(资源也许已经被转移到了待删除区域);204 (No Con

59、tent) - 删除请求已经被执行,但是没有返回资源(也许是请求删除不存在的资源造成的)。Web站点管理应用程序常常使用DELETE命令和PUT命令管理服务器上的文件。w (6)OPTIONS命令w OPTIONS命令请求服务器描述“命令-URI”指定资源的特点。OPTIONS命令格式类似于其他HTTP命令。eg:OPTIONS / HTTP/1.1 (CRLF)w (7)TRACE命令w TRACE命令类似于PING命令,提供路由器到目的地址的每一跳的信息。它通过控制IP报文的生存期(TTL)字段来实现。TTL等于1的ICMP回应请求报文将被首先发送。路径上的第一个路由器将会丢弃该报文并且发

60、送回标识错误消息的报文。错误消息通常是ICMP超时消息,表明报文顺利到达路径的下一跳,或者端口不可达消息,表明报文已经被目的地址接收但是不能向上传送到IP协议栈。w 2. 目前流行的WWW服务器w 目前流行WWW服务器的三大主流为Apache Group公司的Apache Web Server服务器(阿帕奇),简称为Apache;基于Windows NT系统的微软公司的Internet Information Server服务器,简称为IIS;Netscape公司的Netscape Enterprise Server服务器,简称Netscape。 w (1)Apache服务器w Apache服务器,是

温馨提示

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

评论

0/150

提交评论