目录
一、基本概念
1.客体与主体
2.引用监控器与引用验证机制
3.安全策略与安全模型
4.安全内核
5.可信计算基
二、访问矩阵
三、访问控制策略
1.主体属性
2.客体属性
3.授权者组成
4.访问控制粒度
5.主体、客体状态
6.历史记录和上下文环境
7.数据内容
8.决策层次
9.策略扩展
一、基本概念
1.客体与主体
客体是一种蕴涵或接收信息得被动实体。例如,操作系统中的文件、目录、管道、消息、信号量、进程和内存页等,数据库系统中的库、表和字段等,信息网络中的通信线路和计算节点等,都是信息系统中的常见客体。
主体是一种主动实体,它的活动引起信息在客体之间流动。例如,用户、用户组和进程等。在信息系统中,最基本的主体是用户(包括一般用户和系统管理员、系统安全员、系统审计员等特殊用户)。
在操作系统中,进程(包括用户进程和系统进程)一般有着双重身份,它即可能是主体,也可能是客体。当一个进程运行时,它必定直接或间接地为某一用户服务,处理该用户地操作要求,而用户的所有操作请求都要通过进程来代理其进行。进程既是用户行为的客体,又是其访问对象的主体。例如,在编辑一个文件时,编辑器进程代表用户执行文件编辑操作,相当于用户行为,它是客体;而相当于它所编辑的文件,它又是主体。
2.引用监控器与引用验证机制
引用监控器是一种对主体访问客体的行为进行仲裁的抽象装置,是访问控制机制的理论基础。访问控制数据库中存放主体、客体、主体对客体的访问模式等信息,引用监控器以访问数据库中的信息为依据,对主体访问客体的行为进行安全判决。显然,随着主体和客体的产生、删除或其权限的变更,访问控制数据库中的内容要做相应的增删或修改。引用监控器的关键需求是控制主体对客体的每一次访问,并对安全敏感事件进行审计。
引用监控器的具体实现称为引用验证机制,它是实现引用监控起思想的硬件和软件的组合,引用验证机制需要同时满足一下三个原则:
(1)必须具有自我保护能力;
(2)必须总是处于活跃状态;
(3)必须设计得足够小,以利于分析和测试。
第一个原则保证引用验证机制即使受到攻击也能保持自身得完整性;第二个原则保证主体对客体得所有引用,都应得到引用验证机制得仲裁;第三个原则保证引用验证机制得实现是正确的。
3.安全策略与安全模型
安全策略是一种声明,它将系统状态划分为安全态(或称已授权态)和非安全态(或称未授权态)。安全系统是一种始于安全态,且不会进入非安全态的系统。而如果系统进入了非安全态,则称其发生了一次安全破坏。
安全策略由一整套严密的规则组成,这些规则是实施访问控制的依据。说一个信息系统是安全的,是指它满足特定的安全策略。同样进行信息系统的安全设计和开发时,也要围绕一个给定的安全策略进行。许多系统的安全控制失效,主要不是因为程序错误,而是没有明确的安全策略。
安全模型是对安全策略所表达的安全需求得简单、抽象和无歧义得描述。它为安全策略和安全策略的实现机制的关联提供了一种框架。Anderson指出,要开发安全系统首先必须建立系统的安全模型。安全模型给出了安全系统的形式化定义,并且正确地综合系统地各类因素,包括系统的使用方式、使用环境类型、授权定义、共享资源和共享类型等。
4.安全内核
在引用监控器思想的基础上,Anderson定义了安全内核的概念。安全内核是指系统中与安全性实现相关的部分,包括引用验证机制和授权管理机制等部分。安全内核是实现引用监控器概念的一种技术,其理论依据是:在一个大型的操作系统中,仅有一小部分软件是用于安全目的。所以,可用其中与安全相关的软件,来构成操作系统的一个可信内核,称为安全内核。安全内核法是建立安全操作系统的一种最常用的方法。
大多数情况下,安全内核是一个简单的系统,如同操作系统为应用程序提供服务一样,它为操作系统提供服务。而且正如操作系统给应用程序施加限制,安全内核也同样对操作系统施加限制。当安全策略完全由安全内核而不是由操作系统实现时,仍需要操作系统维持系统的正常运行,并防止由于应用程序的致命错误而引发的拒绝服务。但是操作系统和应用程序的任何错误均不能破坏安全内核的安全策略。
5.可信计算基
操作系统的安全依赖于一些具体实施安全策略的可信的软件和硬件。这些软件、硬件和负责系统安全管理的人员一起组成了系统的可信计算基(TCB)。具体来说可信计算基由一下几部分组成。
(1)操作系统的安全内核。
(2)具有特权的程序和命令。
(3)处理敏感信息的程序,如系统管理命令等。
(4)与TCB实施安全策略有关的文件。
(5)其他有关的固件、硬件和设备。这里要求为使系统安全,系统的固件和硬件部分必须能可信地完成它们的设计任务。原因在于固定和硬件故障,可能引起信息的丢失、改变或生产违反安全策略的事件。因此把安全操作系统中的固件和硬件也作为TCB的一部分来看待。
(6)负责系统管理的人员。由于系统管理员的误操作或恶意操作也会引起系统的安全性问题,因此他们也被看做是TCB的一部分。系统安全管理员必须经过严格的培训,并慎重地进行系统操作。
(7)保障固件和硬件正确的程序和诊断软件。
以上所列的TCB的各组成部分中,软件部分是安全操作系统的核心内容,它们完成下述工作:
(1)内核的良好定义和安全运行方式;
(2)标识系统中的每个用户;
(3)保持用户到TCB登录的可信路径;
(4)实施主体对客体的存取控制;
(5)维持TCB功能的正确性;
(6)监视和记录系统中的有关事件。
在一个通用安全操作系统中,TCB是用来构成一个安全操作系统的所有安全保护装置的组合体。一个TCB可以包含多个安全功能,每个安全功能模块实现一个安全策略,这些安全策略共同构成一个安全域,以防止不可信主体的干扰和篡改。
实现安全功能的方法有两种,一种是设置前端过滤器,另一种是设置访问监督器。两者都是在一定硬件基础上,通过软件实现确定的安全策略,并且提供所要求的附件服务。例如作为前端过滤器的安全功能,能防止非法进入系统;作为访问监督器的安全功能,则能防止越权访问,等等。
在单处理机环境的操作系统中,根据系统设计方法的不同,TCB可以是一个安全内核,也可以是一个前端过滤器,或者就是操作系统的关键单元或包括全部操作系统。对于网络环境下的多处理机操作系统,一个安全功能可能跨网络实现,这种情况要比单处理机操作系统更为复杂。这些安全功能协同工作,构成一个物理上分散、逻辑上同一的分布式安全系统,其所能提供的安全策略和附加服务则为各个安全功能的总和。
二、访问矩阵
访问矩阵是以主体标识为行索引、以客体标识为列索引的矩阵,矩阵中的每一个元素表示一组访问权限的集合。
访问矩阵中的一行表示一个主体的所有权限,一列则是关于一个客体的所有访问属性,矩阵中的元素是该元素所在行对应的主体对该元素所在列对应的客体的访问权限。从本质上来说,任何访问控制策略都可以用矩阵直观表示:行对应于主体,列对应于客体,矩阵元素对应于授权。
由于信息系统的资源量和用户数较多,访问矩阵一般庞大而稀疏,如果把整个矩阵保存下来,不仅实现起来不方便,而且效率很低。因此,在实际中,很少用它直接描述或实现访问控制策略。
三、访问控制策略
访问控制策略是在系统安全系统安全较高层次上对方问控制和相关授权的描述,它的表达模型常被称为访问控制模型,是一种访问控制方法的高层抽象和独立于软、硬件实现的概念模型。在制定访问控制策略时,首先要考虑系统的安全性为目标,有的还要求提供可记账和可用性。这些要求,都会影响访问控制策略的制定。此外,在制定访问控制策略时,通常还要考虑如下要素。
1.主体属性
主体属性主要有用户的级别和类别。在信息系统中,可以将用户分为多种普通用户和管理员用户,使之具有组别属性;还可以根据用户的工作职责,赋予其不同角色属性。主体属性还可能包括相关执行程序的性质、所处的网络或物理地址等,它们也可能使授权的依据。例如,很多单位约定,不能从家中访问办公室的资源。在安全性要求更高的情况下,主体属性还可能包括其安全状态。例如,访问控制系统在允许某计算机接入到系统之前,可以首先评估该主机自身健康状况,如果发现其未安装杀毒软件,则认为其感染病毒的概率较大,此时可能不予授权连接。
2.客体属性
客体属性主要有客体的信息级别、可对其执行的操作等。例如,在操作系统中,资源的访问属性有是否可读、是否可写、是否可执行、是否可连接等属性;在普通信息系统中,客体属性还可能包括密级、是否可查询、是否可删除、是否可增加等。在安全性要求更高的情况下,客体属性也可能包括其安全状态。例如,系统可能认为某些客体已经感染计算基病毒或来源不可信,因而不允许用户访问。
3.授权者组成
在信息系统中,可能的授权者包括资源的属主(一般是资源的创建者)和系统管理者。因此,策略的制定,需要考虑资源所有者和系统分别在多大程度参与授权的问题。
4.访问控制粒度
访问控制粒度是指将访问控制中的主体和客体分为不同尺度的实体来实施管理。例如,主体粒度可以分为用户、用户组等;在数据库系统中,客体的粒度可以分为数据库、数据库表、数据记录和数据项等不同粒度。
5.主体、客体状态
主体、客体状态包括它们所处的地点、当前时间和当前受访状态等,例如,一些系统不但不允许单位员工从外部网络访问内部数据,对访问的时间也有限制;并且,当一个客体被多个连接访问时,还可能要求阻止其他连接请求。
6.历史记录和上下文环境
有时,信息系统会要求根据主体曾经访问过的客体、客体的被访问记录和当前状况、被访问客体之间的关系等历史记录和上下文环境,动态地进行访问控制决策。例如,在数据库安全中,有的系统要求仅当主体没有访问过雇员姓名数据,才允许其访问雇员工资数据。
7.数据内容
可以对数据内容作多种分类,并分类实施授权和访问控制。例如,可以按照数值大小或内容性质分类。例如,在数据库访问控制策略中,仅当某项数值大于一定值时,才允许用户查看,这个数值可能是雇员工资、合同金额或考试成绩。
8.决策层次
即要确定在信息系统中地哪个层次上实施访问控制决策。例如,操作系统中存在低层地磁盘读/写和高层地文件读/写指令,计算机网络中包括不同层次地通信协议。在制定访问控制策略时,需要确定该策略在系统地决策层次。
9.策略扩展
访问控制策略应该可以提供一定地可扩展性。这里可扩展性主要是指所扩展的功能能够由已有的系统部件自动实施,所扩展的规则也可以用已有的规则描述。