当前位置:首页 期刊杂志

强制访问控制模型的自主化研究

时间:2024-09-03

◆李晔锋

(1.北京工业大学计算机学院 北京 100124;2.宁波工程学院电信学院 浙江 315211)

强制访问控制模型的自主化研究

◆李晔锋1,2

(1.北京工业大学计算机学院 北京 100124;2.宁波工程学院电信学院 浙江 315211)

强制访问控制是评价计算机系统安全性的标准之一,具有重要的研究意义。但由于它缺乏灵活性,不具有普遍的应用价值,一般在机密度较高的商业或军工领域才有所应用。本文研究了强制访问控制模型的自主化,并提出了一种具有自主控制特性的强制访问控制模型,具有灵活性以及一定的安全性。

计算机安全;强制访问控制;自主化

0 引言

访问控制是系统安全的关键技术[1],其任务是通过限制用户对数据信息的访问能力及范围,保证信息资源不被非法使用和访问[2]。如今一些访问控制模型已被广泛应用到各种系统中,其中最具有代表性的是自主访问控制(DAC)、强制访问控制(MAC)和基于角色的访问控制(RBAC)[3]。

1985 年由美国国防部制定的《可信计算机系统评估标准》(TCSEC)为计算机系统的安全划分为四个大类、七个等级,其中实现简单的自主访问控制和审计功能即能达到C1级,而强制访问控制则是评价更高B1级的基本条件之一。与其它的访问控制技术相比,MAC具有更高的安全性和更强的机密性,并且占用的存储空间较少,但它的缺点是灵活性不够、可操作性差[4]。因此,学术界一直在对强制访问控制模型不断改进,试图让它像DAC一样具有一定的自主性,以期增强它的灵活性,同时又不过于损失安全性。

本文首先概要地说明了强制访问控制模型,包括经典模型的描述和当前的研究现状;然后提出了一种具有自主化特性的MAC,其核心分别是访问控制矩阵、局部性和继承性;最后对全文进行了总结。

1 强制访问控制模型概述

1.1 经典强制访问控制模型

强制访问控制(MAC)最早出现在20世纪70年代,是美国政府和军方源于对信息机密性的要求以及防止特洛伊木马之类的攻击而研发的。它是一种基于安全级标记的访问控制方法,即对于系统中的每一个主体和客体都会被赋予一个安全级(Security Level),用于限制主体对客体的访问操作。大多数系统中的安全级分为四种:绝密(Top Secret)、秘密(Secret)、机密(Confidential)和无级别(Unclassified),从高到低分别表示为T>S>C>U。对于经典的Bell-LaPudula模型[5],它的访问控制判定规则如表1所示(R表示读、W表示写):

表1 Bell-LaPudula模型的访问控制判定规则

Bell-LaPudula的特性可以概括为两以下两点:

(1)简单安全特性:若主体S的安全级高于客体O的安全级,则主体S可读客体O。

(2)*-特性:若主体S的安全级低于客体O的安全级,则主体S可写客体O。

Bell-LaPudula模型的特性简单描述为为“下读上写”,可以防止低安全级的主体读取高安全级的信息,原则上制止了信息从高级别的实体流向低级别的实体,它是一种基于保密性的强制访问控制模型。但是,由于低安全级的主体对于高安全性的客体拥有写权限,可以修改其中的内容,因此这种模型无法保证客体的完整性不被破坏。

类似地,Biba模型[6]针对信息完整性而设计,它的特性与Bell-LaPudula模型完全相反,即“上读下写”。它的缺点也是显而易见,只确保完整性却无法兼顾保密性。Dion模型[7]结合了Bell-LaPudula模型和Biba模型的特征,为每一个主体和客体赋予两个安全级,分别对应保密性和完整性,进一步提高了数据的安全性,但是系统的灵活性受到了更大的影响。

1.2 强制访问控制模型的研究现状

从21世纪初开始,信息安全领域的学者着手在Bell-LaPudula模型和Biba模型的基础上进行改造,以满足在特定场合中的安全需求。最直接的方法是改进如表1所示的判定规则,如王琨等提出的EBLP模型[8]和曹四化等提出的基于用户意愿的BLP模型[9]等。

另一种思路是把MAC和其它具有灵活性的访问控制技术进行结合,提出了新的访问控制模型。如Osborn考虑把MAC和RBAC结合,把原先作用于主体的安全级分配给角色[10],这种思想在李立新等提出的安全系统中得到了改进和强化[11]。

此外,为了进一步提高访问控制的灵活性,一些研究允许特定的用户(超级管理员或安全管理员)临时修改主体和客体的安全级。如吴飞林等在MySQL中实现了一种可定制的强制访问控制模型[12],并且在不同的数据库中得到了应用和发展[13][14]。这种思路无需修改判定规则,也无需对经典模型进行大幅度扩展,同时又提高了灵活性,为当前多数的操作系统和数据库管理系统所采用的主要手段。

2 一种具有自主控制特性的强制访问控制模型

在1.2节中提到的修改主体和客体安全级的方法是一种强制访问控制模型“自主化”的思想,通过赋予特定用户权限去修改模型中的关键属性,满足不同场合下的访问控制需求,以达到灵活性的目标。本文提出了另一种具有自主性的强制访问控制模型,其不同点在于把针对性放在访问控制判定规则上,不需要修改用户的安全级。

2.1 访问控制矩阵

表1所示的访问控制判定规则可以用一个4×4的矩阵表示,在Bell-LaPudula模型和Biba模型中,它一旦确定就不能进行更改,固定在了系统实现代码中。本文提出的思想是首先对该访问控制矩阵进行更改,包括对安全级和访问权限进行重新定义如下:

定义1 安全级

主体和客体的安全级由范围为[1, N]的正整数表示,取值越小表示安全级越高,N的值在系统安装时确定,以后不得更改。

使用正整数表示安全级有两种优点:首先,把安全级的名字跟它的真正意义分开。表1中的T、S、C和U只是代号,在一个系统中以这种方式命名,但是在另一个系统中可能使用其它的名字。其次,不同的系统安全级的数量也有可能不同,即使N值较大不但不影响系统使用,反而增强了可扩展性。

定义2 权限

权限是一个用二进制表示的正整数,其中每一位表示一种原子权限(读、写、执行等,分别对应为100、010和001)。这样,所有权限可以用111表示,反之无权限用000表示,满足最小特权原则,增强系统的安全性。

定义3 访问控制矩阵

访问控制矩阵是k阶方阵,表示为M=[m(i, j)],其中i, j∈[1, k], k≤N。矩阵中的每一项m(i, j)的值为定义2中的权限值,i对应主体的安全级,j对应客体的安全级。整个矩阵被对角线划分为“左下区”和“右上区”两个部分,分别对应i<j和i>j的情况。此外,还对矩阵作如下的限制:

(1)只有在i=j时,即对角线的元素才允许执行操作。这一点保证同安全级的主体对客体拥有执行操作,保证安全性。

(2)当i<j时,m(i-1, j)≤m(i, j);当i>j时,m(i+1, j)≤m(i, j)。这一点表示主体与客体的安全级差距越大,拥有的权限只会越小。

(3)在“左下区”或“右上区”内不能同时出现原子的读或写权限。这一点与第(2)点结合表示主体与客体的安全级差距到了一定的程度,信息只能单向流动。

特别地,当矩阵的左下区均为原子写权限、右上区均为原子读操作时,满足Bell-LaPudula模型,称该矩阵为BLP矩阵,反之则称为Biba矩阵。

2.2 模型的自主化

一个文件系统通常由目录和文件组成,并且目录还能嵌套,形成多级的层次结构。类似地,一个DBMS可能由多个数据库组成,每个数据库中会有多张表。无论系统的结构多复杂,在传统的MAC模型中,只有唯一的访问控制矩阵,并且作用于系统中任何的主体与客体。

本文提出的扩展模型的核心思想在于,允许系统中存在多个访问控制矩阵,由特定的管理员用户进行设置。它包含三个特性:

(1)整个系统拥有一个访问控制矩阵,称为“全局矩阵”或者“根矩阵”。

(2)每个域(如目录、数据库等)拥有自己的访问控制矩阵,称为“局部矩阵”,并规定局部矩阵的阶数不能超过全局矩阵的阶数N。

(3)如果某个目录没有显式地定义局部矩阵,则它的访问控制规则可以从全局矩阵或者父目录的局部矩阵继承。这一点称为模型的“继承性”。

下面通过一个例子来说明模型的自主性和灵活性:在一个共享的主目录下有多个子目录,假设目录1中存放绝密文件,它的访问控制矩阵为M1;目录2中存放普通的文本文件,如用户留言、共享文档等,它的访问控制矩阵为M2。现在,安全管理员可以根据存放在目录中的文件安全级设置对应的访问控制矩阵。

假设目录1中的绝密文件的安全级只有1和2,那么M1可为二阶BLP矩阵,使得只有安全级为1和2的主体能够遵循“下读上写”的原则进行操作,其它安全级的主体没有任何权限,从一定程度保护绝密文件的完整性不被破坏。

假设目录2中的普通文件的最低安全级为N,那么可以设置矩阵M2为N阶,它的右上区所有权限值为110,左下区所有权限值为000,这样任何安全级的主体都可以对比它安全级低的文件拥有读写操作,满足特殊场合的访问控制需求,又因为客体安全级已为最低,矩阵的左下区取值没有任何意义。

在提高了灵活性的同时,模型也有不足之处:首先,它需要额外的存储空间为每个域维护访问控制矩阵;其次,安全管理员权限变得极其重要,一旦丢失或者被窃取将造成严重的后果。

3 结束语

本文通过分析MAC的特点和研究现状,提出了一种具有自主性的强制访问控制模型。该模型重新定义了安全级和权限的概念,作为访问控制矩阵的基本元素,并且特定的用户可以为每一个域维护自身的访问控制矩阵,充分体现了模型的全局性、局部性和继承性。总体而言,该模型不但具有更高的灵活性,而且在安全性方面也有提升。

[1]封富君, 李俊山.新型网络环境下的访问控制技术[J].软件学报, 2007.

[2]王于丁, 杨家海, 徐聪等.云计算访问控制技术研究综述[J].软件学报, 2015.

[3]李晔锋.MongoDB的RBAC访问控制技术研究[J].网络安全技术与应用, 2017.

[4]周洲仪. 操作系统强制访问控制关键技术研究[D].中国科学院软件研究所, 2009.

[5]Bell D E, Lapadula L J. Secure Computer Systems: Mathematical Foundations[J]. Proceedings of the Cornputer Secilrity Formdations Workshop Vu, 2007.

[6]Biba K J.Integrity Considerations for Secure Computer Systems[J].Electronic Systems Div Air Force Hanscom Afb,1977.

[7]Dion L C. A Complete Protection Model[C]// Security and Privacy, 1981 IEEE Symposium on. IEEE, 1981.

[8]王琨, 孙超, 文峰等.基于扩展BLP模型的强制存取控制的研究与实现[J].沈阳理工大学学报, 2006.

[9]曹四化,何鸿君.基于用户意愿的改进BLP模型IB_BLP[J].计算机工程, 2006.

[10]Osborn S. Mandatory access control and role-based access control revisited[C]// ACM Workshop on Role-Based Access Control. ACM, 1997.

[11]李立新, 陈伟民.强制访问控制在基于角色的安全系统中的实现[J].软件学报, 2000.

[12]吴飞林, 王晓艳, 郎波.基于MySQL的可定制强制访问控制的研究与实现[J].计算机应用研究, 2007.

[13]周述文.达梦数据库强制访问控制机制研究[D].华中科技大学, 2008.

[14]朱祥彬.安全数据库强制访问控制的研究与实现[D].吉林大学, 2010.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!