安全模型
- 现在系统设计中所使用的安全模型的出现的顺序也大概如此,先出现专门针对保密性的BLP模型,然后出现针对完整性的Biba模型、Clark-Wilson模型等,顺便说明一下,因为可用性本身涉及到的因素很多,并没有一个被广泛接受的通用安全模型,所以CISSP的CBK里只要求把握针对保密性和完整性的安全模型。
安全模型所依靠的理论基础——状态机模型和信息流模型
- 状态机(State Machine)模型是信息安全里用来描述无论何时状态都是安全的系统模型,而处于特定时刻系统的快照便是一种状态(State),假如这种状态满足安全策略的要求,我们就可以认为它是安全的。
- 信息流(Information flow)模型是状态机模型的具体化,在这个模型中,信息在的传递被抽象成流的形式,大家可以想象一下水流的样子。信息流模型由对象,状态转换和信息流策略所组成,其中的对象可以是用户,每个对象都会根据信息流策略分配一个安全等级和具体化的数值。
- CISSP CBK中所提到的安全模型有:Bell-Lapadula(BLP模型)、Biba模型、Clark-Wilson模型、访问控制矩阵模型、China Wall模型、Lattice模型。
Bell-Lapadula
1973年出现了第一个针对保密性的安全模型——Bell-Lapadula模型,这个模型由David Bell和Len Lapadula为美国国防部的多级安全策略的具体化而开发。它基于强制访问控制系统(MAC),以信息的敏感度作为安全等级的划分标准.
Bell-LaPadula模型以状态机概念和信息流模型为基础。这种模型还采用强制访问控制和格子型概念。格子等级是由组织机构的安全策略使用的分类级别。状态机支持在任何两个状态之间都能够显式转换多个状态; 使用这个概念是因为能够以数学方式证明计算机的正确性以及对文档机密性的保证。
- 它的特点如下:
- 基于状态机和信息流模型
- 只针对保密性进行处理
- 基于美国政府信息分级标准——分为:Unclassified、Restricted、Confidential、Secret、Top Secret
- 使用“Need to know” 原则
- 开始于安全状态,在多个安全状态中进行转换(要求初始状态必须为安全,转换结果才在安全状态)
- BLP模型规定,信息只能按照安全等级从下往上流动,或者根据策略的规定在同安全级别间流动。
- 解决机密性问题,不能解决数据完整性。(谁可以访问数据,谁无法访问数据,以及可以执行哪些操作)
- 简单安全规则:不能向上读
- 星(*)属性规则(限制规则):不能向下写
- 强星属性规则:同级别读写,不同级别不能读写。
禁止向上读 禁止下写 (上读下写)
BiBA
- 1977年Biba模型作为BLP模型的补充而提出,它针对的是信息的完整性保护,防止数据不被未授权用户修改,主要用于非军用领域。它和BLP模型相类似,也是基于状态机和信息流模型,也使用了和BLP模型相似的安全等级划分方式,只不过Biba模型的划分标准是信息对象的完整性。
- 解决完整性问题,不关心机密性
- 简单完整性公理:不能向下读
- *完整性公理:不能往上写
- 调用属性
禁止向下读 禁止向上写(下读上写)
Clark-Wilson
- 针对Biba模型的不足,1987年,另外一个完整性模型——Clark-Wilson模型被提出,这个模型实现了成型的事务处理机制,现在常用于银行系统中以保证数据完整性。
- 防止数据不被未授权用户修改、保护数据不被授权用户越权修改、维护数据的内部和外部一致性。
- 完整意义上的目标,策略和机制的起源.为了体现完整性,提出了职责隔离的目标.
- – Clark-Wilson模型的特点是:
- 采用Subject/Program/Object 三元组的组成方式,Subject要访问Object只能通过Program进行
- 权限分离原则:将要害功能分为由2个或多个Subject完成,防止已授权用户进行未授权的修改(职责分离)
- 主体只能通过程序、接口或访问门户访问客体。
无干扰模型
- 在一个安全级别内执行的命令和活动不能被位于其他安全级别内的主体或客体看到,也不能影响到它们。
Brewer-Nash(中国墙)
- 这个模型和上述的安全模型不同,它主要用于可能存在利益冲突的多边应用体系中。比如在某个领域有两个竞争对手同时选择了一个投资银行作为他们的服务机构,而这个银行出于对这两个客户的商业机密的保护就只能为其中一个客户提供服务。
- China Wall模型的特点是:
- 用户必须选择一个他可以自由访问的领域
- 用户必须拒绝来自其他与其已选区域的内容冲突的其他内容的访问。
Goguen-Meseguer 模型
- 非干涉概念理论的基础;
- 基于主体可以访问的预设的域或客体列表;
- 基于自动化理论和域的隔离;
- 主体域的成员不能干扰另一个主体域的成员,只允许对预设客体执行预定的动作;
Graham-Denning 模型
- 关注主体和客体在创建和删除时的安全性;
- 定义特定安全行为边界的保护规则或动作;
- 访问控制矩阵;