第七章 安全模型理论
安全模型理论
? 访问控制
– 访问控制机制
– 自主访问控制
– 强制访问控制
? 访问控制矩阵
– 保护状态
– 访问控制矩阵模式
– 保护状态转变
– 条件命令
– 拷贝,拥有和特权的弱化
– 总结
安全模型理论
? 完整性策略
– 目标
– Biba 完整性模式
– Lipner的完整性矩阵模式
– Clark-Wilson 完整性模式
– 小结
? 混合性政策
– 中国长城模式
– 临床信息系统安全政策
– 创建者控制访问控制
– 基于任务的控制
– 小结
? 审查
访问控制
? 访问控制是计算机保护中极其重要的一环。
? 它是在身份识别的基础上,根据身份对提出的资
源访问请求加以控制。
? 访问控制中三个元素,
– 访问的发起者称为主体,通常为进程,程序或用户。
– 包括各种资源称为客体,如文件,设备,信号量等。
– 保护规则,它定义了主体与客体可能的相互作用途径。
访问控制机制
? 保护域,
– 每一主体(进程)都在一特定的保护域下工作。
– 保护域规定了进程可以访问的资源。
– 每一域定义了一组客体及可以对客体采取的操作。
– 可对客体操作的能力称为访问权( Access Right),访
问权定义为有序对的形式 <客体名,权利集合 >。
– 一个域是访问权的集合。
访问控制机制
? 有重叠的保护域
< 文件 A,{ 读,写 }>
< 文件 B,{ 执 行 }>
< 文件 C,{ 读 }>
< 打印机,{ 写 }>
保护域 X
商家证书
持卡
人证书
离线根证书
机构签名
访问控制机制
? 主体 (进程)在某一特定时刻可以访问的
客体(软件,硬件)的 集合 称为 客体 。
? 客体可以是静态的,即在进程生命期中保
持不变,或动态改变。
? 为使进程对自身或他人可能造成的危害最
小,最好在所有时间里进程都运行在最小
客体下。
访问控制机制
? 一般客体的保护机制有两种,
– 自主访问控制( Discretionary Access Control),
? 用户可以按自己的意愿对系统的参数做适当修改以决定哪些用
户可以访问他们的文件,亦即一个用户可以有选择地与其它用
户共享他的文件。用户有自主的决定权。
– 强制访问控制( Mandatory Access Control),
? 用户与文件都有一个固定的安全属性。系统用该安全属性来决
定一个用户是否可以访问某个文件。安全属性是强制性的规定,
它是由安全管理员,或者是操作系统根据限定的规则确定的,
用户或用户的程序不能加以修改。
自主访问控制
? 为了实现完备的自主访问控制系统,由访
问控制矩阵提供的信息必须以某种形式存
放在系统中。
? 访问矩阵中的每行表示一个主体,每一列
则表示一个受保护的客体,而矩阵中的元
素,则表示主体可以对客体的访问模式。
? 实际上常常是基于矩阵的行或列来表达访
问控制信息。
自主访问控制 - 基于行的自主访问控制
? 基于行的自主访问控制,
– 所谓基于行的自主访问控制是在每个主体上都
附加一个该主体可访问的客体的明细表。
– 权限字,
?权限字是一个提供给主体对客体具有特定权限的不
可伪造标志 。 主体可以建立新的客体, 并指定这些
客体上允许的操作 。 它作为一张凭证, 允许主体对
某一客体完成特定类型的访问 。
自主访问控制 - 基于行的自主访问控制
?具有转移或传播权限的主体 A可以将其权限字的副本
传递给B,B也可将权限字传递给C,并可移去其
中的转移权限,于是C将不能继续传递权限字。
?权限字也是一种程序运行期间直接跟踪主体对客体
的访问权限的方法。每个权限字都标识了作用域中
的单个客体,因此,权限字的集合就定义了作用域。
?权限字必须存放在内存中不能被普通用户访问的地
方,如系统保留区、专用区或者被保护区域内。
?进程必须不能直接改动它自己的权限字表。
?举例,UNIX,Linux
自主访问控制 - 基于行的自主访问控制
– 前缀表
?前缀表 (prefixes)包含受保护的文件名(客体名)及
主体对它的访问权限。
?当系统中有某个主体欲访问某个客体时,访问控制
机制将检查主体的前缀是否具有它所请求的访问权。
自主访问控制 - 基于列的自主访问控制
? 基于列的自主访问控制
– 所谓基于列的访问控制是指按客体附加一份可
访问它的主体的明细表。
– 基于列的访问控制可以有两种方式,
?保护位 。 保护位对所有的主体, 主体组 ( 用户, 用
户组 ) 以及该客体 ( 文件 ) 的拥有者, 规定了一个
访问模式的集合 。 例如 UNIX。
?存取控制表 。 存取控制表可以决定任何一个特定的
主体是否可对某一个客体进行访问 。 表中的每一项
包括主体的身份以及对该客体的访问权 。
自主访问控制
? 访问许可与访问模式
? 对访问许可与访问模式加以区分,把客体
的控制与对客体的访问区别开来。
自主访问控制
? 自主访问控制的访问许可,
– 访问许可允许主体修改客体的存取控制表,可利用它
实现对自主访问控制机制的控制。
– 这种控制有三种类型,
? 等级型。将对客体存取控制表的修改能力划分成等级。不同等
级享有不同的权限范围。
? 拥有型。只有拥有者才是对客体有修改权的唯一主体。拥有者
对其拥有的客体具有全部控制权,但无法传递这种控制权。
? 自由型。一个客体的生成者可以对任何一个主体分配对它拥有
的客体的访问控制权
自主访问控制
? 自主访问控制的访问模式,
– 文件
? 读拷贝 (read-copy)
? 写删除( write-delete)
? 执行( execute)
? Null(无效)
– 目录
? Read
? Write-expand
? 其它:读状态( status),修改( modify),附加( append)
强制访问控制
? 在自主访问控制方式中,无法区分对文件
存取控制信息修改是用户自己的操作,还
是恶意攻击的特洛伊木马的非法操作。
? 通过强加一些不可逾越的访问限制,系统
可以防止某一些类型的特洛伊木马的攻击。
强制访问控制
? 一般强制访问控制采用以下几种方法,
– 访问限制控制
? 用户要修改存取控制表的唯一途径是请求一个特权系统调用。
该调用的功能是依据用户终端输入的信息,而不是靠另一个程
序提供的信息来修改存取控制信息。
– 过程控制
? 只要系统允许用户自己编程,就没办法杜绝特洛伊木马。但可
以对其过程采取某些措施。例如,警告用户不要运行系统目录
以外的任何程序。
– 系统限制
? 实施的限制最好是由系统自动完成,比如,限制共享文件。
安全模型理论
? 访问控制
– 访问控制机制
– 自主访问控制
– 强制访问控制
? 访问控制矩阵
– 保护状态
– 访问控制矩阵模式
– 保护状态转变
– 条件命令
– 拷贝,拥有和特权的弱化
– 总结
访问控制矩阵
? 如果我们可以证明一个主要的系统类是安
全的,那么我们就可以证明属于那个类的
系统原形是安全的。更具体的说,我们可
以总结出安全系统的特点。
? 访问控制矩阵描述了广泛应用的访问许可
的表示法。
保护状态
? 一个系统的状态是指在这个系统中当前运
作的所有的存储区域,二级存储器,寄存
器和其他系统组件的总和。
? 这个总和的处理保护的子集就是系统的保
护状态。
? 访问控制矩阵就是可以描述当前保护状态
的一个工具。
保护状态
? 假设可能的保护状态集合为 P,P的子集 Q由那些系统可以
相容的那些状态构成。因此,当系统状态在 Q中,这时系
统就是安全的。当前的状态在 P之中却不在 Q中,则此时系
统是不安全的。
? 加强安全的侧重点就是确定系统状态始终是 Q中的一个元
素。
– 表现 Q中状态的特性是安全条约的作用;
– 阻止系统进入 P- Q状态就是安全机制的职能。
– 当一条指令改变了系统的状态,状态转变就发生了。 如用某一允
许操作使得某一授权状态发生改变,则结果一定也是一个授权状
态。系统总会处于一个授权状态中。因此状态和状态改变都是受
到限制的。
访问控制矩阵模式
? 通过矩阵中的文件形容出每个使用者的权
利。
? 对象集 O,主体集 S 。
? 实体间的关系都在矩阵 A中,A由关系集 R中
每个条目 a[s,o]的对应关系所描述出。
? 系统中的保护状态集可以由一个三元关系 (S,
O,A)表示。
访问控制矩阵模式
文件 1 文件 2 进程 1 进程 2
进程 1 读,写 读 拥有 写
进程 2 添加,读 读 拥有
访问控制矩阵
保护状态转变
? 当进程执行操作时,保护系统的状态发生
改变
? 系统的原始状态 X0=(S0,O0,A0)
? 操作集 τ1,τ2,…
? 连续状态由 X1,X2…
? 转变 τi+1使系统从状态 Xi到 Xi+1
? X在一系列状态转变之后,进入状态 Y
1
1
?
?
ii XX
i??
YX *?
保护状态转变
? 改变访问控制矩阵的简单命令集
– 在执行每个命令之前的保护状态为 (S,O,A)
在执行每个命令之后的则为 (S’,O’,A’)。
– 创建一个新主体 s
?前提,s不属于 O
?原始指令,createsubjects
?结果,S’=S∪ {s},O’=O∪ {s},
? (Vy∈ O’)[a’[s,y]=?],(Vx∈ S’)[a’[x,s]=?],
? (Vx∈ S’)(Vy∈ O)[a’[x,y]=a[x,y]]
保护状态转变
– 创建一个新的对象 o
? 前提,o不属于 O
? 原始命令,createobjecto
? 结果,S’=S,O’=O∪ {o},
? (Vx∈ S’)[a’[x,o]=?],(Vx∈ S’)(Vy∈ O0[a’[x,y]=a[x,y]]
– 向 a[s,o]中加入权力 r
? 前提,s∈ S,o∈ O
? 原始命令,enterrintoa[s,o]
? 结果; S’=S,O’=O,a’[s,o]=a[s,o]∪ {r},
? (Vx∈ S’)(Vy∈ O’)[(x,y)≠(s,o)→ a’[x,y]=a[x,y]]
保护状态转变
– 从 a[s,o]中删除权力 r
? 前提,s∈ S,o∈ O
? 原始命令,deleterfroma[s,o]
? 结果,S’=S,O’=O,a’[s,o]=a[s,o]-{r},
? (Vx∈ S’)(Vy∈ O’)[(x,y)≠(s,o)→ a’[x,y]=a[x,y]]
– 删除主体 s
? 前提, s∈ S
? 原始命令, destroysubjects
? 结果,S’=S-{s},O’=O-{s},
? (Vy∈ O’)[a’[s,y]=?],(Vx∈ S’)[a’[x,s]=?],
? (Vx∈ S’)(Vy∈ O’)[a’[x,y]=a[x,y]]
保护状态转变
– 删除对象 o,在 A中相应的列同时被删除。
?前提, o∈ O
?原始命令, destroyobjecto
?结果,S’=S,O’=O-{s},
? (Vx∈ S’)[a’[x,o]=?],(Vx∈ S’)(Vy∈ O’)[a’[x,
y]=a[x,y]]
条件命令
? 一些原始命令的执行需要满足特殊的预处理。
? 举例:假设进程 p希望给另一个进程 q从文件 f中读
取的权力。在许多系统中,p必须拥有 f。命令,
command grant·read·file·1(p,f,q)
if own in a[p,f]
then
enter r into a[q,f];
end
条件命令
? 任何条件都可以用 and结合起来。假设一个系统有
加以区别的权力 c。如果一个主体在一个对象上有
权力 r和 c,它在这个对象上可以给另外的主体 r权
力。则,
command grant·read·file·2(p,f,q)
if r ina[p,f] and c in a[p,f]
then
enter r into a[q,f];
end
条件命令
? 所有条件都是用 and连接起来的,而决不可
能是用 or。因为用 or连接的条件等价与两个
命令每个命令只有一个条件,这种连接是
不需要的。
? 条件拒绝是不允许的;也就是说,不能用
在条件 if r not in a[p,f]下的命令测试权
力的存在与否。
拷贝,拥有和特权的弱化
? 拷贝权力
– 拷贝权力 (通常也被叫称为授予权力 )允许拥有
者可以对别人授权。
– 在弱化规则中,只有授予者拥有的这些权力可
以被拷贝。
? 自身权力
– 自身权力是一个特殊的权力, 它可以使拥有者
增加或是减少对他们自己的特权
– 它也能允许拥有者授权给别人
拷贝,拥有和特权的弱化
? 特权弱化原则
– 一个主体不会把自己不拥有的特权给别人。
总结
? 访问控制矩阵是在计算机安全中的一个原始的抽象机制。
? 在它最抽象的形势下,它可以表达任何可以表达的安全规
则。
? 改变转换系统的状态。
? 转变以命令的形式被表达出来。
? 命令由一个或是多个原始操作所可能产生的条件所组成。
? 条件可能包括所有权或是拷贝权力的能力。
? 特权弱化法则产生条件,这个条件规定如果主体不拥有权
力,它就不能把这个权力授予任何人。
安全模型理论
? 完整性策略
– 目标
– Biba 完整性模式
– Lipner的完整性矩阵模式
– Clark-Wilson 完整性模式
– 小结
? 混合性政策
– 中国长城模式
– 临床信息系统安全政策
– 创建者控制访问控制
– 基于任务的控制
– 小结
? 审查
完整性策略
? 完整性策略集中在完整性上而不是机密性
上,因为绝大多数商业和工业公司更加关
心精确性而不是资料的泄露。
目标
? 1,用户将不用写他们自己的程序,而是使用现存
的生成的程序和数据库。
? 2.编程人员将在一个无生产系统上开发和测试程
序;一旦他们需要获取真实的资料,他们将经由
一个特殊的步骤得到产生的资料,但是必须在他
们的开发系统上使用。
? 3.当把一个程序从开发系统安装到生产系统上时,
必须跟一个特殊的步骤。
? 在条件 3之中的特殊步骤必须是可控制的和审查的。
目标
? 必要条件表明了几个操作的原则,
– 职责的分离
– 功能的分离
– 审核
Biba 完整性模式
? 在 1997年,Biba提出
? 一个系统是由一个主题的集合 S,物体的集合 O,完整性级
别的集合 I组成。
? 这个级别是有序的。
? 当第二完整性级别支配着第一级别时,保持关系
? 当第二级别或支配或者和第一级别等同时,保持关系
? Min函数,得到两个级别中较低的一个(与相对应)。
? 函数 I,返回一个主题或者物体的安全级别。
? 关系 定义了一个主题读取一个物体的能力;
? 而关系 定义了一个主题写入一个物体的能力,
? 以及关系 定义了一个主题唤醒(执行)另外一个
主题的能力。
II???
??
III ??
IOS ??
OSr ??
OSw ??
SSx ??
Biba 完整性模式
? Biba定义了一个信息转移路径的观念来测试他的
策略。
? 定义 1:一个信息转移路径是一系列的对象 O1,…,
On+1以及对应的主题系列 S1,…, Sn,对于所有
i,,有
? Si r Oi 和 Si w Oi+1。
? 直观的说,通过在一个信息流路径中连续的读和
写,在 O1中的资料能够转化入 On+1中。
ni ??1
Biba 完整性模式
? Low-Water Mark Policy
– 无论在什么时候一个对象访问一个目标对象,
策略将对象的完整性级别降低到较低的主题和
目标对象的完整性级别 。
– 特别指出,
? s∈ S能够写成 o∈ O,当且仅当 I(o) ≤I(s)。
?如果对于每一个 s∈ S读 o∈ O,则 I’(s) = min(I(s),
I(o)),其中 I’(s)是读之后对象的完整性级别。
?对于 S1∈ S能够推出 S2∈ S当且仅当 I(S2)≤I(S1)。
Biba 完整性模式
– 定理 1,
? 如果存在一条信息转换路径从对象 O1∈ O,则 low-water 标记
策略的执行需要 I( On+1) ≤I( O1),对于所有的 n>1。
? 这个策略的问题是,它事实上改变了完整级别。
特别是,级别不再增加,也就是说它不能再访问
级别比它高的事务了。一个相反的想法是,降低
事务的优先级而不是降低目标的优先级,但是这
样有一点使之退化到最低的地方。
Biba 完整性模式
? 环策略
– 这个策略忽略了间接修改的问题而集中在直接修改上 。
它将解决前面所描述的 Low-Water Mark Policy的问
题 。
– 它的规则是,
? 任意的对象能够读取任意的目标对象,而忽略完整性级别。
? 对任何 s∈ S能写入 o∈ O,当且仅当 I(o) ≤I(s)。。
? 对于 S1∈ S能够推出 S2∈ S当且仅当 I(S2) ≤I(S1)。
– 这个策略和 Low-Water标记策略之间的区别就是任意
的主题能够读取任意的对象。
Biba 完整性模式
? Biba的模式
– 这个模式是 Bell-LaPadula模式的对称的,通常
称为 Biba的模式(或者严格完整性策略),它
的规则如下,
? 1、对任何 s∈ S能读取 o∈ O,当且仅当 I(s) ≤I(o)。
? 2、对任何 s∈ S能写入 o∈ O,当且仅当 I(o) ≤I(s)。
? 3、对于 S1∈ S能够推出 S2∈ S当且仅当 I(S2)≤I(S1)。
– 注意规则 1和规则 2表明了如果读取和写入同时
被允许则 I(s) = I(o)。
Lipner的完整性矩阵模式
? Lipner回到了 Bell-LaPadula模式,并把它和
Biba模式合并创造出一种与商业政策的需求
更加一致的模式。
? 为了更加清楚,我们先考虑 Bell-LaPadula模
式作为 Lipner的一部分,然后和 Biba模式合
并。
Lipner的完整性矩阵模式
? Lipner对 Bell-LaPadula模式的使用
– Lipner提供了两个安全级别,在下列的次序中
(从高到低),
?审核管理者( AM):系统的审核和管理函数在这个
级别;
?系统低点( SL):任何进程能在这个级别读取信息。
Lipner的完整性矩阵模式
– 类似的定义了 5个策略,
?开发( D):产品程序的开发和测试,但并不是产
品的使用;
?产品代码( PC):产品进程和程序;
?产品资料( PD):完整性策略覆盖下的资料;
?系统开发( SD):系统程序的开发,但不在产品中
使用;
?软件工具( T):生产系统上提供的与敏感和受保护
的资料无关的程序。
Lipner的完整性矩阵模式
– Lipner在按照用户对应工作的基础上赋予了他们各个安全级别
用户 清除
普通用户 (SL,{PC,PD})
应用程序开发员 ( SL,{D,T})
系统程序员 ( SL,{SD,T})
系统控制者 ( SL,{D,PC,PD,SD,
T})和递减的优先权
系统管理员和审核员 ( AM,{D,PC,PD,SD,
T})
Lipner的完整性矩阵模式
– 系统对象根据谁将使用他们而对应于不同的安全级别
对象 类别
开发代码 /测试资料 ( SL,{D,T})
产品代码 (SL,{PC})
产品资料 ( SL,{PC,PD})
系统程序 (SL,/)
修改中的系统程序 (SL,{SD,T})
系统和应用程序日志 (AM,{适当策略 })
Lipner的完整性矩阵模式
? Lipner的全模式
– Lipner的全模式增加了安全分类和三个完整性分类,
? 系统程序 (ISP):系统程序的分类;
? 操作上的 (IO):生产程序和开发软件的分类;
? 系统低级( ISL):用户登陆的分类。
– 两个完整性策略用来区分生产和开发软件和资料,
? 开发 (ID):开发实体;
? 生产 (IP):生产实体。
Lipner的完整性矩阵模式
– 我们也可以把生产代码和生产资料压缩成一个
单独的策略。以下就给出了安全策略,
?生产 (SP):生产代码和资料,
?开发( SD);与先前的开发策略相同;
?系统开发( SSD):与先前的系统开发策略相同;
Lipner的完整性矩阵模式
? 用户的所有分类的安全策略和那些没有完整性级别和策略的模式保持
着相等性。完整性分类被选择适当的允许资料和程序的修改。
用户 安全清除 完整性清除
普通用户 (SL,{SP}) (ISL,{IP})
应用程序开发员 (SL,{SD}) (ISL,{ID})
系统程序员 (SL,{SSD}) (ISL,{ID})
系统控制者 (SL,{SP,SD})和递减
的优先级
(SP,{IP,ID})
系统管理员和审核员 (AM,{SP,SD,SSD}) (ISL,{IP,ID})
修复员 (SL,{SP}) (ISL,{IP})
Lipner的完整性矩阵模式
? 最后一步是替事务选择完整性分类。
对象 安全性级别 完整性级别
开发的代码 /测试资料 (SL,{SD}) (ISL,{IP})
产品的代码 (SL,{SP}) (IO,{IP})
产品资料 (SL,{SP}) (ISL,{IP})
软件工具 (SL,/) (IO,{ID})
系统程序 (SL,/) (ISP,{IP,ID})
修改中的系统程序 (SL,{SSD}) (ISL,{ID})
系统和应用程序日志 (AM,{相应的策略 }) (ISL,/)
修复 (SL,{SP}) (ISL,{IP})
Lipner的完整性矩阵模式
? 与 Biba的比较
– 这个完整性矩阵模式论证了 Bell-LaPadula模
式能适合许多商业的需求, 即使它为另一个非
常不同的目的所设计 。 这个模式的弹性是部分
吸 引 人 之 处 ; 然 而, 根 本 上 来 讲, Bell-
LaPadula模式限制了信息的流动 。 Lipner指
出了这点, 并建议把他的模式和 Biba的一起考
虑将是最有效的 。
Clark-Wilson 完整性模式
? 在 1987年,David Clark和 David Wilson开发
了一个与先前不同的完整性模式。这个模
式把事务作为基本操作,使得许多商业系
统比以前的模式更加真实化。
Clark-Wilson 完整性模式
? Clark-Wilson模式把服从策略控制的资料定义为
,被束缚的资料, ( CDIs)。反之则定义为, 不
被束缚的资料, ( UDIs)。 CDIs集和 UDIs集使对
系统中所有被模式化的资料的一个分割。
? 一个, 完整性约束, 集约束了 CDIs的值。
? 模式同样定义了两个过程集。, 完整性检验过程,
( IVPs),用来检测当 IVPs运行时 CDIs遵守完整
性约束。在这种情况下,系统处于, 有效状态,
中。, 转化过程, ( TPs),改变系统中资料的状
态从一个有效状态转到另一个。 TPs实现了一个良
好的事务。
? 举例,
– 在一个银行帐户的例子中,CDIs时帐户中的收
支差额;核查帐号是否收支平衡时 IVP,存款,
取款,转帐等都是 TPs。为确保帐户被正确管
理,一个银行的监测员必须确保银行使用着合
适的过程来检查帐户的存取,转换等。然而这
些过程仅仅提供存款和查询帐户,可能没有提
供其它类型的操作,比如非常微小的现金。
– Clark-Wilson模式通过两条证明规则来捕获这种
需求,
?认证规则 1:任意 IVP运行时,必须确保所有的 CDIs
处于有效状态。
?认证规则 2:对于一些相关的 CDIs集,TP必须把这
些 CDIs从一个有效状态转到另一个(很可能不同)
的有效状态。
? 加强规则 1:系统必须保持, 认证, 关系,并确保只有那个被
认证了在一个 CDI上运行的 TP才能操作该 CDI;特别的,加强
规则 1说明了一个 TP f操作一个 CDI o,则( f,o) C。
? 加强规则 2:系统必须使一个用户对每一个 TP和 CDIs集有关联。
TP可以访问那些跟相关用户的利益有关的 CDIs。
– 这样就定义了一个三元组(用户,TP,{CDI集合 }),
被称为允许 A关系,当然这些关系必须证明,
? 认证规则 3:被允许的关系必须与被职责分离的原则所强加的
需求相适应。
? 加强规则 3:系统必须鉴别每一个用户尝试着执行一个 TP。
?认证规则 4:所有的 TP必须附加足够的信息来重建
对一个只能附加的 CDI的操作。
?认证规则 5:任何 TP输入 UDI的,只能进行有效的转
换或者没有转换对于所有可能的 UDI的值。转换后
则会拒绝 UDI或者转换成一个 CDI。
?加强规则 4:只有 TP的认证者才可能改变与这个 TP
相关的实体列表,可能执行与这个实体相关的任务。
? 与需求的比较
– 我们假定生产程序对应于 TPs,生产资料(及数据库)是 CDI。
– 如果用户不被允许对 TP的认证,取而代之的是, 信任的职员,,
则认证规则 4和 5实现了这个需求。由于普通的用户不能创建认证
了的 TP,他们不能写程序来访问产品数据库。他们必须用现有的
TP和 CDI,及产品程序和产品数据库。
– 认证规则 4提供了一个程序安装的审核。加强规则 3来鉴别, 信任
的职员, 的安装。,认证规则 5和加强规则 5控制着安装过程。
– 最后,日志作为一个简单的 CDI,管理员和核查员能够通过相应的
TP来访问系统日志。类似的,他们也可以访问系统的状态。
– 至此,Clark-Wilson 完整性模式符合了 Lipner的需求。
? 与其他模式的比较
– Biba不能完全仿效 Clark-Wilson,反之则可以。
小结
? 完整性模式在多样性和广泛性方面在不断
增加。
? 维持完整性的重要性在于理解如何信任有
效的完整性。
安全模型理论
? 完整性策略
– 目标
– Biba 完整性模式
– Lipner的完整性矩阵模式
– Clark-Wilson 完整性模式
– 小结
? 混合性政策
– 中国长城模式
– 临床信息系统安全政策
– 创建者控制访问控制
– 基于任务的控制
– 小结
? 审查
混合性政策
? 很少有机构仅仅限制他们的安全目的为机密性或
者完整性。绝大多数希望在某种混合状态下拥有
两者。
? 中国长城模式衍生于英国法律关心的利益冲突,
临床信息系统安全模式衍生于医学道德和散布病
人数据的法律。两个模式展示了信息管理的相反
的观点。
? 创造者访问控制让创建者决定谁该访问这些数据
以及怎样访问。
? 基于访问控制使更多的普通用户群的意见正式化。
中国长城模式
? 中国长城模式( CW)是一种平等对待机密
性和完整性的安全策略模式。
? 这个模式的目标就是阻止在两个客户交易
间的利益冲突,以及客户冲突的最佳利益。
中国长城模式
? 非正式描述
– 举例:投资公司与两家存在利益冲突的银行的
例子
中国长城模式
? 正式的模式
– 设 S是一个主体集,O是对象集,L= CD作为标签的集
合。定义映射函数,OC及, OD。其中 C对应于利益冲
突类的集合,D对应于公司的数据集的集合,在上面的
非正式说明中。对于 sS和 oO的访问矩阵的入口是 H(s,
o);这个元素当 s访问或者曾经访问过 o时为真,否则为
假。这个矩阵把一个历史元素并入了一个标准的访问
控制矩阵。最后,R(s,o)表示了 s读取 o的需求。
– 这个模式的第一个假设就是一个数据集不能横跨两个
COI类。因而如果两个对象在同一个数据集中,那么他
们一定在同一个 COI中。
中国长城模式
? 公理 1,
– 对于所有的 O1, O2 O,如果,则
? 逆否命题则是,
? 引理 2,
– 对于所有的 O1, O2 O,如果,则
2 1 2 2( ) ( )l o l o??
1 1 1 2( ) ( )l o l o?
? 1 1 1 2( ) ( )l o l o?
2 1 2 2( ) ( )l o l o?
中国长城模式
? 公理 3,
– 一个主体 s能够读取一个对象 o当且仅当对于所
有的,有,或者满足
或者 。
oO?? tru eo ?)',(s H 11( ) ( )l o l o? ?
22( ) ( )l o l o? ?
这个公理是 CW的安全规则:一个主体能够读取一个对象当且仅当它还没读
取 COI中的其他数据集里的对象或者它已经读取了 CD里的对象。但这个规
则必须保持确保状态的安全。因此最简单的 CW安全规则里的状态是那些从
没被访问的。在那种状态下,任何访问的请求应该被允许。
中国长城模式
? 公理 4,H (s,o) = false,对于所有的 s S和 o O
都初始是一个安全状态。
??
中国长城模式
中国长城模式
中国长城模式
? Bell-LaPadula和中国长城模式
? Clark-Wilson模式和 CW模式
临床信息系统安全政策
? 医疗记录需要有机密性和完整性的政策,但是和
经纪人公司是走不一样的路的。利益冲突并不是
关键问题。
? 病人的机密性,记录和个人的鉴别在这些记录中
做了接口,以及确保记录没有被错误的修改都是
关键的。
? 安德森为这样的政策提出了一种模式,阐明机密
性和完整性的合并来保护病人的隐私和记录的完
整性。
临床信息系统安全政策
? 安德森在政策中定义了三个类型的接口,
– 定义 13:病人是医疗记录的主体,或者一个病
人赞成的能代替病人的代理。
– 定义 14:个人健康信息是关于一个病人的健康
信息或者能使病人被认证的治疗方案。
– 定义 15:一个临床医生是一个卫生保健专业,
工作就是通过访问个人的健康信息。
临床信息系统安全政策
? 访问原则 1:每一个医疗记录里有一份记录了那些能够读
取和追加记录的个人或组的列表。系统必须访问那些在访
问控制列表里被认证了的。
? 访问原则 2:访问控制列表里的一个临床医师(可靠的)
必须有权利追加其他临床医师进入列表中。
? 访问原则 3:可靠的医师必须通报病人列表上的名字不论
何时病人的记录被打开。除非 遇到紧急情况,但这个医
师必须征得病人的同意。
? 访问原则 4:临床医师的名字,访问医疗记录的日期时刻
都必须被记录。类似的信息必须保护好防止被删。
临床信息系统安全政策
? 创建原则,一个临床医师可能和另一个在记录上的医师或者病人来打
开一个记录。如果记录是作为一个提名的结果被打开的,这个提名的 医师很可能也在访问控制列表中。
? 删除原则,在医疗记录里的医疗信息不能被删除,除非过了合适的时
间。
? 限制原则,一条来自于一个医疗记录的信息能被追加到另外一个医疗
记录中当且仅当后者的访问控制列表是前者的子集。
? 聚集原则,保护病人数据的集合的措施必须有效。特别的,当任何人
被加入他们的记录访问控制列表时,病人必须被通报,并且这个医师
访问过大量的医疗记录。
? 加强原则,处理医疗记录的电脑系统必须有子系统来加强以上的原则。这些控制的效果必须由独立的审核员来评估。
创建者控制访问控制
? 强制的和自由的访问控制并不处理那些即使在文章散布后
仍保持控制他们的环境。
? Graubert开发了一个叫 ORCON的策略(创建者控制的缩
写),在那里一个主体只有在创建那个对象的人同意后才
能够把对那个对象的权利给另外一个主体。
? 规则如下,
– 对象的拥有者不能更改对对象的访问控制
– 当一个对象被拷贝,那个资源的访问控制限制也同样被拷贝,并
且和拷贝的目标绑定。
– 创建者在一个主体对应一个对象的情况下能更改访问控制的权限。
基于任务的控制
? 访问信息的能力,如果需要,要依靠个人工作的
作用。因而建议把用户的特殊工作与访问联合起
来。
? 定义 16:主体 s的活跃任务,写作 actr(s),表明了
一个当前正在运行的任务。
? 定义 17:主体 s的被授权的任务,写作 authr(s),
表明一个假定被授权的任务集。
? 定义 18:谓词 canexec(s,t)当且仅当主体 s能够立
即执行事务 t
基于任务的控制
? 公理 19,S和 T分别代表主体集和事务集。
? 任务分配的规则是,
? 也就是说如果一个主体能够执行任何事务,则这
个主体有一个活跃的任务。这个和对任务执行一
个事务而不是用户联系在一起的。
( ) ( ) [ (,) ( )s S t T c a n e x e c s t a c t r s? ? ? ? ? ? ?
基于任务的控制
? 公理 20,S代表主体集。则被授权的任务规
则是
( ) [ ( ) ( ) ]s S a c t r s a u t h r s? ? ?
基于任务的控制
? 公理 21,S和 T分别代表主体集和事务集。
事务认证的规则是,
( ) ( ) [ (,) ( ( ) ) ]s S t T c a n e x e c s t t t r a n s a c t r s? ? ? ? ? ?
基于任务的控制
? 定义 22,r代表任务,s代表主体,有
r∈ authr(s)。谓词 meauth(r)(互斥的授权 )
是一个 s不能假设和职责需求的分离约定的
任务的集合。
? 把这些和上面的放一起,职责分离的原则
可以被描述为,
1 2 2 1 1 2(,) [ ( ) [ ( ) [ ( ) ( ) ] ] ]r r R r m e a u t h r s S r a u t h r s r a u t h r s? ? ? ? ? ? ? ? ?
小结
? 上面的内容表明了把完整性和机密性结合起来的
政策。 CW模式是在一个特殊的条件 (英国的法律 )
下捕捉特殊商业,经纪人等的需求。临床信息系
统模式为医疗记录做同样的事。两个模式在当前
的商业和临床实践中都有应用。
? 这两个模式有一个不同的目的,关注在实体将访
问数据而不是那个实体应该访问数据。 ORCON允
许创建人控制对文件的访问;基于任务的访问控
制限制了对起着特殊作用的个体的访问。后者的
目的能够在许多更早讨论的模式中得到提示。
安全模型理论
? 完整性策略
– 目标
– Biba 完整性模式
– Lipner的完整性矩阵模式
– Clark-Wilson 完整性模式
– 小结
? 混合性政策
– 中国长城模式
– 临床信息系统安全政策
– 创建者控制访问控制
– 基于任务的控制
– 小结
? 审查
审查
? 审查是为了测量安全侵害的一种较晚的机
制。
? 这里主要是叙述日志 (记录系统事件和动作 )
和审查 (分析这些记录 )的符号。
? 审查在发现安全违例中起着很重要的作用。
在分析中主要是测试发生了什么安全侵入
和怎么发生的。
审查
? 定义 23日志是为了提供系统使用和操作而作的事
件或是静态数据的记录。
? 定义 24审查是对于陈列出来的关于安全的模式信
息的日志记录的分析。
? 定义 25加入 U是用户集。规则 P定义了信息集 C(U),
U中的内容是不可见的。根据 P和 U的反应当 C(U)
中所有的信息都从 L中删除的时候清理日志 L。
? 定义 26匿名清理器删除信息,但是它不能由在日
志之中的数据容纳者或是组织者重建。
审查
? 定义 27基于状态的日志机制记录一个系统状态的
信息,它决定是否一个系统的状态是合法的。
? 定义 28基于转变的日志机制记录了系统上活动的
信息。它检查当前的系统的状态。设定好的转变
(命令 )可以决定是否结果会使系统处于非授权状
态。
? 安全审查的内容不再展开,在后续的入侵检测中
仍会涉及。
? 改造 linux,使用一次性口令 login
? 在 linux或 win2k配置机群系统使得提供网络
服务
? 学习 linux下使用缓冲区溢出或者格式化输
出,利用软件 bug成为超级用户