一种面向操作系统应用类的安全策略

资源类型:pdf 资源大小:274.00KB 文档分类:工业技术 上传者:赵勤

相关文档

批量下载下列文档

文档信息

【作者】 郑志蓉  蔡谊  沈昌祥 

【关键词】操作系统 应用类 应用域 用户域 BLP模型 DTE安全策略 

【出版日期】2005-05-20

【摘要】从保密性和完整性的角度分析了用户普遍使用的、建立在自主访问控制机制上的、应用在高安全等级操作系统上运行所面临的安全问题,提出了一种面向应用类的安全策略。面向应用类的安全策略将用户使用的应用抽象为应用类,定义了主体的运行状态——用户域和应用域以及客体的类别——用户数据和应用类数据,定义了用户数据访问控制规则、应用类数据访问控制规则以及主体安全状态的迁移规则,防止了用户数据的非授权泄露和应用类数据的非授权修改,为用户建立了一种高安全的应用环境。

【刊名】计算机工程

全文阅读

1概况随着网络和信息技术的发展,出现了大量面向普通用户的应用软件,包括电子邮件应用、WWW应用、办公套件应用等。这些应用的显著特点是在操作系统上只需安装一次,而系统上任何合法用户都可以使用。根据桔皮书标准,为了防止信息的非授权泄露,B类以上的安全操作系统要求系统中的主体和客体必须进行安全标识并赋予一定的安全级别,同时按照BLP模型信息流向只能从低安全等级到高安全等级。一个应用如果想正常运行,不仅要读入用户数据,输出用户需要的数据,而且为维护自身的正常运行必须消耗系统资源,这些资源包括各种配置数据、日志数据以及运行过程中临时产生的数据等。按照高等级安全操作系统的要求,系统中的任何客体都要进行安全标识,但为保证应用软件的正常运行,对应用软件运行中需要读写的数据,必须违反BLP模型,否则应用无法正常运行。大多数面向用户的应用软件在用户第一次运行该软件时,自动在用户主目录下生成面向该应用的用户个人配置信息,临时数据存储目录等数据资源。在实际应用中,用户并不关心也不知道这些数据资源如何被使用。由于这些数据资源位于用户的主目录下,用户具有对这些应用资源读写的权利,如果用户无意中破坏了某个应用的数据资源,将影响用户对该应用的正常使用。另一方面,由于几个应用的数据资源同时位于用户的主目录下,当任何一个带有安全漏洞或者已经被恶意破坏的应用,可以不受限制地更改其余应用的数据资源,从而破坏正常应用的运行,造成信息的非授权修改,破坏系统的完整性。根据上述分析,支持应用安全的操作系统必须达到以下目标:(1)保护用户个人数据的非授权泄露,信息只能从低安全等级的用户流向高安全等级的用户。(2)为应用构造可信的安全管道,防止应用之间的非授权修改,为用户构造安全的应用环境。2安全策略的描述2.1几个定义约定1S是主体集合;ST是可信主体集合,S’是不可信主体集合S’=S-ST。面向应用的安全策略适用于不可信主体集合S’。O是客体集合。C为保密性等级集合。访问控制集合A。A={r,w,e,a}。其中:“r”表示可读不可写方式,“a”表示可写不可读方式,“w”表示可读且可写方式,“e”表示不可读且不可写(可执行)方式。当前存取集B:B∈(S×O×A)。定义1应用类集合AP。应用类是为用户提供特定服务的一组应用程序对象。其中每个应用类ap∈AP可表示为:ap:=(DDap,OIap,ITFap,UENTap,AENTap)。其中DDap,OIap,ITFap,UENTap,AENTap分别表示应用类ap的数据集合、操作集合、对外服务接口集合、用户入口点集合和应用类入口点集合。DDap:应用类数据集合。应用类数据集合是应用类正常运行所必需的资源集合。这些数据集合包含可执行代码文件、配置文件、日志文件等保证应用程序对外提供服务所使用的资源。OIap:应用类操作集合。应用类操作集合由应用类正常运行的指令集合组成。指令集合的静态形式为可执行程序或脚本,动态形式即为代表用户的主体-进程。其中OIap?DDap。ITFap:对外服务接口集合。对外服务接口集合是应用类对用户提供服务的唯一接口。用户通过该接口向应用类输入数据获取所需的服务,应用类响应用户的服务请求并向用户输出数据。UENTap:用户入口点集合。用户入口点集合是用户启动一个应用类的唯一通道。通常入口点就是可执行程序或脚本的路径名。AENTap:应用类入口点集合。应用类入口点集合是其它应用类启动该应用类的唯一通道。应用类入口点是可执行程序或脚本的路径名。定义2应用域集合AD。应用域是某个应用类操作集合(OI)可以活动的逻辑抽象空间,用户一旦进入应用域,它的活动空间就被限定在这个域内,应用域从逻辑上限定了某个应用类的执行环境。应用类型集合AT。应用类型是应用类数据的一种属性。对于某种应用类型,如果没有明确的授权,任何主体都不能创建、修改或读取具有该类型的数据。就某种应用类型的保密性和完整性属性来讲,具有相同应用类型的客体具有相同的保密性和完整性要求。因此应用类型是应用类数据保密性和完整性属性的等价类。应用类到应用域间的一一映射函数gad。gad(ap)∈AD。由于应用类和应用域间存在一一映射关系,因此以下的描述中应用类和应用域表达的含义是相同的。定义3完整性规则集合IVP。完整性规则ivp∈IVP是应用类操作集合OIap到{YES,NO}的映射,其中YES=1,NO=0。YES表示应用类操作集合符合完整性规则,NO表示不符合完整性规则。应用域到完整性规则集合的函数kivp。Kivp(ad)∈IVP是AD到IVP间的映射。?ad∈AD,有且仅有唯一的kivp(ad)∈IVP。定义4应用域间关系矩阵ADM。ADM={ADM|ADM是矩阵∧ADM中元素ADMi,j∈{TRUE,FALSE}}。ADM(i,j)=TRUE表示应用类api可以通过执行应用类apj的入口点AENTapj转换到应用类apj。应用域与应用类型关系矩阵ADTM。ADTM={ADTM|ADTM是矩阵∧ADTM中元素ADTM(i,j)?A是应用域adi到应用类型atj的访问控制集合}。定义5用户数据集合UD。用户数据集合表示用户拥有的数据集合。用户操作集合UO。面向用户个人使用的可执行代码集合。UO?UD。定义6主体安全属性集合SAD:={(cs,ad,sclass)|cs∈C,ad∈AD,sclass∈{TRUE,FALSE},其中TRUE表示该主体属于应用类操作集合OIap,ap=g-1ad(ad),处于应用域状态;FALSE表示该主体不属于应用类操作集合,属于用户操作集合UO,处于用户域状态}。客体安全属性集合OAT:={(co,at,oclass)|co∈C,at∈AT,oclass∈{TRUE,FALSE},其中TRUE表示该客体属于应用类数据集合DDap,ap=g-1ad(ad);FALSE表示该客体不属于应用类数据集合属于用户数据集合UD}。主体安全属性函数fs:fs(s)∈SAD,s∈S’。客体安全属性函数fo:fo(o)∈OAT,o∈O。根据上述定义,系统中的客体集合是用户数据集合和所有应用类数据集合的并集,并且用户数据集合和应用类数据集合的交集为空。即O=UD∪∑DDap,ap∈AP并且UD∩∑DDap=NULL。某个应用类的数据集合可以根据应用域与应用类型关系距阵ADTM和客体安全属性函数导出,即DDap={o|f(o)=(co,at,class),oclass=TRUE,ADTM(ap,at)?A}。2.2安全规则(1)用户数据访问规则对任意b=(s,o,x)∈B,若fs(s)=(cs,ad,sclass),fo(o)=(co,at,oclass),oclass=FALSE,则1)x=a→cs≤co;2)x=w→cs=co;3)x=r→cs≥co;4)x=e→cs≥co;无论主体处于用户域状态对用户数据的访问还是用户处于应用域状态通过对外服务接口集合OIap对用户数据的访问,用户数据访问规则只允许信息从低安全等级流向高安全等级。(2)应用类数据访问规则对任意b=(s,o,x)∈B,fs(s)=(cs,ad,sclass),fo(o)=(co,at,oclass),oclass=TRUE,则1)x=a,x=w,x=r→x∈ADTM(ad,at);2)x=e→x∈ADTM(ad,at);3)x=e→sclass=TRUE,o的路径名Path(o)∈AENTap并且ga(ap)=nad,TRUE∈ADM(ad,nad)并且ivp=Kivp(nad),ivp(OIap)=TRUE。4)x=e→sclass=FALSE,o的路径名Path(o)∈UENTap并且ga(ap)=ad,ivp=Kivp(ad),ivp(OIap)=TRUE。应用类数据访问规则1)、2)限定了只有主体处于应用域状态才能对应用类数据访问,同时规定了不同的应用域各自能够访问的应用类数据集合。规则3)规定了从一个应用域转换到另一个应用域的3个条件:应用域关系矩阵必须明确二者之间可以转换;必须通过指定的入口点进行转换;转换之前,新的应用域操作集合必须经过完整性规则的检验。规则4)规定了用户域状态到应用域状态间的转换规则,用户只能通过指定的用户入口点进入应用域,并且应用域操作集合必须符合相应的完整性规则。(3)主体安全属性赋值迁移规则1)主体初始安全属性fs(s)=(cs,ad,sclass),其中cs为主体当前的安全级别;ad无意义;sclass=FALSE,表示主体处于用户域状态。2)对任意b=(s,o,x)∈B,若fs(s)=(cs,ad,sclass),fo(o)=(co,at,oclass)并且满足用户类访问控制规则4)时,则sclass=FALSE;3)对任意b=(s,o,x)∈B,若fs(s)=(cs,ad,sclass),fo(o)=(co,at,oclass)并且满足应用类访问控制规则2)时,则sclass=TRUE,ad保持不变;4)对任意b=(s,o,x)∈B,若fs(s)=(cs,ad,sclass),fo(o)=(co,at,oclass)并且满足应用类访问控制规则3)时,则ad=ga(ap)并且sclass=TRUE。5)对任意b=(s,o,x)∈B,若fs(s)=(cs,ad,sclass),fo(o)=(co,at,oclass)并且满足应用类访问控制规则4),则ad=ga(ap)并且sclass=TRUE。规则1)规定了主体的初始状态-用户域状态。规则2)规定了当用户处于用户域状态,执行用户操作集合时,安全状态不变仍然保持用户域状态。规则3)表示当用户处于应用域状态,执行其自身的应用类操作集合时,安全状态保持不变仍然为应用域状态。规则4)表示当用户处于应用域状态,执行另外某个应用类入口点集合时,安全状态保持不变仍为应用域状态,但应用域标识发生改变。规则5)表示当用户处于用户域状态,执行某个应用类的用户入口点集合,安全状态由用户域状态转换为应用域状态。2.3推论推论1主体不能通过非应用类读写应用类数据。证明任意b=(s,o,x)∈B,x∈{r,w,a},fs(s)=(cs,ad,sclass),当sclass=FALSE时,当前主体为非应用类,ad无意义,ADTM(ad,at)=NULL,x∈ADTM(ad,at)。根据应用类数据访问规则,系统拒绝b=(s,o,x)。因此用户不能通过非应用类读写应用类数据。推论2当应用类没有被非授权修改时,用户数据不能从高密级流向低密级。证明根据用户数据访问规则3)和4),主体只能读安全属性比自己低的用户数据;根据用户访问控制规则1),主体只能写安全属性比自己高的用户数据。因此无论主体处于用户域还是应用域状态,用户数据不能从高密级流向低密级。根据推论1,用户不能通过非应用类读写应用类数据,因此用户不能通过非授权手段将高密级用户数据写入应用类数据空间,也不能通过非授权手段从应用类数据空间读出高密级用户数据,应用类数据不能作为信息泄露的隐通道载体。综上所述,当应用类没有被非授权修改时,用户数据不能从高密级流向低密级。3结束语面向应用类的安全策略通过将操作系统应用抽象为应用类,描述了应用类的内部和外部特征;将系统中的客体分为用户数据和应用类数据,区分了用户保护数据和应用类运行的中间数据;用户通过应用类的对外服务接口集合,向应用类提交用户数据和接收用户数据。在用户数据区面向应用类的安全策略采用BLP模型解决用户数据的保密性问题,在应用类数据区采用DTE技术解决应用类数据的完整性问题。该策略既防止了用户个人数据的非授权泄露,使得信息只能从低安全等级用户流向高安全等级用户,同时又防止了不同应用之间的非授权修改,为用户构造了安全的应用环境。如果用户操作集合为空,即系统中能够运行的只有应用类操作集合,则在应用类没有被非授权修改的情况下,用户数据不会被非授权修改,不存在用户数据的完整性问题。但反之,在用户操作集合不为空的情况下,如果某安全级别的用户操作集合含有病毒或恶意代码,那么高于该安全级别的用户数据集合的完整性

1 2

引证文献

问答

我要提问