操作系统虚拟化之安全模型

(一)BLP经典模型

BLP模型形式化地定义了系统状态及状态转换间的转换规则,并制定了一组约束系统状态间转换规则的安全公理!

模型的安全策略:

  • 自主安全策略:自主安全策略使用一个访问矩阵表示,访问矩阵第i行第j列的元素Mij表示主体Si对客体Oj的所有允许的访问模式,主体只能按照在访问矩阵中被授予的对客体的访问权限对客体进行相应的访问。
  • 强制安全策略:包括简单安全特性和*-特性,系统对所有的主体和客体都分配一个访问类属性,常称为安全级,包括主体和客体的密级和范畴,系统通过比较主体与客体的安全级控制主体对客体的访问。

系统的状态表示:

系统状态是集合V=(B×M×F×H)中的元素,其中B⊆(S×O×A)为当前访问集,S为主体的集合,O为客体的集合,A为访问权限集合; M为访问控制矩阵,它由元素mij∈A组成,mij表示主体Si对客体Oj具有的访问权;F为安全级函数,由以下3个分量组成:fo和 fc为分别为主体的最大安全级和当前安全级, fo为客体的安全级;H为当前层次结构,即当前客体的树型结构.
系统任一状态v=(b, M, f, H)∈V, 其中b=(Si, Oj , x)∈B, x⊆mij; f=(fs , fc , fo)∈F.

安全系统的定义与转换规则

系统状态间的转换是由一组规则定义的, 一个规则的定义为ρ:R×V→D×V, 其中R×V为系统中“请求-状态对”集合, D×V为系统中“判定-状态对”集合. R为请求集, D为判定集.判定的结果为(Yes, No,?)之一. “Yes”表示请求被执行, “No”表示请求被拒绝, “?”表示规则不能处理该请求。
规则ρ保持安全状态当且仅当ρ(Rk, v)=(Dm, v*), v是安全状态时,有v*是安全状态.
设Ω=(ρ1 ρ2 ,… ,ρs)是相对于R,D,V的一组规则集,关系W(Ω) ∈R x D x V x V 定义为: (Rk, Dm, v*, v) ∈W(Ω) ,iff Dm≠?并且存在唯一的i, 1≤ i ≤s,使得 (Dm, v*)= ρi(Rk , v )

安全公理,为BLP模型的基础:

操作系统虚拟化之安全模型_第1张图片


(二)BIBA完整性安全模型

完整性的三个操作原则:
  • 职责隔离: 一个极其重要的功能必须由几个不同的人员一起完成
  • 功能隔离: 单独某一个人不能承担某一极其重要的过程中互补的任务 (如出纳、会计)
  • 审计: 可恢复性和可追踪性要求维护审计记录。

1977年,Biba等人提出了第一个完整性安全模型-Biba模型,它基本是BLP模型的对偶,不同的只是它对系统中的每个主体和客体均分配一个完整性级别(integritylevel)。

客体的完整性级别,记为:f(o):用于描述对一个客体中所包含信息的信任度。比如:过路人的报告和专家组的报告。
主体的完整性级别,记为:f(s):用于衡量主体产生/处理信息能力上的信心“confidence”。比如:经鉴定软件产品和网上自由下载的软件。

三个策略:低水印(low-water-mark)、严格(strict)、环(ring):

操作系统虚拟化之安全模型_第2张图片

基本思想是:对一个客体的不可靠信息流破坏或毁坏了该客体的完整性。这个不可靠的信息可能来自一个更低完整性级别的主体或者一个更低完整性级别的客体。

三种访问模式:observe(类似read),modify(类似write), invoke(类似execute)

✈低水印(low-water-mark)

(1)基于主体的低水印、
  • 如果主体 s 读了(observes)客体 o , 那么: f*(s) = min (f(s), f(o)),其中i’ (s) 是主体读之后新的完整性级别。(一个主体读了比他安全级低的客体,那么他的安全级就要降到和客体一样)
  • 主体 s 可以写(can modify)客体 o,仅当f(o) ≤ f (s) (主体安全级高于客体安全级)
  • 主体 s1 可以执行(can invoke)主体 s2,仅当f (s2) ≤ f (s1)(S1级别高)

定理:如果从客体o1到客体on之间存在信息传输路径,那么策略要求f(on+1) ≤ f(o1), 对于所有n > 1.

(2)基于客体的低水印策略(降客体级别)

主体在对某些持有较低或不相容的完整级别的客体执行“observe”操作后,会降低自身的完整级别。(低级主体写了高级客体,那么客体完整性就要下降了)

后果: 有可能减少主体可存取的客体集,使某些原来对主体说来是可以存取的客体在执行“observe”操作后变成不可存取的。比如:在“observe”操作后执行的某些“modify” 。

基于客体的策略:一个主体能够对具有任何完整级别的客体持有“modify”权。当主体执行了对客体的“modify”操作后,客体的完整级别被置为执行存取前主体和客体的完整级别的最大下界。

(3) 基于审计的低水印:

一个主体能够“modify”具有任何完整级别的客体。如果一个主体“modify”一个具有更高或不可比的完整级别的客体,这一违反安全的操作将被记录在审计追踪记录中。或“invoke”操作会由于相应的客体变成不可存取的而不能执行

✈环策略:

  1. 不考虑完整性级别,任何主体可以读任何客体。

  2. 主体 s 可以写客体 o 仅当 f(o) ≤ f(s).

  3. 主体 s1 可以执行主体 s2 仅当 f(s2) ≤ f(s1).

环策略的问题:然而,由于“observe”存取是非受限的,仍可能发生不恰当的“modify”操作。如:一个具有高完整级别的主体能够“observe”一个具有较低完整级别的客体,然后“modify”具有自己安全级别的客体,这样信息就从低完整级别流向高或不可比完整级别。为了避免这种情况,主体在使用来自低完整级别客体的数据时要十分小心。

✈严格策略:

前两个规则类似BLP模型的简单安全规则和-规则,只是完整级别间的关系是相反的。Biba模型中没有考虑“append”方式,主体的完整级别也是惟一的,使其-规则得到简化。严格完整策略防止信息从低完整性级别客体向更高或不可比完整性级别客体传递,保证信息流仅是“observe”和“modify” 的结果。

Biba模型的不足:
(1)完整标签的确定很困难。完整性的分级和分类一直没有相应的标准予以支持 。
(2)在有效保护数据一致性方面不完备。完整性目的是保护数据免受非授权用户的恶意修改,同时内部完整性威胁应该通过程序验证来保证,但本模型中并没有包括这个要求。
(3)不同性质的范畴在同时满足机密性和完整性目标方面难以配合使用。

Biba模型的优势:

(1)具有简单性。由于Biba的严格完整性策略是BLP机密性策略的对偶,所以它的实现是直观的和易于理解的。
(2)Biba和BLP模型相结合的可能性基于Biba模型和BLP模型的相似性,Biba模型可以比较容易的与BLP模型的相结合用以形成集机密性和完整性于一体的综合性安全模型。比如:Lipner声称已在格模型中实现了机密格和完整格的结合。


(三)经典Chinese Wall混合安全模型

1.中国墙模型的主要设计目标: 为了保护相互竞争的客户,咨询公司需要在她的代理间建立密不可透的墙,这个墙就称为中国墙。
2.利益冲突类概念:中国墙安全策略的本质是将全体数据划分成利益冲突类“,根据强制性约束,主体至多访问每个”利益冲突类“中的一个数据集。
3.安全规则:
(1)读规则:
- 查看历史访问,若历史访问了某家公司的数据集,现在仍然可以访问;
- 可以访问非利益冲突类,例如访问了A石油公司,还可以访问A银行,但是不能访问B石油公司。
- 可以访问公开的信息

(2)写规则:
- 现在要写的和之前读的都在同一个类中。


(四)RBAC中立安全模型(基于角色的访问控制)

1.RBAC的优点

  • 便于实现组织级的授权管理;

  • 支持继承关系;

  • 便于实现最小特权原则;

  • 可实现职责隔离原则;

  • 支持客体抽象;除了操作系统中提供的读、写以及执行权限之外,RBAC中可以根据实际应用的需要定义抽象的访问权限,如账号的借款和贷款。

  • 策略中立,通过不同配置能够实现特殊策略。

2.RBAC主要设计思想:

(1)本概念及原理:角色是一些工作职能的集合,或者说是一些特权的集合。RBAC的基本原理是:一个主体要想访问一个客体,必须具备如下条件:
  • 主体被授权扮演某个角色
  • 该角色被授权可以执行某个操作-
  • 该操作被授权可以访问相应的客体

RBAC可以说是一种表达策略的策略(policy neutral),它可以经由适当的配置而表达不同的安全策略。

(2)模型的基本性质:

①如果一个主体被授权访问某个角色,且该角色包含另一角色,那么该主体也被授权访问这个被包含的角色。
②一个用户可以被授权成为某角色的成员,仅当该角色的特权与该用户已扮演角色的特权是互不干涉的。
③在任何时候,角色的成员数不能超过角色的限定成员数。(总经理只有一个,副经理最多不能超过三个)
④主体永远不能扮演一个没有被授权的主动角色。
⑤只有当主体在扮演主动角色时,它才能执行操作。
⑥主体能扮演新的主动角色的前提是该角色的特权与主体当前正在扮演的主动角色的特权互不冲突。
⑦主体能执行一个操作的前提是主体当前正在扮演的主动角色已被授权访问该操作。
⑧如果要完成某个特殊业务职能需用多个操作,那么不允许出现这样的授权:某单个用户的授权角色集能执行所有这些操作。
⑨主体能访问客体的前提是主体的当前主动角色集的某些角色允许执行某操作,且该操作被授权用于访问主体想访问的客体。


(五)DTE中立安全模型

DTE基于安全标签(domain,type)来限制进程进行访问。根据最小特权原则,通过恰当地配置来划分系统。策略中立,可以表达多种安全目标。
DTE将系统视为一个主动实体(主体)的集合和一个被动实体(客体)的集合:
(1)每个主体有一个属性─域,每个客体有一个属性─型,这样所有的主体被划分到若干个域中,所有的客体被划分到若干个类型中。
(2)DTE再建立 “域定义表”(Domain Definition Table),描述各个域对不同型客体的访问权限。
(3)建立 “域交互表”(DomainInteraction Table),描述各个域之间的许可访问模式(如创建、发信号、切换)。

你可能感兴趣的:(信息安全)