强制访问控制

更新时间:2024-05-21 11:52

强制访问控制(英语:mandatory access control,缩写MAC)在计算机安全领域指一种由操作系统约束的访问控制,目标是限制主体或发起者访问或对对象或目标执行某种操作的能力。在实践中,主体通常是一个进程线程,对象可能是文件目录TCP/UDP端口、共享内存段、I/O设备等。主体和对象各自具有一组安全属性。每当主体尝试访问对象时,都会由操作系统内核强制施行授权规则——检查安全属性并决定是否可进行访问。任何主体对任何对象的任何操作都将根据一组授权规则(也称策略)进行测试,决定操作是否允许。在数据库管理系统中也存在访问控制机制,因而也可以应用强制访问控制;在此环境下,对象为表、视图、过程等。

基本介绍

强制访问控制(英语:mandatory access control,缩写MAC)在计算机安全领域指一种由操作系统约束的访问控制,目标是限制主体或发起者访问或对对象或目标执行某种操作的能力。在实践中,主体通常是一个进程线程,对象可能是文件目录TCP/UDP端口、共享内存段、I/O设备等。主体和对象各自具有一组安全属性。每当主体尝试访问对象时,都会由操作系统内核强制施行授权规则——检查安全属性并决定是否可进行访问。任何主体对任何对象的任何操作都将根据一组授权规则(也称策略)进行测试,决定操作是否允许。在数据库管理系统中也存在访问控制机制,因而也可以应用强制访问控制;在此环境下,对象为表、视图、过程等。

通过强制访问控制,安全策略由安全策略管理员集中控制;用户无权覆盖策略,例如不能给被否决而受到限制的文件授予访问权限。相比而言,自主访问控制(DAC)也控制主体访问对象的能力,但允许用户进行策略决策和/或分配安全属性。(传统Unix系统的用户、组和读-写-执行就是一种DAC。)启用MAC的系统允许策略管理员实现组织范围的安全策略。在MAC(不同于DAC)下,用户不能覆盖或修改策略,无论为意外或故意。这使安全管理员定义的中央策略得以在原则上保证向所有用户强制实施。

在历史上和传统上,MAC与多层安全(MLS)和专业的军用系统密切相关。在此环境中,MAC意味着高度严格以满足MLS系统的约束。但在最近,MAC已从MLS本身中发展出来,并变得更加主流。最近的MAC实现有诸如面向Linux的SELinuxAppArmor,以及面向Windows的强制完整性控制,它们使管理员得以关注没有严格或MLS约束时遇到的如网络攻击或恶意软件等问题。

历史背景

历史上,MAC与作为保护美国等级信息的多层安全(MLS)手段密切相关。可信计算机系统评估标准(TCSEC)就是就这一主题的开创性工作,其中将MAC定义为“基于对象中包含信息的敏感性(由标签表示)来显示对对象的访问途径以及对象访问这种敏感信息的授权”。MAC的早期实现有Honeywell的SCOMP、USAF SACDIN、NSA Blacker,以及的波音MLS LAN。

术语MAC中的“强制性”已经因其在军事系统中的使用而获得了特殊含义。在这方面,MAC意味着非常高的健壮性,确保控制机制能够抵抗任何类型的破坏,从而使他们能够执行由政府命令授权的访问控制,诸如面向美国等级信息的第12958号行政命令。强制施行的保证性要求要高于商业应用,因此这不允许采用“尽力而为”的机制。MAC只接受能够绝对或者几乎绝对地保证任务执行的机制。这点对于不熟悉高保证策略的人来说可能很困难或者被假定为不切实际。

系统强度

在某些系统中,用户有权决定是否向其他任何用户授予访问权限。为允许这点,所有用户都必须有所有数据的审查许可。这不是MLS系统所需必要条件。如果个人或进程可能被拒绝访问系统环境中的任何数据,则系统必须可信以强制执行MAC。由于可能存在各种级别的数据等级和用户许可,这也显示了健壮性的量化指标。

客体

通常是指信息的载体或从其他主体或客体接收信息的实体。

主体有时也会成为访问或受控的对象,如一个主体可以向另一个主体授权,一个进程可能控制几个子进程等情况,这时受控的主体或子进程也是一种客体。

控制分类

客体不受它们所依存的系统的限制,可以包括记录、数据块、存储页、存储段、文件、目录、目录树、库表、邮箱、消息、程序等,还可以包括比特位、字节、字、字段、变量、处理器、通信信道、时钟、网络结点等。

自主访问控制

管理的方式不同就形成不同的访问控制方式。一种方式是由客体的属主对自己的客体进行管理,由属主自己决定是否将自己客体的访问权或部分访问权授予其他主体,这种控制方式是自主的,我们把它称为自主访问控制(Discretionary Access Control——DAC)。在自主访问控制下,一个用户可以自主选择哪些用户可以共享他的文件。Linux系统中有两种自主访问控制策略,一种是9位权限码(User-Group-Other),另一种是访问控制列表ACL(Access Control List)。

强制访问控制

强制访问控制(Mandatory Access Control——MAC),用于将系统中的信息分密级和类进行管理,以保证每个用户只能访问到那些被标明可以由他访问的信息的一种访问约束机制。通俗的来说,在强制访问控制下,用户(或其他主体)与文件(或其他客体)都被标记了固定的安全属性(如安全级、访问权限等),在每次访问发生时,系统检测安全属性以便确定一个用户是否有权访问该文件。其中多级安全(MultiLevel Secure, MLS)就是一种强制访问控制策略。

访问规则

保密性规则

1)仅当主体的许可证级别高于或者等于客体的密级时,该主体才能读取相应的客体。(下读)

2)仅当主体的许可证级别低于或者等于客体的密级时,该主体才能写相应的客体。(上写)

完整性规则

1)仅当主体的许可证级别低于或者等于客体的密级时,该主体才能读取相应的客体。(上读)

2)仅当主体的许可证级别高于或者等于客体的密级时,该主体才能写相应的客体。(下写)

参见

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}