APP下载

完整性增强的文件分级保护模型

2017-02-27林海南朱建涛殷红武

计算机应用与软件 2017年2期
关键词:公理完整性客体

林海南 朱建涛 殷红武

(江南计算技术研究所 江苏 无锡 214083)

完整性增强的文件分级保护模型

林海南 朱建涛 殷红武

(江南计算技术研究所 江苏 无锡 214083)

针对文件分级保护中对完整性安全的需求,结合系统中主体间的信任关系,提出一种完整性增强的文件分级保护模型。模型在BLP模型的基础上进行扩展,为主体和客体设置标签进行访问授权,同时改进安全公理和状态转换规则,使得模型中的信息流动遵循标签的限制。最终对模型进行理论证明。该模型可以针对不同的文件授予不同的主体修改权限,并且限制了完整性污点的传播。经分析和应用表明,该模型不仅满足文件保护的多级机密性安全需求,同时有效地提高了文件分级保护的完整性。

访问授权 BLP模型 完整性 多级安全 文件保护

0 引 言

随着信息化的普及,文件信息的安全性越来越受到人们的重视。信息的安全性包括机密性、完整性以及可用性。大部分组织如政府、企业、军队对信息的机密性要求较高,为了应对复杂多变的应用环境,人们提出了各种各样的安全模型来满足不同的机密性需求[1]。然而这些机密性模型策略都不能解决文件系统的完整性保护问题,一些完整性的破坏可能造成不可估量的损失。

BLP模型[2-3]是经典的多级机密性安全策略模型,应用最为广泛。针对BLP模型的完整性缺失问题[4-5],国内外有许多相关研究,但是都不能很好地在真实系统中实现文件分级保护。其中一种方案是在BLP模型的基础上增加完全性级别标签并修改了特定的安全规则, Vito等提出了将BLP模型和完整性模型Biba模型相结合的解决方案[6]和沈瑛等提出了一种基于格的BLP完整性扩展模型——IBLP[7]。这类模型通过简单结合机密性模型和完整性模型,但是容易造成合法资源的不可访问;同时,业界缺少一个对于完整性的分级和分类的标准[8-10],完整性标签的确定是很困难的,因此这些模型在实际系统中很难得到应用。刘彦明等在2010年提出了一种完整性增强的EIBLP模型[11],它给出了另外一种解决方案。它主要通过增强*-特性安全公理,增加了主体的最高上写等级和客体的最低下写等级,增加了“有限制的上写”操作,通过限制信息流动从而增强了模型的完整性。但是EIBLP模型没有考虑到信息流动对客体完整性造成的影响,这种静态保护机制会导致系统中客体本身的完整性低于客体安全标识描述的完整性;同时通过安全级别来对主体、对客体的写入进行限制的粒度不够细,无法满足文件多样化的安全保护需求。

针对上述模型在文件分级保护中的问题,结合现实文件应用场景,在BLP模型基础上提出了一种基于主体间访问授权关系的文件分级保护模型。为了增强模型的完整性与实用性,就要对系统中的信息流动进行合理限制。通过域标签对文件保护进行细粒度的保护是一种很好的方式[12]。模型强调文件所有者对文件的控制权,考虑信息流动对系统造成的影响[13-14]。该模型不需要对系统中的完整性进行困难的分级工作,而是基于系统中主体间的信任关系,细化对主体和客体的访问进行授权,从而对原模型本身的信息流动增加了限制,模型完整性得到增强。最终,本文将模型应用在Linux系统内核中,得到了一个原型。

1 完整性策略分析

BLP模型本身没有考虑完整性策略。因此在模型的前提假设中,没有对完整性的假设。本模型针对文件保护系统的真实应用场景,提出新的完整性假设。一方面,系统初始化时可以确认主体间的信任关系,即主体可以允许来自哪些主体的信息;另一方面,强调主体对客体的主导性,文件所有者对文件的完整性具有控制权。这两个假设是模型完整性安全的基础。完整性策略应该针对文件客体的完整性,对读与写策略分别加以约束。

1.1 客体修改授权

在系统中,对于用户文件,都有对应的文件所有者,它根据文件内容的复杂性,将其归为不同完整性范畴。因此根据文件内容的不同,我们应该允许不同的用户对其修改,而访问授权的决定权应该由文件的所有者来决定。

1.2 客体读取授权

假设中,系统初始化时,我们可以确认主体信任来自于那些主体的信息,即主体可以合法读取那些主体生成的文件。但是系统中的写操作会使得这种访问授权变得不安全。例如,如果主体A信任主体B,则主体A可以读取属于主体B。由于文件会被不同的用户进行修改,使得其内容带上其他主体的标记。例如,用户A仅信任来自用户B的文件,用户B有一个文件F,可以被用户C修改,然而文件F在被用户C修改过之后,就有A获取到它的不可信用户C的信息,可能导致信任污点的传播,造成系统完整性的破坏。因此,系统中应该禁止此类读访问。

2 模型形式化描述

本文针对以上对系统中文件的完整性分析,对BLP模型定义了三种安全公理和11条状态转换规则进行了改进,对客体的读写访问增加限制,约束不合法的信息流动,从限制文件客体的读写角度增强了模型的完整性,并将这种基于主体信任关系的信息流控制策略纳入模型的强制访问控制策略中,具体的工作如下:

1) 在BLP模型的基础上,为主体增加主体可信域,为客体增加可信修改域,两个域中表示主体或客体信任的主体列表。通过这两个标签,我们可以根据实际应用场景进行设定,建立起一个主体与主体、主体与客体间的访问授权网。这是实施完整性访问控制的基础。

2) BLP模型中没有体现污点传播对模型完整性的影响。本文针对这种情况,为每个客体设置了一个修改记录标识。它用来记录一个对文件修改过的主体。模型中,对被修改后的文件客体的读取可能会造成主体间信任关系的破坏,因此应该限制对它的读取,防止了污点的传播。

3) 修改状态转换规则,保证文件的完整性之间的转换。对文件客体的修改会导致其沾上其他主体的标记,从而导致客体的读操作访问范围越来越小。因为文件所有者对文件的完整性具有控制权,对于被其他用户修改的文件客体,文件的所有者或者可信主体可以确认文件的内容的可信度,可以保证系统中正常的信息流动。

2.1 模型元素

定义1 主体集合S,其中可信主体集合St 和非可信主体集合S′;客体集合O,每个客体都有自己的所有者,密级集合C。

定义2 访问方式集合A={r,w,a},r为只读,w为读写,a为只写。

定义3 客体静态标签可信修改域标识TM,用来标志客体可被修改的主体范围,在客体被创建时进行设置,不可被修改,可信修改域中的主体安全级小于或者等于客体安全级。

定义4 主体静态标签主体可信域TS,用来标识主体信任的主体范围,在系统运行初期被创建,不可被修改。

定义5 客体增加标识RM用来记录最近修改此客体的主体,这是一个动态的标记,用于记录客体的修改污点。

定义6 等级函数类f∈F,记作f={fs,fc,fo},其中,fs为主体的最大安全级函数;fc为客体安全级函数;fo为主体当前安全级函数。

定义7 完整性函数类I={IRM,ITM,ITS,Iown},其中,IRM为客体修改记录,ITS为主体的主体可信域,映射主体信任的主体集合;ITM为客体可信修改域,映射可以对此客体进行写操作的主体集合,Iown为客体所有者,表示创建这个客体的主体。

定义8 系统状态v∈V由一个有序的五元组(b,M,f,I,H)表示。其中M为访问矩阵,H为当前客体层次结构,b⊆(S×O×P)。

定义9 请求集合R,表示各种请求的各种操作。判断集合D={yes,no,error,?},表示对请求的回复。

2.2 模型安全公理

公理1 简单安全公理

当一个主体访问一客体时,主体的安全级必须大于或等于客体的安全级,或主体拥有指定特权。即,状态v=(b,M,f,I,H)满足简单安全公理,iff对所有s∈S,有:

(O∈b(s:r,w))⟹(fs(S)≥fo(O))

公理2 *特性公理

状态v=(b,M,f,I,H)满足*特性,iff所有的s∈S′,有:

(O∈b(s:a))⟹fo(O)≥fc(S)

(O∈b(s:w))⟹fo(O)=fc(S)

(O∈b(s:r))⟹fo(O)≤fc(S)

该特性表明:当主体追加写客体时,客体的安全级必须大于主体的当前安全级;当主体读写客体时,客体的安全级必须等于主体的当前安全级;当主体只读客体时,主体的当前安全级必须大于客体的安全级,可信主体不受完整性公理约束。

公理3 自主安全性公理 状态v=(b,M,f,I,H)满足自主安全特性,iff:

(Si,Oj,x)∈b⟹x∈Mij

该特性表明:该模型受自主访问控制约束。

公理4 完整性公理

状态v=(b,M,f,I,H)满足完整性特性,iff所有的s∈S′,有:

(O∈b(s:r,w))⟹IRM(O)-ITS(S)=∅ ors=Iown(O)

(O∈b(s:a,w))⟹s∈ITM(O)

该特性表明,主体读取客体内容时,一定不存在不属于主体信任域外的主体对其进行过修改,或者主体是文件的所有者;主体对客体进行“写”时,则主体必须在该客体的可信修改域内,否则禁止修改;可信主体不受完整性公理约束。完整性公理体现了基于信任授权对模型的访问控制。

定义10 状态v=(b,M,f,I,H)是安全的,当且仅当它满足简单安全特性、*特性、自主安全特性以及完整性公理。

2.3 状态转换规则

在修改后的模型规则中,需要将完整性公理纳入到访问规则中,并且在进行相应操作时对修改记录进行动态维护。

规则1 请求只读规则。在状态v=(b,M,f,I,H),r∈Mij,对于请求request(Si,Oj,r)的处理如下:

iff(fs(Si)≥fo(Oj) andr∈Mij){

iff((fc(Si)≥fo(Oj) and

IRM(Oj)-ITS(Si)=∅)

orSi=Iown(Oj) orSi∈St)

v*=(b∪(Si,Oj,r),M*,f*,I*,H*)

d=yes

}

else

{

v*=v

d=no

}

}

规则2 请求只写规则。在状态v=(b,M,f,I,H),a∈Mij,对于请求request(Si,Oj,a)的处理如下:

iff(((fc(Si)≤fo(Oj) andSi∈ITM(Oj))

or (Si∈St) anda∈Mij){

{

iff(Si∉StandSi! =Iown(Oj)){

IRM(Oj) =IRM(Oj)∪Si

}

v*= (b∪(Si,Oj,a)-(Si,Oj,r)-(Si,Oj,w),M*,f*,I*,H*)

d=yes

}

else

{

v*=v

d=no

}

}

规则3 请求只读规则在状态v=(b,M,f,I,H),w∈Mij,对于请求request(Si,Oj,w)的处理如下:

iff((fo(Oj)=fc(Si) andSi∈ITMand

(IRM(Oj)-ITS(Si)=∅ ors=Iown(Oj)))

or (Si∈St) andw∈Mij)

{

iff(Si∈Stors=Iown(Oj)){

IRM(Oj)=Si

}else{

IRM(Oj)=IRM(Oj)∪Si

}

v*=(b∪(Si,Oj,w),M*,f*,I*,H*)

d=yes

}

else

{

v*=v

d=no

}

3 模型证明与分析

本模型需要证明:一个安全状态在经过本模型的状态转换规则后,仍符合本模型的各个安全公理:简单安全公理、*特性公理、自主安全性公理以及完整性公理。

定理1 若状态v=(b,M,f,I,H)是安全的,则由规则1得到的状态v*=(b*,M*,f*,I*,H*)也是安全的。

证明:

1) 证明v*满足模型简单安全性公理。

设Ok∈b*(Si:r);

若Ok=Oj,则由规则1可以推出fs(Si)≥fo(Oj),即fs(Si)≥fo(Ok)。

若Ok!=Oj,则Ok∈b(Si:r),由假设状态v满足模型的简单安全性定理可知,fs(Si)≥fo(Ok)。

因此v*满足该模型的简单安全性公理。

2) 证明v*满足模型*特性公理。

a.证明(O∈b(s:r))⟹fo(O)≤fc(S)

同1)可证明,若Ok∈b*(Si:r),fc(Si)≥fo(Ok)

b.证明(O∈b(s:a))⟹fo(O)≥fc(S)

又由规则1可知,发生请求读之后,无论请求是否拒绝,都不改变模型中的只写和读写状态,即∀Ok∈b*(Si:a)⟹Ok∈b(Si:a),有假设状态v满足*特性,因此有fo(Ok)≥fc(Si)。

c.证明(O∈b(s:w))⟹fo(O)=fc(S)

同上可以证明。

综上,v*满足*特性公理。

3) 证明v*满足模型自主安全特性。

设(Si,Oj,x)∈b*。

若Ok=Oj且x=r,由规则1可以推出x=r∈Mij=Mik;

若Ok!=Oj或x!=r,则由规则可知x∈Mik;

因此v*满足自主安全特性。

4) 证明v*满足模型完整性公理。

a.证明(O∈b(s:r,w))⟹IRM(O)-ITS(S)=∅ ors=Iown(O)

设Ok∈b*(Si:r,w);

若Ok=Oj,则有规则1可以推出IRM(Oj)-ITS(Si)=∅或者Si=Iown(Oj),即IRM(Ok)-ITS(Si)=∅或者Si=Iown(Ok)。

若Ok!=Oj,则Ok∈b(Si:r,w),由于假设中状态v也满足完整性公理,因此可以推出IRM(Ok)-ITS(Si)=∅或者Si=Iown(Ok)。

b.证明(O∈b(s:a,w))⟹s∈ITM(O)

证明同上。

综上,v*满足模型*特性公理。

定理2 若状态v=(b,M,f,I,H)是安全的,则由规则2得到的状态v*=(b*,M*,f*,I*,H*)也是安全的。

1)、2)、3)的证明同定理1证明。

4) 证明v*满足模型完整性公理。

a.证明(O∈b(s:r,w))⟹IRM(O)-ITS(S)=∅ ors=Iown(O)

这里采用反证法,存在客体Ok∈b*(Si:r,w),使得状态v*不满足完整性公理。

若Ok=Oj,则由规则2可知,b*=b∪(Si,Oj,a)-(Si,Oj,r)-(Si,Oj,w),因此有(Si,Ok,r)和(Si,Ok,w)不属于b*,与前提Ok∈b*(Si:r,w)相矛盾。

若Ok!=Oj,则Ok∈b(Si:r),若Ok不满足完整性特性,则与假设中的状态v满足模型完整性特性相矛盾。

b.证明(O∈b(s:a,w))⟹s∈ITM(O)

证明同定理1。

综上,状态v*同样满足完整性公理。

定理3 若状态v=(b,M,f,I,H)是安全的,则由规则3得到的状态v*=(b*,M*,f*,I*,H*)也是安全的。

证明同定理2。

4 模型应用与性能分析

4.1 模型实现

为验证本模型能够保护文件分级系统的机密性和完整性,我们在Linux中实现了一个文件分级保护系统原型。Linux中,文件系统调用是内核提供给用户层对文件进行操作的接口,为了保证模型的访问控制不可被屏蔽,本文从核心和用户数据流向的角度,在文件操作系统调用中增加强制访问控制功能[15]。系统中,每个用户对应模型中的一个主体,绑定一个安全级别以及主体可信域,这两个标签在系统启动时被赋予,文件对应模型中的客体,安全级别、可信修改域及文件记录都存储在文件扩展属性区域,系统调用中根据主客体标签按照模型描述的安全策略进行相应的决策,其流程如图1所示。在用户程序最终调用sys_open系统调用获取inode节点后,将文件所有的标签从文件扩展属性读取出来存放在进程任务结构体中。然后在用户程序最终调用sys_read/sys_write时先通过决策系统对主体标签、客体标签以及操作是否满足模型安全策略。若不满足,则拒绝相应的读写访问。整个访问控制过程对于用户程序是透明的,不影响之前的文件系统的使用。

图1 系统文件访问决策框架

4.2 模型应用

本文设计了一个应用场景进行测试。系统中存在4个不同安全级别的主体用户以及2个对应文件客体,如表1和表2所示。

表1 主体安全级

表2 客体安全级

系统中的授权关系如图2所示。在初始化状态下,经理对员工1的文件的读取被允许,这是因为经理本身的安全级别高于文件F2的安全级,并且存在经理对员工1信任,因此在文件F2没有被他人修改的情况下,经理读取文件F2被允许;同理,员工2可以对员工1的文件F2进行读写操作,游客对文件F2的写操作被拒绝。但是,在员工2对员工1的文件F2进行修改后,文件F2则被标记上员工2的修改标识,根据模型的完整性公理,我们应该禁止员工2的信息流向经理,经理对文件F2的读取访问被禁止。最后,文件F2的所有者员工1应该可以确认自身文件的完整性,因此在员工1对文件F2的完整性进行确认后,系统的状态恢复到原始状态。

图2 系统中的授权关系

从整个测试结果来看,该模型的实现符合模型中完整性增强的特点。

4.3 性能测试

本文在系统调用中加入根据用户标签和文件标签的访问控制判断,因此会对性能造成一定的影响。本文在Intel(i7-3770CPU@ 3.40GHz,内存32GB)服务器上对比加入访问控制和没有访问控制下用时开销,如图3、图4所示。

图3 写性能对比

图4 读性能对比

可以看出,访问控制对整个文件系统原来的访问效率影响不大。其中,对于写操作,性能下降不超过5%;对于读操作,性能下降不超过15%。并且随着文件大小的增加,性能下降比率减小,不影响系统的正常使用。

5 结 语

本模型基于经典BLP模型,针对现实中文件多级安全保护场景,对原模型进行完整性增强。该模型增加了一个完整性公理,在多级机密性访问控制的基础上,结合系统中主体的信任关系进行访问授权,约束主体对文件的读写,体现了文件所有者在文件系统中的特殊性,防止了系统中的一些非授权篡改和污点传播,增强了整个系统的完整性。并且最后对模型进行证明以及实例验证。在未来的工作中,我们将对模型进行改进,以适应网络多级多域环境下的安全共享问题。

[1]GasserM.Buildingasecurecomputersystem[M].NewYork:VanNostrandReinhold,1988.

[2]BellDE,LaPadulaLJ.Securecomputersystems:Mathematicalfoundations[R].MITRETechnicalReport2574,1973,1.

[3]BellDE,LaPadulaLJ.Securecomputersystem:Unifiedexpositionandmulticsinterpretation[R].MITRECorporation,1976.

[4] 刘文清,卿斯汉,刘海峰.一个修改BLP安全模型的设计及在SecLinux上的应用[J].软件学报,2002,13(4):567-573.

[5] 何建波,卿斯汉,王超.对两个改进的BLP模型的分析[J].软件学报,2007,18(6):1501-1509.

[6]VitoBLD,PalmquistPH,AndersonER,etal.SpecificationandVerificationoftheASOSKernel[C]//ResearchinSecurityandPrivacy,1990IEEEComputerSocietySymposiumon.IEEE,1990:61-74.

[7] 沈瑛,沈昌祥.基于格的BLP完整性扩展模型[J].北京工业大学学报,2013,39(3):402-406.

[8] 卿斯汉,沈晴霓,刘文清,等.操作系统安全[M].2版.北京:清华大学出版社,2011:83-87.

[9] 刘永楠.数据完整性模型及评估算法的研究[D].哈尔滨:哈尔滨工业大学,2013.

[10] 杨涛,王永刚,唐礼勇,等.一种实用动态完整性保护模型的形式化分析[J].计算机研究与发展,2013,50(10):2082-2091.

[11] 刘彦明,董庆宽,李小平.BLP模型的完整性增强研究[J].通信学报,2010,31(2):100-106.

[12] 边力,陈性元,汪永伟.基于多维标识的文件分级保护模型[J].计算机工程,2011,37(13):132-134,138.

[13]DenningDE.Alatticemodelofsecureinformationflow[J].CommunicationsoftheACM,1976,19(5):236-243.

[14] 李瑞轩,赵战西,王治纲,等.一种基于访问历史的BLP模型[J].计算机科学,2006,33(7):286-289.

[15] 许国春,殷红武.一种面向特定应用的内核级文件加密技术[J].计算机科学,2015,42(6A):393-394,398.

AN INTEGRITY-ENHANCED PROTECTION MODEL OF FILE CLASSIFICATION

Lin Hainan Zhu Jiantao Yin Hongwu

(JiangnanInstituteofComputingTechnology,Wuxi214083,Jiangsu,China)

An integrity-enhanced protection model of file classification is proposed to satisfy the requirement of integrity security of files classification protection, combining the trusting relationship of subjects in system. The model is based on BLP(Bell & LaPadula) model and labels are added to subjects and objects in order to grantee legal access authorization and improve the security axioms and state translation rules, the data flow is limit by the authorization labels. Finally, the model is proved theoretically. The model can grant different users different permissions and limit the broadcast of integrity stain. The analysis and application show that the model not only satisfies the confidentiality of file classify protection but also enhances the integrity of file protection.

Access authorization BLP model Integrity Multilevel-security File protection

2015-10-11。核高基项目(2013ZX01029002-001)。林海南,硕士生,主研领域:操作系统安全。朱建涛,高工。殷红武,高工。

TP3-0

A

10.3969/j.issn.1000-386x.2017.02.058

猜你喜欢

公理完整性客体
石油化工企业设备完整性管理
浅议犯罪客体
浅议犯罪客体
犯罪客体要件与法益概念的功能性反思
欧几里得的公理方法
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
Abstracts and Key Words
浅谈知识产权客体
公理是什么
精子DNA完整性损伤的发生机制及诊断治疗