随着“云大物移”的不断兴起,企业IT架构正在从“有边界”向“无边界”转变,传统的安全边界逐渐瓦解。而以5G、工业互联网为代表的新基建的不断推进,更进一步加速了“无边界”的进化过程。与此同时,零信任安全逐渐进入人们的视野,成为解决新时代网络安全的新理念、新架构、新解决方案。
本篇主要探讨零信任的访问控制模型。
01概述
零信任(Zero Trust,ZT),顾名思义就是“永不信任、持续验证”。NIST对零信任的定义是:零信任体系结构(ZTA)提供了一系列的概念、思想和组件关系,旨在消除在信息系统和服务中实施精确访问决策时的不确定性。
核心概念:所有流量都不可信;不以位置作为安全依据,为所有访问采取安全措施;采用最小授权策略和严格访问控制;所有流量都需要进行可视化和分析检查。
访问控制技术是信息系统安全的核心技术之一。访问控制是通过某种途径显示准许或限制主体对客体访问能力范围的一种方法,它是针对越权使用系统资源的防御措施,通过显示访问受保护资源,防止非法用户的入侵或因为合法用户不慎操作所造成的破坏,从而保证系统资源受控地、合法地使用。
访问控制模型是从访问控制技术的角度出发,定义了主体、客体及主体对客体的访问规划,从抽象的层次来描述访问控制约束的概念性框架,建立安全模型以适应各种各样的实现方式和应用环境。建立规范的访问控制模型是实现严格访问控制约束的基础。
在零信任网络架构下,要求系统要能够在网络环境已经被攻陷的情况下,仍然有效的降低和限制异常用户的访问行为。那么,应该如何设计零信任架构的访问控制模型呢?
首先我们来看下访问控制的发展路线。
02访问控制的发展路线
访问控制技术兴起于20世纪70年代,最初是为了解决大型主机上共享数据授权访问的管理问题。经过四十多年的蓬勃发展,访问控制技术应用领域逐渐扩大,具有代表性的模型不断涌现,如早期的自主访问控制(DAC)和强制访问控制模型(MAC);中期基于角色的访问控制(RBAC);“域”概念引入推动了基于任务的访问控制模型(TBAC);在云计算、大数据等计算模式还促进了新型的基于属性的访问控制模型(ABAC)等。
1.1早期的访问控制模型
(1)自主访问控制(DAC,Discretionary Access Control)
DAC模型是通过建立客体关联表,主要是访问控制列表的形式将主体和客体的关联性在表中组织起来。其自主性主要体现在系统中的主体可以将其拥有的权限授权给其他主体而不需要经过系统安全员的允许。即用户有权对自身所创建的访问对象(服务器、目录、文件、数据等)进行访问,并可将对这些对象的访问权授予其他用户、系统和从授予权限的用户、系统收回器访问权限。
DAC模型的优点是比较灵活,易于实现。其缺点是资源管理比较分散,主体间的关系不能在系统中明显的体现出来;最为严重的是主体可以自主地将权限授予其他主体,这样可能会造成权限传递失控,易遭受攻击,从而导致信息的泄漏。另外,如果主体、客体数量过于庞大,DAC模型将带来极大的系统开销,因此很少被应用于大型系统中。
(2)强制访问控制(MAC,Mandatory Access Control)
MAC是美国政府和军方源于对信息机密性的要求以及防止木马攻击而研发,其基本思想是依据主体和客体的安全属性的级别来决定主体是否拥有对客体的访问权限,主要用于多层次安全级别的军事系统中。
在强制访问控制机制下,系统内的每个用户或主体被赋予一个安全属性来表示能够访问客体的敏感程度,同样系统内的每个客体也被赋予一个安全属性,以反映其本身的敏感程度。系统通过比较主体和客体相应的安全属性的级别来决定是否授予一个主体对客体的访问请求。安全属性由系统策略管理员分配,具有强制性,用户或用户进程不能改变自身或其它主、客体的安全属性。
MAC模型的优点是较高的安全性,可以通过信息的单向流动来防止机密信息的泄漏,以此抵御攻击;同时,由于用户不能改变自身或其他客体的属性,MAC可以防止用户滥用职权。其缺点是灵活性较低,权限不能动态变化,授权管理较为困难,对用户恶意泄漏信息无能为力。
1.2中期的访问控制模型
(1)基于角色的访问控制(RBAC,Role-Based Access Control)
为了解决DAC和MAC将权限直接分配给主体,造成管理困难的缺陷。在访问控制模型中引入了“角色”的概念,即RBAC。所谓角色,就是一个或一群用户在组织内可进行的操作的集合。RBAC通过引入角色这一中介,对角色权限的更改将自动更新拥有该角色的每个用户的权限。如果用户改变了角色,其权限也随之改变。
RBAC模型的优点是通过引入“角色”的概念,实现了用户和权限的逻辑分离,从而大大简化了授权管理,也使其接近日常的组织管理规则,能够实现最小权限原则,实用性强。其缺点是由于一个用户可以同时激活多个角色,约束颗粒较大,易造成用户权限过大带来的安全隐患,主客体之间联系较弱,可扩展性不强,难以适用于分布式系统中。
(2)基于对象的访问控制(OBAC,Object-Based Access Control)
OBAC从信息系统的数据差异变化和用户需求出发,有效地解决了信息数据量大、数据种类繁多、数据更新变化频繁的大型管理信息系统的安全管理。OBAC从受控对象的角度出发,将访问主体的访问权限直接与受控对象相关联,一方面定义对象的访问控制列表,增、删、修改访问控制项易于操作,另一方面,当受控对象的属性发生变化,或者受控对象发生继承和派生行为时,无须更新访问主体权限,只需要修改受控对象的相应访问控制项即可,从而减少了访问主体的权限管理,降低了授权数据管理的复杂性。
(3)基于任务的访问控制(TBAC,Task-Based Access Control)
访问权限与任务结合,每个任务的执行都被看做是主体使用相关访问权限访问客体的过程。在任务执行过程中,权限被消耗,当权限用完时,主体就不能再访问客体了。
系统授予给用户的访问权限,不仅仅与主体、客体有关,还与主体当前执行的任务、任务的状态有关。客体的访问控制权限并不静止不变的,而是随着执行任务的上下文环境的变化而变化。
1.3新型访问控制模型
(1)基于属性的访问控制(ABAC,Attribute-Based Access Control)
ABAC是一种细粒度的访问管理方法,其中,基于已分配给用户、操作、资源或环境的已定义规则,决定批准或拒绝对特定信息的访问请求。
针对复杂信息系统中细粒度访问控制和大规模用户动态扩展问题,将实体属性(组)的概念贯穿于访问控制策略、模型和实现机制三个层次,通过主体、客体、权限和环境属性的统一建模,描述授权和访问控制约束,使其具有足够的灵活性和可扩展性。
ABAC模型的优点是框架式的,可与其他访问控制模型结合(如RBAC);缺点是所有要素均需要以属性形式进行描述,一些关系用基本的属性不易描述。
(2)基于策略的访问控制(PBAC,Policy-Based Access Control)
PBAC是一种将角色和属性与逻辑结合以创建灵活的动态控制策略的方法。与ABAC一样,它使用许多属性来确定访问权限。它支持环境和上下文控制,因此可以设置策略以在特定时间和特定位置授予对资源的访问权,甚至评估身份和资源之间的关系。可以快速调整政策,并为给定的时间段设置政策(例如,应对违规或其他紧急情况)。可以轻松地添加、删除或修改用户组,并通过单击撤消过时的权限。PlainID公司的Policy Manager提供了PBAC的支持。
(3)下一代访问控制(NGAC,Next Generation Access Control)
下一代访问控制(NGAC)是对传统访问控制的重新发明,以适应现代、分布式、互联企业的需求。NGAC的设计是可扩展的,支持广泛的访问控制策略,同时执行不同类型的策略,为不同类型的资源提供访问控制服务,并在面对变化时保持可管理。NGAC遵循一种基于属性的构造,其中特征或属性用于控制对资源的访问,并描述和管理策略。
该标准规定了NGAC框架的体系结构、安全模型和接口,以确保其在不同类型的实现环境中在一系列可伸缩性级别上实现,并获得必要级别的内聚和功能,以在系统级别上正确有效地操作。
03零信任访问控制模型的思考
在零信任的访问控制模型中,要求在没有传统边界的动态世界中实现一致的策略。我们绝大多数人都在混合环境中工作,数据从公司服务器或云端流向办公室、家里、酒店、车中,以及提供开放WIFI热点的咖啡馆。
另外,随着用户设备类型、数量的激增,也增加了数据暴露的风险,比如PC、笔记本电脑、智能手机、平板电脑和其他物联网设备。设备的多样性让创建和保持访问策略一致性成为了非常困难的事情。
过去,访问控制的方法是静态的,采用DAC、MAC、RBAC就可以很好的解决访问控制的问题。如今,网络访问必须是动态的和流动的,要支持基于身份和基于应用的动态的访问控制。
高级访问控制策略应可动态调整,以响应不断进化的风险因素,使已被入侵的公司或组织能够隔离相关员工和数据资源以控制伤害。访问控制规则必须依据风险因素而改变,也就是说,公司企业应在现有网络及安全配置的基础上,部署运用人工智能(AI)和机器学习的安全分析层。实时识别威胁并自动化调整访问控制规则是零信任访问控制模型的主要实现目标。
因此,零信任访问控制模型不应局限于某种访问控制模型,而应根据所处理数据的类型及敏感程度,确定采用那种访问控制模型,无论是旧有的自主访问控制(DAC)和强制访问控制(MAC)、现今最常用的基于角色的控制模型(RBAC)、最新的基于属性的访问控制模型(ABAC),单独都无法满足零信任安全的所有场景,只有协同使用多种技术才可以达成所需访问控制的等级和需求。
来源:freebuf.com 2021-07-05 09:44:01 by: Enlink
相关推荐: 微处理器权限管理之——描述符表 – 作者:lhkhk
段描述符表格式段描述符是GDT或LDT中的数据结构,可为处理器提供段的大小和位置以及访问控制和状态信息。 段描述符通常是由编译器,链接器,加载器或操作系统或执行程序创建的,而不是由应用程序创建的。 图1说明了所有类型的段描述符的通用描述符格式。图1图2是在对w…
请登录后发表评论
注册