强制访问控制

本页使用了标题或全文手工转换
维基百科,自由的百科全书

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

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

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

历史背景和对多层安全的影响[编辑]

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

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

系统强度[编辑]

强度等级[编辑]

在某些系统中,用户有权决定是否向其他任何用户授予访问权限。为允许这点,所有用户都必须有所有数据的审查许可。这不是MLS系统所需必要条件。如果个人或进程可能被拒绝访问系统环境中的任何数据,则系统必须可信以强制执行MAC。由于可能存在各种级别的数据等级和用户许可,这也显示了健壮性的量化指标。例如,一个包含等级为最高机密的信息和等级为未批准的用户的系统相较于一个包含等级为绝密的信息和等级为秘密的用户的系统具有更高的健壮性。为了维持健壮性量化指标的一致性以及尽可能地消除主观人为因素,一项针对该问题的大规模科学分析和风险评估提出了标志性的测试标准,用以量化系统的安全健壮性,并根据其能够保证的安全等级为其分级。该结果记录于CSC-STD-004-85。[1]健壮性的两个相对独立的组成部分可以被定义为保障等级和功能性,两者都可以被阐述为一个系统在特定标准下能够保证的其审查的精确性。

强度评估[编辑]

实现[编辑]

参见[编辑]

脚注[编辑]

  1. ^ Technical Rational Behind CSC-STD-003-85: Computer Security Requirements. 1985-06-25 [2008-03-15]. (原始内容存档于July 15, 2007). 
  2. ^ The Common Criteria Portal. [2008-03-15]. (原始内容存档于2006-07-18). 
  3. ^ US Department of Defense. DoD 5200.28-STD: Trusted Computer System Evaluation Criteria. December 1985 [2008-03-15]. (原始内容存档于2008-03-17). 
  4. ^ Controlled Access Protection Profile, Version 1.d. National Security Agency. 1999-10-08 [2008-03-15]. (原始内容存档于2012-02-07). 
  5. ^ Protection Profile for Multi-Level Operating Systems in Environments Requiring Medium Robustness, Version 1.22. National Security Agency. 2001-05-23 [2008-03-15]. (原始内容存档于2009-03-30). 
  6. ^ National Information Assurance Partnership. The Common Criteria Evaluation and Validation Scheme Validated Products List. [2008-03-15]. (原始内容存档于2008-03-14). 
  7. ^ TOMOYO Linux, an alternative Mandatory Access Control. Linux 2 6 30. Linux Kernel Newbies. [2017-02-12]. (原始内容存档于2012-04-05). 
  8. ^ Linux 2.6.36 released 20 October 2010. Linux 2.6.36. Linux Kernel Newbies. [2017-02-12]. (原始内容存档于2018-06-10). 
  9. ^ Why doesn't grsecurity use LSM?. [2017-02-12]. (原始内容存档于2016-07-22). 
  10. ^ Matthew Conover. Analysis of the Windows Vista Security Model. 赛门铁克. [2007-10-08]. (原始内容存档于2008-03-25). 
  11. ^ Steve Riley. Mandatory Integrity Control in Windows Vista. [2007-10-08]. (原始内容存档于2007-09-29). 
  12. ^ Mark Russinovich英语Mark Russinovich. PsExec, User Account Control and Security Boundaries. [2007-10-08]. (原始内容存档于2010-04-15). 
  13. ^ TrustedBSD Project. TrustedBSD Mandatory Access Control (MAC) Framework. [2008-03-15]. (原始内容存档于2010-01-23). 
  14. ^ sandbox_init(3) man page. 2007-07-07 [2008-03-15]. (原始内容存档于2008-07-25). 
  15. ^ SEPostgreSQL-patch. [2017-02-12]. (原始内容存档于2017-02-13). 
  16. ^ Security Enhanced PostgreSQL. [2017-02-12]. (原始内容存档于2009-02-07). 
  17. ^ Trusted RUBIX. (原始内容存档于2008年11月21日). 
  18. ^ (俄文) Ключевые особенности Astra Linux Special Edition по реализации требований безопасности информации页面存档备份,存于互联网档案馆
  19. ^ Official SMACK documentation from the Linux source tree. (原始内容存档于2012-09-21). 
  20. ^ Jonathan Corbet. More stuff for 2.6.25. (原始内容存档于2012-09-21). 

参考资料[编辑]

外部链接[编辑]