强制访问控制模型(MAC) 强制访问控制模型(MAC, Mandatory Access Control),是为了弥补DAC权限控制过于分散的问题而诞生的。

Subject被赋予一定的安全级别 Object被赋予一定的安全级别 Subject能否访问Object由双方的关系安全级别决定,这个判断通常有系统硬性限制 MAC非常适合机密机构或者其他等级观念强烈的行业,过重强调保密性,管理不够灵活。在实现上,MAC和DAC通常为每个用户赋予对客体的访问权限规则集,考虑到管理的方便,在这一过程中还经常将具有相同职能的用户聚为组,然后再为每个组分配许可权。

MAC(Mandatory Access Control)强制访问控制模型是一种安全策略,其中访问权限由操作系统或安全策略管理员集中控制,并强制执行,不取决于对象(如文件、资源等)的拥有者。在这个模型中,访问决策基于主体(如用户或进程)的授权和对象的分类。

MAC的关键特点:

  1. 集中管理:权限由中央管理机构或机制集中控制,通常无法被单个用户或资源所有者改变。
  2. 安全标签:资源被标记有敏感度标签(例如,机密、秘密或绝密),而用户和系统进程则被分配有相应的访问权限。
  3. 无泄漏原则(无泄露原则):MAC试图确保信息不会从高敏感度等级泄漏到低敏感度等级。
  4. 上下文依赖的访问决策:不仅考虑用户和文件本身的权限,还可能取决于其他条件如时间、位置、网络状态等。

实施的方式:

  1. 基于标签的实施:如SELinux使用类型强制(Type Enforcement)、角色强制(Role Enforcement)和多级安全(Multi-Level Security,MLS)来控制系统。
  2. 基于角色的实施:某些MAC系统可能结合RBAC(Role-Based Access Control)概念,定义角色并将其关联到访问权限。
  3. 基于规则的实施:一些MAC系统可能裁定特定的规则,如某种访问在特定情况下被允许或禁止。

优势和劣势:

优势:

  • 提升安全性:由于其集中和严格的控制机制,MAC增加了防止未经授权访问的能力。
  • 符合政策和法规:常用于政府或军事环境,以满足高安全标准和合规要求。

劣势:

  • 配置复杂:需要专业知识来正确配置,因为策略和标签系统可能非常复杂。
  • 灵活性较差:由于权利被严格限定,某些正常操作可能变得复杂或者变得不可能。

应用场景:

MAC是设计用来保护非常敏感或关键数据和资源的。因此,它广泛应用于军事、政府机构及其他需要非常严格的数据保护控制和保密要求的环境。尽管部署和维护MAC较为挑战,但由于它可以提供极高安全保障,所以依然是许多高安全环境的首选。