访问控制系统的质量评价
摘要:“永不信任,始终验证”的零信任安全理念的落地实施,使得构建高效可靠的访问控制系统已成为企业网络安全建设的迫切需求。但随着系统规模和复杂性的增长,针对分布式系统的访问控制实现正面临着巨大的挑战,因为目标系统中可能使用了各种不同的访问控制机制,而这些机制必须正确集成起来,才能支持组织的各种安全策略。
不同的访问控制系统具有不同的功能特性,其操作运维也会对组织管理运营、员工工作效率等方面产生不同的影响。为了衡量访问控制系统的管控能力、运行成本、覆盖范围和性能质量,本文研究讨论了访问控制系统的质量评价和指标因素,重点关注系统对安全策略的管理和实施能力,以及系统健壮性和有效性,供系统设计和开发人员参考借鉴。
关键字:访问控制;评价指标;最小特权;职责分离
对于访问控制系统来说,其核心功能除了要确保访问控制策略的准确实施,还要能够对策略系统组件进行有效管理。虽然企业在选择、实现系统或应用时,很少审查其访问控制机制,但这些机制通常会对组织管理运营、用户工作效率等方面产生重要影响。在一个用户数量较多的中型企业中,其系统数量可能有几百个,而需保护的资源数量也会有数千万之多,如果用户权限配置不正确,可能导致用户无法有效履行职责,也可能会获得对非预期信息和系统的访问权限,破坏组织的安全状况。
访问策略的部署实施能力决定了企业在其业务中能够对数据提供保护和共享的程度,然而,单一的访问控制机制并不能满足各种不同的需求场景。而每种不同的访问控制机制都具有其特定的工作形式、功能特性和配置方法,并且与某一特定类型的策略紧密耦合。在实施访问控制时,不同的机制根据一组基于特定策略的用户属性、组织的运营管理状态、数据审查以及用户需求等因素,进行规则设计,并最终形成策略。
为了衡量访问控制系统的有效性及其质量,本文主要从 4 个方面来考虑其应具备的基本能力。
一、权限管理的方便性
在企业网络中,当业务场景、用户人员或应用资源发生变化时,需要根据安全策略对访问权限进行调整变更。访问控制系统的权限定义中通常包含了主体、客体、访问方式等基本策略要素,不同的访问控制机制也可能采用不同的方式来管理权限,因此具有不同的管理复杂度,另外如何快速方便地表达出相应的策略规则,也是访问控制系统应考虑的问题。
1
通过主体变更权限
例如,RBAC 利用角色实现权限管理,拥有不同角色身份的用户,可以获得该角色的权限。企业根据其业务需要创建不同的角色,并根据用户职责为其分配特定的角色。在对系统、应用调整改造时,可以通过对角色权限的修改,实现对用户权限的更改。如果某用户更换了职位,只需将其分配给与新职位对应的新角色,并把他从旧角色中删除,就可以完成权限变更。然而,在非 RBAC(例如,基于身份的访问控制)的访问控制系统中,则需要先对用户的权限进行识别、删除,然后再为他分配新权限。尽管 RBAC 在分配和撤消主体权限方面非常方便,但在为客体提供访问控制条目的分配与撤销时,与其他系统的差别并明显。
2
通过客体变更权限
与通过主体来管理权限类似,也可以通过客体来管理访问权限。例如,在多级安全策略中,按照密级对客体进行分组管理,也可以根据企业的业务需求对客体组进行管理。因此,权限变更可以通过客体组(与密级或业务需求保持一致)条目的修改来完成。
3
权限关系的表达
通常,访问控制策略由多条访问控制规则组成,这些规则都是由基本访问控制元素(包括主体、操作和客体)组成的逻辑表达式,通过用户交互接口(访问控制语言或交互式图形工具)进行编写。
由于不同的访问控制机制在表达权限时,所采用的权限关系模型不同,使得相同策略的描述方法和效果也可能不同。例如,在支持权限继承的 RBAC,如果将用户 x 分配给用户组 A,且用户组 A 继承了用户组 B,则 x 将自动获得用户组 B 的所有权限。在这个权限分配中唯一需要确定的是 x 和用户组 A 的分配关系,而在其他不支持继承的访问控制机制中,则需要额外指定 x 和用户组 B 的关系。
二、策略类型的广泛度
在信息安全在发展过程中,出现了各种各样针对不同场景、适用于不同场合的访问控制机制,安全专家也从管理层面提出了大量的信息安全原则,对于访问控制系统来说,如何有效地实施这些安全原则,需要采用不同的访问控制机制,以支撑其相应的访问控制策略。
1
最小权限原则
访问控制机制的实现需要包含两个基本功能,其一是创建代表实际用户的主体对象,其二是建立主体与用户属性的关联。无论如何实现这些功能,访问控制系统都会将用户访问请求限制在与其属性相匹配的权限能力上。为了满足最小权限原则,必须对与主体属性进行约束,缩小权限授予的范围。企业的最小访问权限策略需要通过规则来描述,其中包含了主体、操作、客体等基本访问控制元素。在实现最小权限原则时,访问控制系统需要考虑不同程度的粒度、灵活性和访问范围,以及对不同资源的分组分类。
2
职责分离原则
最基本的访问控制策略是阻止对信息的非预期访问,限制主体只能访问与其业务相关的客体。有时,企业也会对资源进行特殊目的的访问控制,以避免发生利益冲突。职责分离(SOD)在商务、工业、政府等领域具有广泛的应用。典型的职责分离主要有三种类型:静态 SOD(如 RBAC)、动态职责分离(如 Chinese-wall 模型)和基于历史的职责分离(如 Clark-Wilson 模型)。不同的访问控制机制为 SOD 提供了不同程度的支持,一般来说,具备主/客体属性指派功能的访问控制系统能够为 SOD 提供更灵活有效的支持。访问控制系统对 SOD 的支持程度取决于所支持的 SOD 种类,以及实施分离所需要的步骤。
3
访问控制规则
在访问控制系统建设过程中,还需要考虑系统对需求场景的适应程度,包括对不同控制策略的兼容性,以及决策过程的灵活性。
访问控制策略的种类可能会像使用它们的应用程序一样多,而且在很大程度上只适用于特定环境的需求。例如,军队的强制性标识策略、银行的商业完整性策略和医疗机构的保密策略都制定了其独特的策略模型,以满足内部控制和外部监管的要求。尽管这些量身定制的策略模型在其适用情况下是成功的,但若想将它们转用于其他场景,往往会事与愿违。例如,假设某文件在撰写阶段通过 MAC 策略来控制其访问,而当撰写完成后,可能改为由基于角色的策略来控制。大多数为操作系统提供的访问控制技术大都仅采用单一的策略模型,而不兼容多种模型。例如,采用 DAC 策略的系统很难实现 RBAC 策略(或其他策略)。如果一个访问控制系统支持策略的实现和演变(通过策略组合生成新策略或策略模型的扩展),就可以根据其支持的策略类型的数量或程度来评估其适用性程度,例如支持 DAC、MAC、Chinese-Wall 等典型策略。
三、控制实施的有效性
访问控制系统要实现对用户访问的控制,就需要梳理与访问相关的主客体,确定用户、资源及其访问方式,同时还要降低对访问性能的映像,体现出易用、快速、有效的策略实施能力。
1
系统的部署能力
访问控制系统在部署、配置方面的灵活性也是其质量指标之一。微内核是一种操作系统设计的方法,将系统基本特性实现为微小的内核模块,以提供弹性配置。采用微内核的访问控制机制可能会影响系统的性能,虽然它对安全体系架构中的不同策略有着更清晰的区分边界,也能够支持实现更丰富的安全策略,但是要实现策略间的切换却比较困难。将访问控制机制实现为应用程序,则会具有灵活的安装/卸载优点,但会像大多数应用程序一样,因为容易受到攻击而缺乏可靠性。采用客户端/服务器结构的访问控制系统更加灵活和安全,但它需要额外的硬件、管理成本,以及客户端和服务器之间的通信开销。
2
控制的实施范围
访问控制策略的实施范围指的是策略控制的部署范围。从横向来看,主要指控制所跨的平台或应用程序。根据访问控制系统的结构设计,其操作覆盖范围可能限制在平台、应用程序或企业环境中。例如,访问控制的作用域可以是单个主机、分布式网络或虚拟社区(如网格系统)。
从纵向来看,访问控制的实施范围可以从操作系统内核层扩展到更高的软件层,通过 API 合并、扩展应用程序、DBMS、网络等子系统的访问控制能力。例如,一个基于 RBAC 的 DBMS 要集成 Chinese-Wall 策略,那么用户必须首先根据 Chinese-Wall 策略获得授权,然后再根据其角色访问数据库。
3
策略的执行性能
访问控制策略的执行性能包括对用户访问进行决策授权所需的步骤数量,以及授权前对系统安全的检查步骤。根据访问控制系统模型,可以评估度量访问决策的计算复杂度。需要注意的是,性能度量仅对承载大量用户的系统才有意义,管理员应评估最坏情况下的用户数量,以决定是否通过该指标评价访问控制系统的质量。
四、系统管理的易用性
访问控制系统通过安全策略实现对用户访问的控制,各种不同的安全策略(如密码、身份、访问等)需要由系统实施统一的管理,以确保在全网实施一致的安全策略。
1
系统运行安全
安全性是访问控制系统的重要指标,主要考察访问控制配置是否会导致权限泄露。然而,对于一个访问控制模型(如访问控制矩阵)来说,任意配置的安全性是一个不可判决问题。通常,访问控制系统通过两种手段来实现其安全性,一种是采用针对特定场景的受限模型,另一种是采用对配置安全需求的约束表达。所以,对于访问控制系统来说,系统的安全性可以通过其所支持的安全约束种类来度量,其中包括限制模型和约束表达式,如不同类型的 SOD。
2
权限管理审查
访问控制系统应允许管理员从主体、操作、客体以及属性关系等不同视角,对系统进行查验管理。例如,管理员可以查看哪些用户对特定客体有读取权限,或者特定用户可以读取哪些客体。在大多数情况下,访问控制系统的展示内容与其访问控制机制密切相关,因为该功能实际上是对访问控制机制内部数据结构的展示。
3
策略冲突消解
在对用户访问授权时,如果存在多个相互冲突的访问规则,就会出现策略冲突。另外,策略冲突也可能是访问规则死锁的结果。例如,规则 R 依赖于某些其他规则,而这些规则又最终依赖于 R 本身,在策略决策时,用户的请求会因为策略的循环引用而永远无法做出决策。
4
策略扩展能力
访问控制策略可以作为一个应用程序来实现,并且允许对不同的访问控制规则进行组合、合并和约束。除了基本的策略定义操作之外,访问控制系统还可以分析访问控制规则的语义或语法表达式,并生成一个新的规则来封装最终的策略组合、合并和约束结果。
结束语
访问控制的实现反映了企业的安全运营需求,在评价访问控制系统时应考虑其具体的应用场景,对不同系统采取不同的衡量指标。例如,对于仅管控一个主机的访问控制系统,无需评价其控制的横向范围。或者,当企业只适用一种访问控制策略时,就无需考虑访问控制规则的多样性。另外,当选择了多个度量指标来对系统进行评价时时,还应根据企业任务的重要性来确定指标的权重。
在实际运用过程中,访问控制系统中可能会出现多种机制相互结合、扩展的情况,此时应该综合考虑各项指标。但无论如何,对访问控制系统的评价,不仅要考虑系统自身的控制能力,还要考虑其管理使用成本、对环境适配的灵活度和扩展能力等因素。
版权声明: 本文为 InfoQ 作者【权说安全】的原创文章。
原文链接:【http://xie.infoq.cn/article/ca20de7fff561f26a3340b9a7】。文章转载请联系作者。
评论