(8)操作系统安全机制之二
第八节连续保护机制之一——最小特权管理
1. 最小特权概念:每个系统用户每个系统程序(主体)只能使用必要的最小特权完成,应该拥有,但只能拥有当前工作的最小权限,给的权限过大,容易给系统带来出错。
(在一个系统里边,如果管理员他的权限非常大。 那么如果管理员出现一个误操作,可能会导致整个系统出现这样的一个故障。把管理员的权限进行一些细分,每个管理员只有一个很小的执行它功能所需的这样的权限的话。那么即使这个它导致的一些危害,那么危害也会减小到职责范围之内,不会危害到其他的一些范围。这就是我们所说的最小特权的原则)
2. 特权:提供访问控制的基础上,一种超越访问控制的能力,不受访问控制约束
3. 恰当特权:来源于POSIX标准,POSIX标准叫做便携式操作系统的接口规范,在该规范里面,对恰当特权做了一个定义,在系统执行这个安全策略,安全机制的基础之上,允许它去执行一些受限的操作。或者说允许它去超越这个防护策略的一些能力,就叫这个恰当的特权。
4. 权能:特权集合
5. 最小特权管理的思想是系统不应给用户超过执行任务所需特权以外的特权,具体办法如下:首先,将超级用户的特权划分为一组细粒度的特权;然后,将这些特权分别授予不同的系统操作员/管理员,使各种系统操作员/管理员只具有完成其任务所需的特权。
目标:减少由于特权用户口令丢失或错误软件、恶意软件、误操作所引起的损失。
6. 权能划分原则:(1)超越系统安全约束(比如说它可以不受DSA的读或者不受DSA的写, 这样的需求的这样的一个约束。不受DSA读的是一个权能,不受DSA写约束的是另外一个权能)(2)应该在效果最小的范围重叠,即不要有太多的重叠例如DAC和MAC没有重叠,重新定义DAC则与以上两个重叠。(3)权能数量不要太多,够用就好。
7. 特权细分举例:
8. 特权细分举例,比如某安全操作系统将超级用户特权划分为若干个权能的定义如下:
CAP_OWNER、CAP_SETUID、CAP_DACWRITE、CAP_MACREAD、CAP_AUDIT 、CAP_NET_ADMIN,理论上只有管理员可以SET_UID
比如可在系统中定义4个特权管理职责,
1. 系统安全管理员(SSO)2. 审计员(AUDIT)3. 安全操作员(SOP)4. 网络管理员(NET)
这样,SSO负责系统管理,AUDIT负责审计就好。任何一个管理用户都不能获取足够大的权力危及系统的安全性
9. 一种最小特权管理实现的方法是:(内核)
(1)对每个可执行文件/程序赋予相应的特权集(2)对系统中的每个进程,根据其执行的程序和所代表的用户,赋予相应的特权集。(3)某进程请求exec一个特权操作(如mount)时,它必须调用特权管理机制,判断该进程的特权集中是否具有执行该操作所需特权。
10.
11.要给出权能遗传算法,进程在每次转换它的进程映像时候,如何转变权能状态,为实现这样的机制,我们该为进程和程序文件赋予权能状态:因此有了权能状态的定义:(1)可继承集(inheritable set)进程的可继承集(记为pl),决定一个进程可依据条件遗传其后续进程映像的权能;程序文件的可继承性(记为fl),决定执行该程序产生的进程映像可遗传给其后续进程映像的权能,并且映像拥有且可供该映像使用的权能(2)许可集:进程许可集(记为pP),决定当前进程允许生效的最大权能集合;程序文件的许可集(记为fP),是确保程序执行产生的进程映像能够正确地完成其功能所需的权能,与前一个进程是否具有这些权能无关。(3)有效集:进程的有效集(记为PE),决定当前进程中生效的权能集合;程序文件的有效集(记为fE),决定程序执行力产生的进程映像将拥有的有效权能集。
12. 用户初始进程的特权状态:与创建该进程的用户属性和shell程序相关:(1)由于用户通过会话(如:login)成为系统的主体进程,所以要在此过程中根据用户属性(比如:角色)为初始的主体设置恰当的权能状态。(2)由于可信管理用户登陆后要求安全shell (比如:/bin/bash)支持其执行特权命令,所以应该恰当地指派安全shell程序的权能状态,它将决定初始进程的权能状态。(3)此外,系统第一个进程/sbin/init,以及登陆进程/bin/login对应的权能状态应恰当设置.
第九节连续保护机制之二——隐蔽通道分析与标识:另附
第十节连续保护机制之三——系统完整性保护
完整性要求:计算机信息系统可信计算机基(TCB)(TCB)通过自主和强制完整性策略,阻止非授权用户修改或破坏敏感信息。在网络环境中,系统完整性(System Integrity)通常使用完整性敏感标记来确信信息在传送中未受损。完整性保护要求包括三种类型:a,存储数据的完整性;b,传输数据的完整性;c,处理数据的完整性。
1.数据存储完整性:应对存储在可信安全功能(TSF)控制范围(TSC)内的用户数据进行完整性保护,包括:
(1)存储数据的完整性检测,要求TCB安全功能(TSF)应对基于用户属性的所有客体,对存储在TSC 内的用户数据进行完整性检测。
(2)存储数据的完整性检测和恢复,要求TSF应对基于用户属性的所有客体,对存储在TSC 内的用户数据进行完整性检测,并且当检测到完整性错误时,TSF 应采取必要的恢复措施。
2.传输数据的完整性
当用户数据在TSF 和其它可信IT 产品间传输时应提供完整性保护,包括:
a) 数据交换完整性检测,要求对被传输的用户数据进行检测,及时发现以某种方式传送或接收的用户数据被篡改、删除、插入或重用的情况发生。
b) 源数据交换恢复,要求由接收者TCB借助于源可信IT 产品提供的信息,恢复被破坏的数据为原始的用户数据。
c) 目的数据交换恢复,要求由接收者TCB自己,无需来自源可信IT 产品的任何帮助,即能恢复被破坏的数据为原始的用户数据。
3.处理数据的完整性
对计算机信息系统中处理中的数据,应通过“回退”进行完整性保护,包括:
a) 基本回退,要求TSF 应执行访问控制安全功能策略(SFP),以允许对客体列表上的指定操作的回退,并允许在回退可以实施的范围内进行回退操作。
b) 高级回退,要求TSF 应执行访问控制安全功能策略SFP,以允许对客体列表上的所有操作的回退,并允许在回退可以实施的范围内进行回退操作。
第十一节可信恢复机制
1. 计算机信息系统可信计算机基(TCB)提供过程和机制,保证计算机信息系统失效或中断后,可以进行不损害任何安全保护性能的恢复。
可信恢复应在确定不减弱保护的情况下启动TCB,并在TCB 安全功能(TSF)运行中断后能在不减弱保护的情况下恢复运行。
1. 可信恢复要求:
(1)手动恢复,应允许TCB 只提供以人工干预的方法返回到安全状态的机制。为此,在TCB 发生失败或服务中断后,TSF 应进入维护方式,该方式将提供以手工方法将TCB 返回到一个保护状态的能力。
(2)自动恢复,对至少一种类型的服务中断,要求TSF 应确保使用自动化过程使TCB返回到一个安全状态,对其它的服务中断可由手动恢复实现。
(3)无过分丢失的自动恢复,在进行自动恢复时,不允许被保护的客体有过分的丢失。即在实现上述自动恢复时,应确保在TSC 内的TSF 数据或客体无超过限量的丢失。
(4)功能恢复,要求TSF 应确保TCB 安全功能或者被成功完成,或者对指定的情况恢复到一致的和安全的状态。