驻马店住房和城乡建设部网站,临沂搜索引擎网站推广,新乡市网架公司,最好的手表网站文章目录 0. 前言14.1 保护目标14.2 保护原则14.3 保护域14.3.1 域结构14.3.2 实例#xff1a;UNIX14.3.3 实例#xff1a;MUTICS 14.4 访问矩阵14.5 访问矩阵的实现14.5.1 全局表14.5.2 对象的访问列表14.5.3 域的能力(权限)列表14.5.4 锁-钥匙机制*14.5.5 比较* 14.6 访问控… 文章目录 0. 前言14.1 保护目标14.2 保护原则14.3 保护域14.3.1 域结构14.3.2 实例UNIX14.3.3 实例MUTICS 14.4 访问矩阵14.5 访问矩阵的实现14.5.1 全局表14.5.2 对象的访问列表14.5.3 域的能力(权限)列表14.5.4 锁-钥匙机制*14.5.5 比较* 14.6 访问控制14.7 访问权限的撤回 0. 前言
对操作系统的进程必须加以保护以便免受其他进程活动的干扰。为了提供这种保护我们可以采用多种机制来确保只有获得操作系统恰当授权的进程才能操作文件、内存段、CPU和其他系统资源。 保护作为一种机制用于控制程序、进程或用户访问计算机系统定义的资源。这种机制必须提供手段来指定是假的控制以及采取的强制方式。安全有别于保护安全是保留系统和数据的完整性的信心度量。本章专注于保护。安全保障是个更加广泛的的话题第15章会讨论。 本章目标 讨论现代计算机系统的保护目的与原则解释保护域或访问矩阵如何用与指定进程可以访问的资源分析基于能力的和基于语言的保护系统 保护(protection)是从资源访问权限授权这个角度去考虑的是指一种控制程序、进程或用户对计算机系统资源进行访问的控制。 安全防范人主动进行攻击从攻击这个角度。完整性保密性身份认证。抗否认。 14.1 保护目标
防止用户有意的、恶意的违反访问约束。需要确保系统当中活动的程序组件只以与规定的策略一致的方式使用资源。
保护在计算机中扮演的角色是 为实施资源使用的控制策略提供一种机制。可以通过各种途径建立这些策略。一个保护系统需要有一定的灵活性从而能实现多种策略。
14.2 保护原则
一个经过时间检验的关键保护指导原则是最小特权原则principle of least privilege用户程序和系统只被定义了能做什么其余的都是不能做的。 这使得部件的出错/危害最小化 14.3 保护域
一个计算机系统是进程和对象的集合。对象分为硬件对象和软件对象每个对象都有唯一的名字与其他对象区分。
要求 用户只能通过定义好的、有意义的操作来访问对象。
为了方便研究最小特权原则这个策略定义了保护域protection domain假定一个进程只在一个保护域内操作。
14.3.1 域结构
一个域是一个访问权限的集合每一个访问权限是一个有序对 对象名权限集
在一个对象上执行一个操作的权限是一种访问权限access 。
域之间是允许存在交集的它们可以共享访问权限。但要注意一个进程一个时间只能处于一个域中。
一个域和一个进程之间的关联可以是静态的也可以是动态的。一个进程的资源集合在进程的生命期固定不变那么这种关联是静态的否则则是动态的。 如果关联是动态的则必须提供一个允许进程在域之间切换的域切换domain switching。
标准双模式监控-用户模式模型 当一个进程在监控模式下执行时它可以执行特权指令并完全控制计算机系统。另一方面如果进程在用户模式下执行时它只能调用非特权指令。 这两种模式保护了操作系统在监控域执行使其免受用户进程在用户域执行的干扰。 14.3.2 实例UNIX
在UNIX系统中域和用户是关联的。域切换会配合用户身份的临时切换。 这个变动由文件系统完成。 每个文件都有一个所有者身份表示和一个域位设置用户ID位与它相关联。当设置用户ID位打开用户执行文件用户ID被设置为文件的所有者而当设置用户ID位关闭时用户ID 不改变。 如当用户A用户IDA开始执行一个属于B的文件时如果此时B的关联域位是关闭的那么该进程的用户ID会被设置成A 如果这个设置用户ID位是开启的那么该进程的用户ID应该设置为文件的所有者B。 如果进程退出这个临时的用户ID的变动就随之结束。 14.3.3 实例MUTICS
MULTICS系统将保护域组织成一个环状层次结构。 每个环对应一个单独的域。这些环按顺序用数字0~7编号。Di和Dj0i,j7为任意的两个域如果ji那么Di是Dj的一个子集。也就是说在Dj中运行的进程比在Di中运行的进程拥有更多特权。一个在D0中执行的进程拥有最多特权。 如果只存在两个环那么这个策略就等价于监控-用户执行模式监控模式对应D0而用户模式对应D1 14.4 访问矩阵
访问矩阵access matrix 是访问模型的一种抽象其中行代表域列代表对象。 由于列明确定义了对象可以在访问权限中删除对象名称。
访问条目**accessij**定义了域Di中执行的进程在调用对象Oj时被允许执行的操作的集合。 访问矩阵策略提供了一个指定多样化策略的机制其包括
实现访问矩阵确保维持在提纲中提及的语义属性即必须确保在域Di中执行的进程只能访问在行i中指定的对象 通常由用户决定访问矩阵条目的内容。当用户创建一个新的对象Oj时列Oj就被添加到访问矩阵并恰当的初始化条目添加权限 访问矩阵为进程和域之间的静态和动态关联提供了一种定义和实现严格控制的机制。当需要将一个进程从一个域切换到另一个域时其实是在一个对象域上执行一个操作切换。
进程必须能够在域之间进行切换。而当进程需要切换域时可以将域添加到访问矩阵。也可以更改矩阵的内容。
另外访问矩阵还需要三个额外的操作
复制所有者控制 有关这些操作的具体内容参考P467 14.5 访问矩阵的实现
为了有效的实现访问矩阵需要一种数据结构。 由于保护的特殊性不适合使用稀疏矩阵的数据结构。 14.5.1 全局表
采用有序三元集合**域,对象,权限** 构成一个表。 缺点
表通常很大无法将整张表放在内存中因此需要额外的IO开销。通常会使用虚拟内存技术来管理这个表很难利用对象和域的特殊的分组方式
14.5.2 对象的访问列表
可以抛弃空的条目每个对象的列表由有序对**域,权限集** 组成。 当用户想在域Di 中对对象Oj执行操作M时系统开始在访问权限列表中为对象Oj查找条目DiRk查找条件是M∈Rk如果查找成功那么操作可以继续。
D1 read,write
D2 read
...//操作系统概念第十章文件系统接口对象的访问列表方法可以做一些扩充定义一个列表和一个默认的访问权限集合。如果在访问权限列表中查找失败则可以在默认集合中查找。 也可以先查找默认集合再查找访问列表。 14.5.3 域的能力(权限)列表
将每个行关联到域。域的权限列表由对象以及允许作用在这些对象上的权限组成。一个对象通常用自己的物理名称或地址标识被称为权限。
O1 read
O2 excute
... //[TODO]P469用户是域的具体实现[TODO] 14.5.4 锁-钥匙机制*
14.5.5 比较*
访问控制 Solaris10通过使用基于角色的访问控制显式地增加了最小特权原则。
此方法以特权为主要内容。特权可赋与进程限制它们只访问完成其工作所需要的内容。
另外也可以将特权和程序分配给角色role角色可以分配给用户用户也可以根据角色密码来获取角色。 特权是执行系统调用的权利或使用该系统调用一个选项的权利如用写访问打开一个文件 14.6 访问控制
14.7 访问权限的撤回
采用访问列表策略的撤回 在访问列表中搜索要撤回的访问权限然后从列表中删除这些权限。而且灵活性很强 采用权限列表策略的撤回 对于权限来说撤回要麻烦很多撤回权限有以下几种方式 重新获得 折回指针 间接 钥匙 详细解释参考P471