OS安全机制之连续保护机制

来源:互联网 发布:数据库模型分为哪三种 编辑:程序博客网 时间:2024/05/18 13:29

(一)最小特权管理

最小特权思想:

系统不应给用户超过执行任务所需特权以外的特权,首先,将超级用户的特权划分为一组细粒度的特权;然后,将这些特权分别授予不同的系统操作员/管理员,使各种系统操作员/管理员只具有完成其任务所需的特权。目标:减少由于特权用户口令丢失或错误软件、恶意软件、误操作所引起的损失。

特权细分举例:

比如系统将超级用户特权划分为若干全能的定义如下:
- CAP_OWNER
- CAP_SETUID
- CAP_DACWRITE
- CAP_MACREAD
- CAP_AUDIT
- CAP_NET_ADMIN

比如可在系统中定义四个特权管理职责:
- 系统安全管理员(SSO)
- 审计员(AUDIT)
- 安全操作员(SOP)
- 网络管理员(NET)

一种最小特权管理实现的方法是:

-对每个可执行文件/程序赋予相应的特权集
-对系统中的每个进程,根据其执行的程序和所代表的用户,赋予相应的特权集。
-某进程请求exec一个特权操作(如mount)时,它必须调用特权管理机制,判断该进程的特权集中是否具有执行该操作所需特权。

进程和程序文件的权能状态定义

1)可继承集:进程的可继承集记为(pI),决定一个进程可依据条件遗传其后续进程印象的全能,程序文件的可继承集(记为fI),决定执行该程序产生的进程映像可遗传给其后续进程映像的权能,并且是前一个进程映像拥有且可供该程序映像使用的权能
2)许可集:进程的许可集(记为pP),决定当前进程允许生效的最大权能集合,程序文件的许可集(记为fP),是确保程序执行产生的进程映像能够正确的完成其功能所需的权能,与前一个进程映像是否具有这些权能无关
3)有效集:进程的有效集(记为pE),决定当前进程中生效的权能集合;程序文件的有效集(记为fE),决定程序执行产生的进程映像将拥有的有效权能集。


(二)系统完整性保护机制

完整性要求:

计算机信息系统可信计算机基(TCB)(TCB)通过自主和强制完整性策略,阻止非授权用户修改或破坏敏感信息。在网络环境中,系统完整性(System Integrity)通常使用完整性敏感标记来确信信息在传送中未受损。完整性保护要求包括三种类型:
- 存储数据的完整性:
应对存储在可信安全功能(TSF)控制范围(TSC)内的用户数据进行完整性保护,包括:
a) 存储数据的完整性检测,要求TCB 安全功能(TSF)应对基于用户属性的所有客体,对存储在TSC 内的用户数据进行完整性检测。
b) 存储数据的完整性检测和恢复,要求TSF 应对基于用户属性的所有客体,对存储在TSC 内的用户数据进行完整性检测,并且当检测到完整性错误时,TSF 应采取必要的恢复措施。
- 传输数据的完整性
a) 数据交换完整性检测,要求对被传输的用户数据进行检测,及时发现以某种方式传送或接收的用户数据被篡改、删除、插入或重用的情况发生。
b) 源数据交换恢复,要求由接收者TCB 借助于源可信IT 产品提供的信息,恢复被破坏的数据为原始的用户数据。
c) 目的数据交换恢复,要求由接收者TCB 自己,无需来自源可信IT 产品的任何帮助,即能恢复被破坏的数据为原始的用户数据。
- 处理数据的完整性
对计算机信息系统中处理中的数据,应通过“回退”进行完整性保护,包括:
a) 基本回退,要求TSF 应执行访问控制安全功能策略(SFP),以允许对客体列表上的指定操作的回退,并允许在回退可以实施的范围内进行回退操作。
b) 高级回退,要求TSF 应执行访问控制安全功能策略SFP,以允许对客体列表上的所有操作的回退,并允许在回退可以实施的范围内进行回退操作。


(三)隐蔽通道分析与标识

1973, Lampson首次定义隐蔽通道:

如果一个通信信道既不是设计用于通信的,也不是有意用于传递信息的,则称该通信信道是隐蔽的。
这个定义含义比较含糊,既没有说明隐蔽通道的发生机制,也没有说明隐蔽通信的目标。

1987,Tsai等给出的定义如下:

给定一个强制安全策略模型M及其在一个操作系统中的解释I(M),I(M)中的两个主体I(Sh)和I(Sl)之间的通信是隐蔽的,当且仅当模型M中的对应主体Sh和Sl之间的任何通信都是非法的。

在实施了强制访问控制的多级安全操作系统中,特洛伊木马只有利用隐蔽通道才能将信息传送给低安全级进程(木马主人)。

隐蔽通道与完整性策略有关:

隐蔽通道的概念除了与保护信息流的安全策略有关之外,与系统的完整性策略也有关系:
在实现强制安全策略(比如BLP安全策略)的系统中,隐蔽通道分析要确保能找出所有从特定安全级到低安全级或者不可比安全级的非法泄密路径。同样地,
在实现强制完整性策略(比如Biba)的系统中,隐蔽通道分析要确保能找出所有从特定完整级到低完整级,或者不可比完整级的非法泄密路径。

隐蔽通道分类:

1.隐蔽存储通道Storage Channel:

一个隐蔽通道是隐蔽存储通道,如果使用这种通道涉及到一个进程直接或者间接写入一个存储位置,而另一个进程直接或间接读这个存储位置。

2.隐蔽定时通道Timing Channel:

一个隐蔽通道是隐蔽定时通道,如果它的发送信号方式是一个进程调节自己对系统资源(比如CPU)的使用、从而影响另外一个进程观察到的真实系统响应时间。

噪音通道和无噪通道:

隐蔽通道可能是有噪音的,也可能是无噪音的。无噪通道指的是发送者发送的信号与接收者接收的信号百分之百相同。对于隐蔽通道来说,每个符号都是用一个比特来表示,因此如果发送者传送的任意比特接收者都能百分之百正确解码,则该隐蔽通道是无噪音的。也就表明不管系统中其它进程如何动作,接收者都能收到发送者传送的每一比特信息。

无害通道与有害通道:

  • 无害通道通常具有以下特征之一:
    1) 发送进程与接收进程相同;
    2) 系统安全策略允许发送进程与接收进程直接通信;
    3) 实际应用该通道十分困难.
  • 有害通道的特征是:
    1) 发送进程与接收进程不同;
    2) 系统安全策略不允许发送进程与接收进程通信;
    3) 存在一种利用系统安全缺陷构造隐蔽通道的有效机制,使发送进程可以在有限时间内,向接收进程传送一定数量的有用信息.

隐蔽存储通道的判别标准,构成隐蔽存储通道必须满足下面四个条件:

  • 发送方和接收方进程能访问共享资源的同一属性。
  • 发送方进程能改变该共享资源的状态。
  • 接收方进程能察觉该共享资源的状态变化。
  • 发送方与接收方进程之间有同步机制。
    只有完全满足上述四条件才可能构成隐蔽存储通道。仅满足前三条标准的通道叫做潜在隐蔽通道。

隐蔽定时通道的判别标准:

  • 发送方和接收方进程必须有权存取共享资源的同一属性。
  • 发送方和接收方进程必须有权存取一个时间参照,比如实时时钟。
  • 发送方进程必须能够调整接收方进程侦查共享属性的变化所用的响应时间。
  • 必须存在某种机制,使发送方和接收方进程能启动隐蔽通信并正确给事件排序。该机制可能是另一条较小带宽的隐蔽通道。
    对于PC机来说,系统中至少处理器是共享的,因此系统中运行的各个进程至少存在一个共享属性——CPU的响应时间。接收方进程通过监视时钟就能侦查到响应时间的变化。

隐蔽通道的处理技术

(1)消除
改变系统的设计或实现,设法消除产生隐蔽通道的共享单元的共享性,去掉或改造可能导致隐蔽通道的接口和机制。
(2)限制带宽
通过故意引入噪音、延迟甚至虚拟时间等,将通道的带宽减低到一个可以接受的限度。
(3)审计
利用审计功能 监视和记录 隐蔽通道的信息传输情况

隐蔽通道的处理技术实例:

(1)加入噪音
随机化线性增长的共享变量,使系统调用的返回值不再具有线性规律。
——例如,基于进程标识符pid的隐蔽通道原理:系统按照线性递增的规律为新创建的进程分配标识符pid。关键函数是返回当前进程标识符的函数get_pid(),全局变量last_pid每次增加一。
——通过在get_pid()中加入随机化函数,使得分配策略变成从未占用的进程标识符中随机选择一个作为新建进程的标识符,从而破坏构成该隐蔽通道机制。
(2)加入延迟
将延时植入到系统调用的出错返回路径上,降低利用资源耗尽型通道的带宽。
——例如,构成系统打开文件表信道的关键在于耗尽系统打开文件表filp。当耗尽了filp,系统返回出错值ENFILE。
——通过在file_table.c的get_empty_filp()函数中加入具有延时功能的语句for(i=0;i<100000;i++){},使得每当发生这种出错,系统就会在出错点延迟若干时间后再返回出错信息。这样的做法会使得信道的带宽降低到安全操作系统的用户可以容忍的程度。这种做法的另一个好处是,只要不触发ENFILE这个出错点,系统的性能就丝毫不受影响。
(3)扩充审计功能
审计隐蔽通道变量使用的目的是保证记录所有的隐蔽通道使用事件。通过提取隐蔽通道特征,并将这些特征列入审计事件,就能做到审计所有隐蔽通道行为。系统安全管理员通过定期检查审计记录,可以发现使用隐蔽通道的通信行为,在攻击者下次入侵之前采取必要的准备。
——系统对不宜采用降低带宽处理的每个信道(例如空闲索引节点数信道等等)都进行了审计处理。提取的隐蔽通道特征与通道机制、使用的系统调用、出错返回等等都有关系。


(四)可信恢复机制

可信恢复:

计算机信息系统可信计算机基(TCB)提供过程和机制,保证计算机信息系统失效或中断后,可以进行不损害任何安全保护性能的恢复。
可信恢复应在确定不减弱保护的情况下启动TCB,并在TCB 安全功能(TSF)运行中断后能在不减弱保护的情况下恢复运行。

可信恢复要求:

  • 手动恢复,应允许TCB 只提供以人工干预的方法返回到安全状态的机制。为此,在TCB 发生失败或服务中断后,TSF 应进入维护方式,该方式将提供以手工方法将TCB 返回到一个保护状态的能力。
  • 自动恢复,对至少一种类型的服务中断,要求TSF 应确保使用自动化过程使TCB 返回到一个安全状态,对其它的服务中断可由手动恢复实现。
  • 无过分丢失的自动恢复,在进行自动恢复时,不允许被保护的客体有过分的丢失。即在实现上述自动恢复时,应确保在TSC 内的TSF 数据或客体无超过限量的丢失。
  • 功能恢复,要求TSF 应确保TCB 安全功能或者被成功完成,或者对指定的情况恢复到一致的和安全的状态。