Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1242720
  • 博文数量: 298
  • 博客积分: 10050
  • 博客等级: 上将
  • 技术积分: 3277
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-14 13:36
文章分类
文章存档

2015年(7)

2012年(1)

2010年(5)

2009年(55)

2008年(73)

2007年(160)

我的朋友

分类:

2007-11-28 13:20:07

在《J0ker的CISSP之路》系列的上一篇文章《安全架构和设计(1)》里,J0ker给大家介绍了系统架构和设计的第一部分,因为这个部分里的安全模型概念是CISSP考试考察的一个重点,同时目前所有的系统和软件都是基于这些安全模型来设计安全原则的,所以J0ker打算在本文中详细介绍这些安全模型:
    我们都知道,信息安全的目的就是要保证信息资产的三个元素:保密性,完整性和可用性(CIA),CIA这个也就是这三个元素开始为人们所关注的时间的先后。现在系统设计中所使用的安全模型的出现的顺序也大概如此,先出现专门针对保密性的BLP模型,然后出现针对完整性的Biba模型、Clark-Wilson模型等,在访问控制中所使用的访问控制列表/矩阵(Access Control List(ACL)/Access Control Matrix(ACM)),在CISSP的CBK内容中也把它划分到安全模型的范围内。顺便说明一下,因为可用性本身涉及到的因素很多,并没有一个被广泛接受的通用安全模型,所以CISSP的CBK里只要求掌握针对保密性和完整性的安全模型。
 
安全模型所依赖的理论基础——状态机模型和信息流模型
      状态机(State Machine)模型是信息安全里用来描述无论何时状态都是安全的系统模型,而处于特定时刻系统的快照便是一种状态(State),如果这种状态满足安全策略的要求,我们就可以认为它是安全的。许多活动会导致系统状态的改变,称之为状态转换(States transaction),如果这些活动都是系统所允许而且不会威胁到系统安全的,则系统执行的便是安全的状态机模型(Secure State Machine)。一个安全状态机模型总是从安全的状态启动,并且在所有状态的转换中保证安全,并只允许行为的实施者以符合安全策略要求的形式去访问资源。
      信息流(Information flow)模型是状态机模型的具体化,在这个模型中,信息在的传递被抽象成流的形式,大家可以想象一下水流的样子。信息流模型由对象,状态转换和信息流策略所组成,其中的对象可以是用户,每个对象都会根据信息流策略分配一个安全等级和具体化的数值。信息流不单可以处理信息流的流向,同时它还可以处理信息流的种类——在BLP模型中,信息流模型处理的便是保密性,而在Biba模型中信息流所处理的则变成完整性。由于信息流动的行为可以在同安全级别的主体和客体之间发生,也可以在不同一个安全级别的情况下发生,所以信息流模型主要用于防止未授权的、不安全的或受限制的信息流动,信息只能够在安全策略允许的方向上流动。
 
     状态机模型和信息流模型的进一步具体化就是CISSP CBK中所包括的安全模型,CISSP CBK中所提到的安全模型有:Bell-Lapadula(BLP模型)、Biba模型、Clark-Wilson模型、访问控制矩阵模型、China Wall模型、Lattice模型。下面J0ker将向大家逐一介绍。
前面说过,在信息安全目标的三个元素里面最先为人们所关注的是保密性,因此,在1973年出现了第一个针对保密性的安全模型——Bell-Lapadula模型,这个模型由David Bell和Len Lapadula为美国国防部的多级安全策略的具体化而开发。它基于强制访问控制系统(MAC),以信息的敏感度作为安全等级的划分标准,它的特点如下:
◆基于状态机和信息流模型
◆只针对保密性进行处理
◆基于美国政府信息分级标准——分为:Unclassified、Restricted、Confidential、Secret、Top Secret
◆使用“Need to know” 原则
◆开始于安全状态,在多个安全状态中进行转换(要求初始状态必须为安全,转换结果才在安全状态)
图1
     上图 来自CISSP Official Guide,是BLP模型的安全策略示意图,BLP模型规定,信息只能按照安全等级从下往上流动,或者根据策略的规定在同安全级别间流动。
     由于BLP模型存在不保护信息的完整性和可用性,不涉及访问控制等缺点,1977年Biba模型作为BLP模型的补充而提出,它针对的是信息的完整性保护,主要用于非军用领域。它和BLP模型相类似,也是基于状态机和信息流模型,也使用了和BLP模型相似的安全等级划分方式,只不过Biba模型的划分标准是信息对象的完整性。
图2
    上图 来自于CISSP Official Guide,Biba模型规定,信息只能从高完整性的安全等级向低完整性的安全等级流动,也就是要防止 低完整性的信息“污染”高完整性的信息。
    
     我们知道,信息安全对完整性的要求有3个目标:防止数据不被未授权用户修改、保护数据不被授权用户越权修改、维护数据的内部和外部一致性。Biba模型中只实现了完整性要求的第一点。于是,针对Biba模型的不足,1987年,另外一个完整性模型——Clark-Wilson模型被提出,这个模型实现了成型的事务处理机制,目前常用于银行系统中以保证数据完整性。Clark-Wilson模型的特点是:
◆采用Subject/Program/Object 三元素的组成方式,Subject要访问Object只能通过Program进行
◆权限分离原则:将关键功能分为由2个或多个Subject完成,防止已授权用户进行未授权的修改
◆要求具有设计能力(Auditing)
因为Clark-Wilson模型因为使用了Program这一元素进行Subject对Object的访问控制手段,因此Clark-Wilson模型也常称为Restricted Interface模型。
访问控制矩阵模型不属于信息流模型,它主要用于Subject对Object的访问进行控制的领域:
图3(点击查看原图)
 
      上图 来自CISSP Official Guide,访问控制矩阵模型定义了每一个Subject对每一个Object的访问权限,而单个Subject对所用Object的访问权限控制模型通常称为访问控制列表,也即Access Control List。
 
      针对民用领域有对保密性控制灵活性的需求,同时安全要求也没有政府和军用领域的严格,Lattice模型作为BLP模型的扩展被提出。Lattice模型同样是基于信息流和状态机模型,但Lattice模型使用安全范围来代替BLP模型里面的安全等级概念,已实现更灵活的保密性控制需求。
图4
 
    如上图,在Lattice模型中,一个Subject可以访问安全级别基于Sensitive和Private之间的信息。这种权限设置常可以在企业中看到。
 
    China Wall模型于1989年由Brew和Nash提出,这个模型和上述的安全模型不同,它主要用于可能存在利益冲突的多边应用体系中。比如在某个领域有两个竞争对手同时选择了一个投资银行作为他们的服务机构,而这个银行出于对这两个客户的商业机密的保护就只能为其中一个客户提供服务。China Wall模型的特点是:
◆用户必须选择一个他可以自由访问的领域
◆用户必须拒绝来自其他与其已选区域的内容冲突的其他内容的访问。
以上的安全模型便是CISSP CBK中所包含的众多经典安全模型,在许多系统和应用也常常可以找到它们的使用,朋友们可以结合这些实际例子来加强理解。
阅读(1390) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~